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
Merged

Update jupyter #65824

merged 3 commits into from Aug 8, 2019

Conversation

jonringer
Copy link
Contributor

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
Copy link
Contributor Author

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

@jonringer
Copy link
Contributor Author

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
@jonringer jonringer force-pushed the update-jupyter branch 2 times, most recently from 2e9f018 to 53e540d Compare August 3, 2019 01:40
@jonringer
Copy link
Contributor Author

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

@jonringer jonringer changed the title [WIP] Update jupyter Update jupyter Aug 3, 2019
@jonringer
Copy link
Contributor Author

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

@jonringer
Copy link
Contributor Author

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

@veprbl
Copy link
Member

veprbl commented Aug 3, 2019

@jonringer You could add a separate jsonschema_3 attribute.

@jonringer
Copy link
Contributor Author

@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
Copy link
Contributor Author

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
Copy link
Contributor Author

see #65023 (comment) for more context

@veprbl
Copy link
Member

veprbl 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
Copy link
Member

FRidh 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
Copy link
Contributor Author

@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
@jonringer jonringer deleted the update-jupyter branch August 8, 2019 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants