@@ -24,49 +24,54 @@ classifiers = [
2424]
2525dynamic = [ " description" , " version" ]
2626dependencies = [ ]
27- optional-dependencies.docs = [
28- " click!=8.3" ,
27+ optional-dependencies.jupyter = [ " ipywidgets" ]
28+ urls.Documentation = " https://session-info2.readthedocs.io/"
29+ urls.Issues = " https://github.com/flying-sheep/session-info2/issues"
30+ urls.Source = " https://github.com/flying-sheep/session-info2"
31+ scripts.session-info = " session_info2.cli:main"
32+ scripts.session-info2 = " session_info2.cli:main" # So `uvx session-info2` works
33+
34+ [dependency-groups ]
35+ test = [
36+ " coverage[toml]>=6.5" ,
37+ " ipykernel" ,
38+ " jupyter-client" ,
39+ " pytest" ,
40+ " pytest-asyncio" ,
41+ " pytest-md" , # For GitHub report
42+ " pytest-subprocess" ,
43+ " testing-common-database" , # Example package as “test data”
44+ ]
45+ docs = [
46+ " click>=8.3.1" ,
2947 " furo" ,
3048 " hatch" ,
31- " myst-nb" ,
49+ " ipywidgets" ,
50+ " myst-nb>=1.3" ,
3251 " session-info2[notebook]" ,
3352 " sphinx" ,
3453 " sphinx-autodoc-typehints" ,
3554 " sphinx-codeautolink" ,
3655]
37- optional-dependencies.jupyter = [ " ipywidgets" ]
3856# Dependencies needed to run the notebook
39- optional-dependencies. notebook = [
57+ notebook = [
4058 " numpy" ,
4159 " session-info" ,
4260 " session-info2[jupyter]" ,
4361]
44- optional-dependencies.test = [
45- " coverage[toml]>=6.5" ,
46- " ipykernel" ,
47- " jupyter-client" ,
48- " pytest" ,
49- " pytest-asyncio" ,
50- " pytest-md" , # For GitHub report
51- " pytest-subprocess" ,
52- " testing-common-database" , # Example package as “test data”
53- ]
54- urls.Documentation = " https://github.com/flying-sheep/session-info2#readme"
55- urls.Issues = " https://github.com/flying-sheep/session-info2/issues"
56- urls.Source = " https://github.com/flying-sheep/session-info2"
57- scripts.session-info = " session_info2.cli:main"
58- scripts.session-info2 = " session_info2.cli:main" # So `uvx session-info2` works
5962
60- [tool .hatch .envs .docs ]
63+ [tool .hatch .envs .default ]
6164installer = " uv"
62- features = [ " docs" ]
65+
66+ [tool .hatch .envs .docs ]
67+ dependency-groups = [ " docs" ]
6368scripts.build = " sphinx-build -W --keep-going -b html docs docs/_build/html {args}"
6469scripts.open = " python3 -m webbrowser -t docs/_build/html/index.html"
6570scripts.clean = " git clean -fdX -- {args:docs}"
6671
6772[tool .hatch .envs .hatch-test ]
6873default-args = [ ]
69- features = [ " test" ]
74+ dependency-groups = [ " test" ]
7075extra-dependencies = [ " pyinstrument" ]
7176overrides.matrix.deps.features = [
7277 { if = [ " all" ], value = " jupyter" },
@@ -77,8 +82,7 @@ python = [ "3.14", "3.10" ]
7782deps = [ " all" , " min" ]
7883
7984[tool .hatch .envs .notebook ]
80- # installer = "uv" # https://github.com/astral-sh/uv/issues/6032
81- features = [ " notebook" ]
85+ dependency-groups = [ " notebook" ]
8286extra-dependencies = [ " ipykernel" ]
8387scripts.install-kernel = " python -m ipykernel install --user --name=session-info2 --display-name=session-info2 --env COLUMNS 110"
8488
0 commit comments