Skip to content

Commit c504883

Browse files
Backport PR #1272 on branch 2.x (Correct minimum versions in dependency version ranges) (#1275)
* Backport PR #1272: Correct minimum versions in dependency version ranges * loosen jupyter_server version range for 2.x --------- Co-authored-by: David L. Qiu <[email protected]>
1 parent a610d91 commit c504883

File tree

8 files changed

+23
-21
lines changed

8 files changed

+23
-21
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Documentation is available on [ReadTheDocs](https://jupyter-ai.readthedocs.io/en
2222

2323
You will need to have installed the following software to use Jupyter AI:
2424

25-
- Python 3.8 - 3.12
25+
- Python 3.9 - 3.12
2626
- JupyterLab 4 or Notebook 7
2727

2828
In addition, you will need access to at least one model provider.

docs/source/users/index.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ please see the {doc}`developer's guide </developers/index>`.
1111
## Prerequisites
1212

1313
You can run Jupyter AI on any system that can run a supported Python version
14-
from 3.8 to 3.12, including recent Windows, macOS, and Linux versions.
14+
from 3.9 to 3.12, including recent Windows, macOS, and Linux versions. Python
15+
3.8 support is also available in Jupyter AI v2.29.1 and below.
1516

1617
If you use `conda`, you can install Python 3.12 in your environment by running:
1718

packages/jupyter-ai-magics/pyproject.toml

+6-5
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@ build-backend = "hatchling.build"
66
name = "jupyter_ai_magics"
77
readme = "README.md"
88
license = { file = "LICENSE" }
9-
requires-python = ">=3.8"
9+
requires-python = ">=3.9"
1010
classifiers = [
1111
"Framework :: Jupyter",
1212
"License :: OSI Approved :: BSD License",
1313
"Programming Language :: Python",
1414
"Programming Language :: Python :: 3",
15-
"Programming Language :: Python :: 3.8",
1615
"Programming Language :: Python :: 3.9",
1716
"Programming Language :: Python :: 3.10",
1817
"Programming Language :: Python :: 3.11",
@@ -26,9 +25,11 @@ dependencies = [
2625
"importlib_metadata>=5.2.0",
2726
"langchain>=0.3.0,<0.4.0",
2827
"langchain_community>=0.3.0,<0.4.0",
29-
"pydantic~=2.0",
30-
"typing_extensions>=4.5.0",
31-
"click~=8.0",
28+
# pydantic <2.10.0 raises a "protected namespaces" error in JAI
29+
# - See: https://docs.pydantic.dev/latest/api/config/#pydantic.config.ConfigDict.protected_namespaces
30+
"pydantic>=2.10.0,<3",
31+
# click>=8.1 is required by dask>=2023.11.0
32+
"click>=8.1.0,<9",
3233
"jsonpath-ng>=1.5.3,<2",
3334
]
3435

packages/jupyter-ai-module-cookiecutter/{{cookiecutter.root_dir_name}}/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ extension.
66

77
## Requirements
88

9-
- Python 3.8 - 3.12
9+
- Python 3.9 - 3.12
1010
- JupyterLab 4
1111

1212
## Install

packages/jupyter-ai-module-cookiecutter/{{cookiecutter.root_dir_name}}/pyproject.toml

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ build-backend = "hatchling.build"
66
name = "{{ cookiecutter.python_name }}"
77
readme = "README.md"
88
license = { file = "LICENSE" }
9-
requires-python = ">=3.8"
9+
requires-python = ">=3.9"
1010
classifiers = [
1111
"Framework :: Jupyter",
1212
"Framework :: Jupyter :: JupyterLab",
1313
"Framework :: Jupyter :: JupyterLab :: 4",
1414
"License :: OSI Approved :: BSD License",
1515
"Programming Language :: Python",
1616
"Programming Language :: Python :: 3",
17-
"Programming Language :: Python :: 3.8",
1817
"Programming Language :: Python :: 3.9",
1918
"Programming Language :: Python :: 3.10",
2019
"Programming Language :: Python :: 3.11",

packages/jupyter-ai-test/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ environment. This package should never published on NPM or PyPI.
66

77
## Requirements
88

9-
- Python 3.8 - 3.12
9+
- Python 3.9 - 3.12
1010
- JupyterLab 4
1111

1212
## Install

packages/jupyter-ai-test/pyproject.toml

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ build-backend = "hatchling.build"
66
name = "jupyter_ai_test"
77
readme = "README.md"
88
license = { file = "LICENSE" }
9-
requires-python = ">=3.8"
9+
requires-python = ">=3.9"
1010
classifiers = [
1111
"Framework :: Jupyter",
1212
"Framework :: Jupyter :: JupyterLab",
1313
"Framework :: Jupyter :: JupyterLab :: 4",
1414
"License :: OSI Approved :: BSD License",
1515
"Programming Language :: Python",
1616
"Programming Language :: Python :: 3",
17-
"Programming Language :: Python :: 3.8",
1817
"Programming Language :: Python :: 3.9",
1918
"Programming Language :: Python :: 3.10",
2019
"Programming Language :: Python :: 3.11",

packages/jupyter-ai/pyproject.toml

+10-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
66
name = "jupyter_ai"
77
readme = "README.md"
88
license = { file = "LICENSE" }
9-
requires-python = ">=3.8"
9+
requires-python = ">=3.9"
1010
classifiers = [
1111
"Framework :: Jupyter",
1212
"Framework :: Jupyter :: JupyterLab",
@@ -16,24 +16,25 @@ classifiers = [
1616
"License :: OSI Approved :: BSD License",
1717
"Programming Language :: Python",
1818
"Programming Language :: Python :: 3",
19-
"Programming Language :: Python :: 3.8",
2019
"Programming Language :: Python :: 3.9",
2120
"Programming Language :: Python :: 3.10",
2221
"Programming Language :: Python :: 3.11",
2322
"Programming Language :: Python :: 3.12",
2423
]
2524
dependencies = [
26-
"jupyter_server>=1.6,<3",
27-
"aiosqlite>=0.18",
25+
# jupyter_server>=2.4 is required in JL4
26+
"jupyter_server>=2.4.0,<3",
2827
"importlib_metadata>=5.2.0",
29-
"pydantic~=2.0",
28+
# pydantic <2.10.0 raises a "protected namespaces" error in JAI
29+
# - See: https://docs.pydantic.dev/latest/api/config/#pydantic.config.ConfigDict.protected_namespaces
30+
"pydantic>=2.10.0,<3",
3031
"jupyter_ai_magics>=2.13.0",
3132
"dask[distributed]",
3233
# faiss-cpu is not distributed by the official repo.
3334
# v1.8.0.post0 should be excluded as it lacks macOS x86 wheels.
3435
"faiss-cpu>=1.8.0,<2.0.0,!=1.8.0.post0",
35-
"typing_extensions>=4.5.0",
36-
"traitlets>=5.0",
36+
# traitlets>=5.6 is required in JL4
37+
"traitlets>=5.6",
3738
"deepmerge>=2.0,<3",
3839
]
3940

@@ -54,7 +55,8 @@ help = "jupyter_ai.chat_handlers.help:HelpChatHandler"
5455

5556
[project.optional-dependencies]
5657
test = [
57-
"jupyter-server[test]>=1.6,<3",
58+
# jupyter_server>=2.4 is required in JL4
59+
"jupyter_server[test]>=2.4.0,<3",
5860
"coverage",
5961
"pytest",
6062
"pytest-asyncio",

0 commit comments

Comments
 (0)