Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update jupyter #65824

Merged
merged 3 commits into from Aug 8, 2019

Conversation

@jonringer
Copy link
Contributor

commented Aug 3, 2019

Motivation for this change

Wanted to fix the build of jupyterlab... then just decided to update them all.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @FRidh @timokau @costrouc

@jonringer jonringer requested a review from FRidh as a code owner Aug 3, 2019

@ofborg ofborg bot added the 6.topic: python label Aug 3, 2019

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

@GrahamcOfBorg build python3Packages.json5 python3Packages.jsonschema python3Packages.jupyter_core python3Packages.jupyter_client python3Packages.jupyterlab python3Packages.jupyterlab_server

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

doing the nix-review of this right now..... maybe hold off due to jsonschema>3.... causing a lot of packages to be.... not happy

@jonringer jonringer changed the title Update jupyter [WIP] Update jupyter Aug 3, 2019

@ofborg ofborg bot requested review from globin, timokau, zimbatm and domenkozar Aug 3, 2019

@jonringer jonringer force-pushed the jonringer:update-jupyter branch 2 times, most recently from 2e9f018 to 53e540d Aug 3, 2019

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

@GrahamcOfBorg build python3Packages.jupyter_core python3Packages.jupyter_client python3Packages.jupytext

@jonringer jonringer force-pushed the jonringer:update-jupyter branch from 53e540d to 6b5a710 Aug 3, 2019

@jonringer jonringer changed the title [WIP] Update jupyter Update jupyter Aug 3, 2019

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

I had to remove the jupyterlab* packages because they depended on jsonschema>=3, which is largely incompatible with the rest of python packages.

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

@GrahamcOfBorg build python3Packages.jupyter_core python3Packages.jupyter_client python3Packages.jupytext python2Packages.jupyter_core python2Packages.jupyter_client python2Packages.jupytext

@veprbl

This comment has been minimized.

Copy link
Member

commented Aug 3, 2019

@jonringer You could add a separate jsonschema_3 attribute.

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

@veprbl that may work for non-python packages, however, python packages all share the same PYTHONPATH, so importing a jupyter package, and something which requires jsonschema~=2.0 will break one of those packages, as you don't know which you'll get if you do a import jsonschema :(. This partially works for python2 vs python3, because you're guaranteed to not mix versions of the same package.

Shared global mutable state is the worse 😢

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

If i was making an application on the other-hand, i could do that. As I could wrap my application with a specific PYTHONPATH. Since i have to worry about downstream packages, i can't in this case :(

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 3, 2019

see #65023 (comment) for more context

@veprbl

This comment has been minimized.

Copy link
Member

commented Aug 4, 2019

@jonringer
I think you are thinking of a scenario that is a bit pessimistic. Indeed, a naive addition of jsonschema_3 to jupyterlab dependencies might break its combination with some other packages, but that is only few. I have not reviewed all the list of those, but I already can tell that nobody probably wants to use snakemake or poetry in the same environment where they run jupyterlab from. If the issue becomes more pressing we can probably opt to patch the relevant import to use the direct path to jsonschema_3 instead of leaking it to the shared environment.

@FRidh

This comment has been minimized.

Copy link
Member

commented Aug 4, 2019

@veprbl as soon as we let this in we open the door for more such cases. No, we are not going to do this.

@jonringer jonringer force-pushed the jonringer:update-jupyter branch from 6b5a710 to f314fdb Aug 5, 2019

@jonringer

This comment has been minimized.

Copy link
Contributor Author

commented Aug 6, 2019

@FRidh i removed the need for having a different version of a package, this PR should be good to merge

@FRidh FRidh merged commit 1f8221c into NixOS:master Aug 8, 2019

13 checks passed

Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details

@jonringer jonringer deleted the jonringer:update-jupyter branch Aug 8, 2019

@Infinisil Infinisil referenced this pull request Aug 25, 2019
1 of 7 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.