5 Jan 2024 |
| @admin:nixos.org left the room. | 00:24:40 |
| teto invited guangtao. | 00:26:13 |
| teto set the room topic to "Goal is to discuss and document nix code to run multikernel jupyter frontends". | 00:27:06 |
| guangtao joined the room. | 00:32:30 |
| SomeoneSerge (Ever OOMed by Element) joined the room. | 02:26:48 |
| [0x4A6F] joined the room. | 12:46:59 |
6 Jan 2024 |
| @thomasjm:matrix.org joined the room. | 01:04:05 |
@thomasjm:matrix.org | hi all! maybe we can start here by continuing the conversation from https://github.com/NixOS/nixpkgs/pull/278315 ? | 01:06:21 |
| natsukium joined the room. | 01:52:05 |
natsukium | I don't have an opinion on PR yet, but as far as teto is concerned, I feel that the existing unfamiliar structure and terminology is a burden. | 05:51:31 |
guangtao | how about
{
jupyterLib.mkKernels = {
python = {
# the env should be a individual python env
env = pkgs.python3.withPackages [ ];
# if env == {}, then env = pkgs.python3.withPackages [ ] ++ [python.pkgs.ipykernel];
withPackages = [];
override = {
...
};
};
haskell = {
# env = pkgs.haskellPackages.ghcWithPackages (p: with p; [ ihaskell ]);
# if env == {}, then env = pkgs.haskellPackages.ghcWithPackages (p: with p; [ ihaskell ]) ++ ghcWithPackages p);
ghcWithPackages = p: [ p.ihaskell ];
override = {
display_name = "Custom Haskell";
};
};
...
};
}
| 06:21:04 |
guangtao | "It's particularly important to ensure that the env (env = (python3.withPackages (ps: with ps; [ ipykernel ]));) can be overridden, and actually, it should be easy to integrate with other 3rdSupport (poetry2nix, dream2nix, etc.) | 06:24:09 |
guangtao | * "It's particularly important to ensure that the env (env = (python3.withPackages (ps: with ps; \[ ipykernel \]));) can be overridden, and actually, it should be easy to integrate with other 3rdSupport (poetry2nix, dream2nix, etc.) | 06:24:19 |
guangtao | * "It's particularly important to ensure that the env (env = (python3.withPackages (ps: with ps; \[ ipykernel \]));) can be overridden, and actually, it would be easy to integrate with other 3rdSupport (poetry2nix, dream2nix, etc.) | 06:24:56 |
guangtao | I don't mind rewriting a more powerful jupyenv as a new project, but I hope the current nixpkgs.jupyter can exist as much as possible as a library. If there's a plan for that project, then I would just need to focus on the integration of the data-science env and other Nix ecosystems | 06:30:58 |
guangtao | * how about
{
jupyterLib.mkKernels = {
python = {
# the env should be an individual python env
env = pkgs.python3.withPackages [ ];
# if env == {}, then env = pkgs.python3.withPackages [ ] ++ [python.pkgs.ipykernel];
withPackages = [];
override = {
...
};
};
haskell = {
# env = pkgs.haskellPackages.ghcWithPackages (p: with p; [ ihaskell ]);
# if env == {}, then env = pkgs.haskellPackages.ghcWithPackages (p: with p; [ ihaskell ]) ++ ghcWithPackages p);
ghcWithPackages = p: [ p.ihaskell ];
override = {
display_name = "Custom Haskell";
};
};
...
};
}
| 06:34:51 |
guangtao | * how about
{
jupyterLib.mkKernels = {
python = {
# the env should be an individual python env
env = pkgs.python3.withPackages [ ];
# if env == {}, then env = pkgs.python3.withPackages (ps: ps withPackages) ++ [python.pkgs.ipykernel]);
withPackages = [];
override = {
...
};
};
haskell = {
# env = pkgs.haskellPackages.ghcWithPackages (p: with p; [ ihaskell ]);
# if env == {}, then env = pkgs.haskellPackages.ghcWithPackages (p: with p; [ ihaskell ]) ++ ghcWithPackages p);
ghcWithPackages = p: [ p.ihaskell ];
override = {
display_name = "Custom Haskell";
};
};
...
};
}
| 06:35:34 |
7 Jan 2024 |
| p14 joined the room. | 10:25:42 |
p14 | g'day. I just started trying to use jupyter-notebook, but discovered that in nixos somewhere between nixpkgs/690e58e11de69953a1e76d0b9cc5f8caee63badd and present, keyboard navigation of cells in command mode is broken. (Up/down arrow, j/k should move up/down cells but nothing happens).
I've been trying to isolate the issue: if I take a recent nixpkgs commit and inject old jupyter-notebook, that breaks it, so it's not jupyter/notebook versions that's causing the breakage but presumably some other package or incompatibilities between them. Therefore I suspect this is not a jupyter bug but a nixpkgs bug. Any thoughts? | 10:28:04 |
8 Jan 2024 |
| SomeoneSerge (Ever OOMed by Element) changed their display name from SomeoneSerge (UTC+2) to SomeoneSerge (hash-versioned python modules when). | 04:50:11 |
10 Jan 2024 |
@thomasjm:matrix.org | In reply to @p14:matrix.org g'day. I just started trying to use jupyter-notebook, but discovered that in nixos somewhere between nixpkgs/690e58e11de69953a1e76d0b9cc5f8caee63badd and present, keyboard navigation of cells in command mode is broken. (Up/down arrow, j/k should move up/down cells but nothing happens).
I've been trying to isolate the issue: if I take a recent nixpkgs commit and inject old jupyter-notebook, that breaks it, so it's not jupyter/notebook versions that's causing the breakage but presumably some other package or incompatibilities between them. Therefore I suspect this is not a jupyter bug but a nixpkgs bug. Any thoughts? your diagnosis sounds right. could you file a Nixpkgs issue and tag the Jupyter team? | 23:55:37 |
@thomasjm:matrix.org | In reply to @gtrunsec:matrix.org I don't mind rewriting a more powerful jupyenv as a new project, but I hope the current nixpkgs.jupyter can exist as much as possible as a library. If there's a plan for that project, then I would just need to focus on the integration of the data-science env and other Nix ecosystems this sounds like a potentially larger scope than what i had in mind.
i thought we were just trying to solve the problem of "user wants to spin up Jupyterlab/notebook/console with some set of kernels." AFAICT this is roughly what jupyenv is for too. i gather you want to be able to do things like override the Python environment with one derived from poetry2nix. i think we can probably support this without too much trouble, just by making sure that the components that go into each kernel are easy to override.
if there's more to this then maybe a design doc is called for.
| 23:58:37 |
11 Jan 2024 |
guangtao |
i think we can probably support this without too much trouble, just by making sure that the components that go into each kernel are easy to override.
right, as I mentioned earlier. For me, it is sufficient to override each kernel individually and incorporate most of the kernel packages into the nixpkgs for the maintenance aspect. As for other tasks, I wii have a plan to develop a more robust jupyenv to fulfill those requirements.
| 06:31:00 |
guangtao | *
i think we can probably support this without too much trouble, just by making sure that the components that go into each kernel are easy to override.
right, as I mentioned earlier. For me, it is sufficient to override each kernel individually and incorporate most of the kernel packages(ocaml/js,psql,zsh, etc) into the nixpkgs for the maintenance aspect. As for other tasks, I wii have a plan to develop a more robust jupyenv to fulfill those requirements.
| 06:31:29 |
guangtao | *
i think we can probably support this without too much trouble, just by making sure that the components that go into each kernel are easy to override.
right, as I mentioned earlier. For me, it is sufficient to override each kernel individually and incorporate most of the kernels package(ocaml/js,psql,zsh, etc) into the nixpkgs for the maintenance aspect. As for other tasks, I wii have a plan to develop a more robust jupyenv to fulfill those requirements.
| 06:31:38 |
12 Jan 2024 |
natsukium | In reply to @p14:matrix.org g'day. I just started trying to use jupyter-notebook, but discovered that in nixos somewhere between nixpkgs/690e58e11de69953a1e76d0b9cc5f8caee63badd and present, keyboard navigation of cells in command mode is broken. (Up/down arrow, j/k should move up/down cells but nothing happens).
I've been trying to isolate the issue: if I take a recent nixpkgs commit and inject old jupyter-notebook, that breaks it, so it's not jupyter/notebook versions that's causing the breakage but presumably some other package or incompatibilities between them. Therefore I suspect this is not a jupyter bug but a nixpkgs bug. Any thoughts? I'm still not sure what's causing the problem. git bisect says this commit caused it.
first bad commit: [39bd27fd2e71dbcf87efdb675500496fa3cd2633] python311Packages.jupyterlab: 4.0.6 -> 4.0.9
| 06:01:23 |
natsukium | In reply to @p14:matrix.org g'day. I just started trying to use jupyter-notebook, but discovered that in nixos somewhere between nixpkgs/690e58e11de69953a1e76d0b9cc5f8caee63badd and present, keyboard navigation of cells in command mode is broken. (Up/down arrow, j/k should move up/down cells but nothing happens).
I've been trying to isolate the issue: if I take a recent nixpkgs commit and inject old jupyter-notebook, that breaks it, so it's not jupyter/notebook versions that's causing the breakage but presumably some other package or incompatibilities between them. Therefore I suspect this is not a jupyter bug but a nixpkgs bug. Any thoughts? * I'm still not sure what's causing the problem. git bisect says this commit caused it.
first bad commit: [39bd27fd2e71dbcf87efdb675500496fa3cd2633] python311Packages.jupyterlab: 4.0.6 -> 4.0.9
| 06:01:35 |
natsukium | I looked into this issue and could only find that something in the jupyterlab 4.0.6 -> 4.0.7 broke the nixpkgs notebook shortcut(Up/Down).
I can't see the same regression in jupyterlab or nbclassic.
But I'm not interested in pursuing this issue any further.
I tried the pre-release jupyterlab 4.1.0b0 on Ubuntu and macOS, but this version does not provide such shortcuts at all. | 08:59:37 |
p14 | In reply to @natsukium:matrix.org
I'm still not sure what's causing the problem. git bisect says this commit caused it.
first bad commit: [39bd27fd2e71dbcf87efdb675500496fa3cd2633] python311Packages.jupyterlab: 4.0.6 -> 4.0.9
Thanks for the bisect, I can reproduce 39bd27fd2e71dbcf87efdb675500496fa3cd2633 as the first bad commit.
I can further elaborate that the issue appears between 4.0.6 and 4.0.7. I did that by taking that bad commit and overriding the src to acquire the 4.0.7 wheel.
| 15:11:27 |
p14 | So I tried to bisect jupyterlab, but that was a bit of a waste of time because it just points at the commit where all the typescript dependencies got bumped in the package.json: https://github.com/jupyterlab/jupyterlab/commit/fa7fb591e8654ae446998a588d067841e375c542
Does anyone understand how jupyter is put together and if it's possible to properly bisect the changes to it? I assume those things do live within the github:jupyterlab/jupyterlab repo and it should be bisectable... | 15:42:52 |