Skip to content

Update jupyter#65824

Merged
FRidh merged 3 commits intoNixOS:masterfrom
jonringer:update-jupyter
Aug 8, 2019
Merged

Update jupyter#65824
FRidh merged 3 commits intoNixOS:masterfrom
jonringer:update-jupyter

Conversation

@jonringer
Copy link
Copy Markdown
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

@ofborg ofborg bot added the 6.topic: python Python is a high-level, general-purpose programming language. label Aug 3, 2019
@jonringer
Copy link
Copy Markdown
Contributor Author

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

@jonringer
Copy link
Copy Markdown
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

@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Aug 3, 2019
@ofborg ofborg bot requested review from domenkozar, globin, timokau and zimbatm August 3, 2019 00:59
@ofborg ofborg bot added 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. labels Aug 3, 2019
@jonringer
Copy link
Copy Markdown
Contributor Author

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

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

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

@ofborg ofborg bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. and removed 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. labels Aug 3, 2019
@veprbl
Copy link
Copy Markdown
Member

veprbl commented Aug 3, 2019

@jonringer You could add a separate jsonschema_3 attribute.

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

see #65023 (comment) for more context

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

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

Comment thread pkgs/development/python-modules/jupytext/default.nix
@FRidh FRidh merged commit 1f8221c into NixOS:master Aug 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants