Upgrade to Jupyter AI v3.2.0a0 - #15
Merged
Merged
Conversation
conda-forge only ships stable jupyter-ai ~=3.0; the 3.2.0a0 pre-release and its pre-release dependency family (acp-client 0.3.x, persona-manager 0.2.x, router 0.1.x, tools 0.7.x, jupyterlab-chat 0.25.x, jupyter-server-mcp 0.3.x, ...) exist only on PyPI. Add a post-build step to the repo2docker appendix that installs the 3.2.0a0 pre-release from PyPI using uv (not plain pip) so the whole pre-release graph resolves atomically instead of leaving a half-upgraded conda env. The step runs after the lockfile env is (re)created, and is driven by a new install-jupyter-ai-prerelease.sh helper.
- install-jupyter-ai-prerelease.sh: JUPYTER_AI_EXTRAS now defaults to empty (bare jupyter-ai); set JUPYTER_AI_EXTRAS=[jupyternaut] to opt in. - environment.yml: comment out 'jupyter-ai ~=3.0.0' with a note to re-enable it (and drop the appendix step) once Jupyter AI v3.2.0 lands on conda-forge.
- environment.yml: add 'uv' (conda-forge).
- install-jupyter-ai-prerelease.sh: use ${NB_PYTHON_PREFIX}/bin/uv instead of
fetching the standalone binary; error with guidance if uv is absent (i.e. the
lockfile hasn't been regenerated since uv was added to environment.yml).
Contributor
Author
|
/condalock |
dlqqq
marked this pull request as ready for review
August 24, 2026 20:56
The post-build step is just a uv pip install, so run it inline in the appendix instead of shelling out to install-jupyter-ai-prerelease.sh (now removed).
- environment.yml: comment out jupytergis (it depends on jupyter-collaboration / RTC, which we're keeping out of this image). - Regenerate conda-linux-64.lock + conda-lock.yml so the env changes take effect: adds uv, drops the jupyter-ai family (installed via the appendix uv step) and jupytergis + jupyter-collaboration. This also fixes the CI 'uv not found' failure, since uv is now present in the committed lock.
tsnow03
approved these changes
Aug 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Upgrades Jupyter AI to the
3.2.0a0pre-release.conda-forge only ships stable
jupyter-ai ~=3.0, soenvironment.yml/conda-linux-64.lockcannot reach3.2.0a0. That pre-release — and its whole pre-release dependency family (jupyter-ai-acp-client0.3.x,jupyter-ai-persona-manager0.2.x,jupyter-ai-router0.1.x,jupyter-ai-tools0.7.x,jupyterlab-chat0.25.x,jupyter-server-mcp0.3.x, ...) — exists only on PyPI.Approach
environment.yml: comment outjupyter-ai ~=3.0.0(with a note) and adduv.appendix: after themamba env createblock, an inline step upgrades Jupyter AI from PyPI usinguv(not plainpip):uvresolves the entire pre-release graph in a single pass and only then writes, so the conda env moves atomically from one consistent state to another. Plainpiptends to upgrade the ~10 affected packages one at a time and can leave the env half-upgraded and broken.Re-enable the
environment.ymlline (bumped to~=3.2.0) and drop the appendix step once Jupyter AI v3.2.0 is on conda-forge.environment.ymlchanged (addeduv, removedjupyter-ai), soconda-linux-64.lockmust be regenerated — comment/condalockon this PR. Until the lock containsuv, the build fails at the appendix step (uv not found). This is expected; run/condalockfirst, then the build will pick upuvand layer on3.2.0a0.Draft.