Skip to content

Commit 0c6cd67

Browse files
authored
chore(dev): move dev-dependencies inside dependency-groups (#542)
* chore(dev): move dev-dependencies inside dependency-groups * fix(ci): ci was not broken
1 parent a5412a8 commit 0c6cd67

File tree

6 files changed

+142
-102
lines changed

6 files changed

+142
-102
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
uses: ssciwr/setup-mesa-dist-win@v2
9797

9898
- name: Run pytest
99-
run: uv run --python ${{ matrix.pyversion }} --frozen --extra tests pytest
99+
run: uv run --python ${{ matrix.pyversion }} --frozen --group tests --no-dev pytest
100100

101101
- name: Upload to codecov.io
102102
uses: codecov/codecov-action@v5

.readthedocs.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ build:
66
apt_packages:
77
- libpango1.0-dev
88
- ffmpeg
9+
jobs:
10+
post_create_environment:
11+
- asdf plugin add uv
12+
- asdf install uv latest
13+
- asdf global uv latest
14+
- UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv sync --group docs --no-dev --no-cache
915
sphinx:
1016
builder: html
1117
configuration: docs/source/conf.py
1218
fail_on_warning: true
13-
python:
14-
install:
15-
- method: pip
16-
path: .
17-
extra_requirements:
18-
- docs

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
(unreleased)=
1111
## [Unreleased](https://github.com/jeertmans/manim-slides/compare/v5.5.1...HEAD)
1212

13+
(unreleased-chore)=
14+
### Chore
15+
16+
- Moved `docs` and `tests` extras, as well as `dev-dependencies`,
17+
inside groups in `dependency-groups`. This could break existing code
18+
when using one of those extras, but as they were not part of the public API,
19+
we do not consider this to be a **breaking change**.
20+
[#542](https://github.com/jeertmans/manim-slides/pull/542)
21+
1322
(v5.5.1)=
1423
## [v5.5.1](https://github.com/jeertmans/manim-slides/compare/v5.5.0...v5.5.1)
1524

docs/source/contributing/workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ and development dependencies. If not already, please install this tool.
3232
With uv, installation becomes straightforward:
3333

3434
```bash
35-
uv sync --all-extras
35+
uv sync
3636
```
3737

3838
:::{note}

pyproject.toml

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22
build-backend = "hatchling.build"
33
requires = ["hatchling", "hatch-fancy-pypi-readme"]
44

5+
[dependency-groups]
6+
dev = [
7+
{include-group = "docs"},
8+
{include-group = "tests"},
9+
"bump-my-version>=0.20.3",
10+
"pre-commit>=3.5.0",
11+
]
12+
docs = [
13+
"manim-slides[magic,manim,pyqt6,sphinx-directive]",
14+
"furo>=2023.5.20",
15+
"ipykernel>=6.25.1",
16+
"myst-parser>=2.0.0",
17+
"nbsphinx>=0.9.2",
18+
"pandoc>=2.3",
19+
"pygments<2.19", # See: https://github.com/ManimCommunity/manim/issues/4104
20+
"sphinx>=7.0.1",
21+
"sphinxcontrib-programoutput>=0.18",
22+
"sphinx-design>=0.6.1",
23+
"sphinx-click>=4.4.0",
24+
"sphinx-copybutton>=0.5.1",
25+
"sphinxext-opengraph>=0.7.5",
26+
]
27+
tests = [
28+
"importlib-metadata>=8.6.1;python_version<'3.10'",
29+
"manim-slides[full,manimgl,pyqt6,pyside6,sphinx-directive]",
30+
"pytest>=7.4.0",
31+
"pytest-cov>=4.1.0",
32+
"pytest-env>=0.8.2",
33+
"pytest-missing-modules>=0.1.0",
34+
"pytest-qt>=4.2.0",
35+
"setuptools>=73.0.1",
36+
]
37+
538
[project]
639
authors = [{name = "Jérome Eertmans", email = "jeertmans@icloud.com"}]
740
classifiers = [
@@ -42,21 +75,6 @@ name = "manim-slides"
4275
requires-python = ">=3.9"
4376

4477
[project.optional-dependencies]
45-
docs = [
46-
"manim-slides[magic,manim,pyqt6,sphinx-directive]",
47-
"furo>=2023.5.20",
48-
"ipykernel>=6.25.1",
49-
"myst-parser>=2.0.0",
50-
"nbsphinx>=0.9.2",
51-
"pandoc>=2.3",
52-
"pygments<2.19", # See: https://github.com/ManimCommunity/manim/issues/4104
53-
"sphinx>=7.0.1",
54-
"sphinxcontrib-programoutput>=0.18",
55-
"sphinx-design>=0.6.1",
56-
"sphinx-click>=4.4.0",
57-
"sphinx-copybutton>=0.5.1",
58-
"sphinxext-opengraph>=0.7.5",
59-
]
6078
full = [
6179
"manim-slides[magic,manim,sphinx-directive]",
6280
]
@@ -68,15 +86,6 @@ pyqt6-full = ["manim-slides[full,pyqt6]"]
6886
pyside6 = ["pyside6>=6.6.1,!=6.8.1.1"]
6987
pyside6-full = ["manim-slides[full,pyside6]"]
7088
sphinx-directive = ["docutils>=0.20.1", "manim-slides[manim]"]
71-
tests = [
72-
"importlib-metadata>=8.6.1;python_version<'3.10'",
73-
"manim-slides[full,manimgl,pyqt6,pyside6,sphinx-directive]",
74-
"pytest>=7.4.0",
75-
"pytest-cov>=4.1.0",
76-
"pytest-env>=0.8.2",
77-
"pytest-missing-modules>=0.1.0",
78-
"pytest-qt>=4.2.0",
79-
]
8089

8190
[project.scripts]
8291
manim-slides = "manim_slides.__main__:cli"
@@ -225,10 +234,3 @@ isort = {known-first-party = ["manim_slides", "tests"]}
225234
[tool.ruff.lint.per-file-ignores]
226235
"docs/source/reference/magic_example.ipynb" = ["F403", "F405"]
227236
"tests/test_slide.py" = ["N801"]
228-
229-
[tool.uv]
230-
dev-dependencies = [
231-
"bump-my-version>=0.20.3",
232-
"pre-commit>=3.5.0",
233-
"setuptools>=73.0.1",
234-
]

uv.lock

Lines changed: 92 additions & 63 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)