Skip to content

Commit 065cba5

Browse files
authored
Revert "Dependency groups (#4463)" (#4492)
This reverts commit 7bfd7f2.
1 parent e4db289 commit 065cba5

File tree

5 files changed

+53
-61
lines changed

5 files changed

+53
-61
lines changed

.github/workflows/core.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,7 @@ jobs:
205205
pip install --verbose $EXTRA_PIP_FLAGS \
206206
--no-binary h5py \
207207
--extra-index-url https://download.pytorch.org/whl/cpu \
208-
"$(echo ./firedrake-repo/dist/firedrake-*.tar.gz)"
209-
210-
pip install -U pip
211-
pip install --group ./firedrake-repo/pyproject.toml:ci
208+
"$(echo ./firedrake-repo/dist/firedrake-*.tar.gz)[ci,docs]"
212209
213210
firedrake-clean
214211
pip list

docker/Dockerfile.vanilla

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,5 @@ ENV CFLAGS="-mtune=generic" CPPFLAGS="-mtune=generic"
6161
ENV MPICC=$CC
6262

6363
# Install Firedrake
64-
RUN pip install -U pip \
65-
&& git clone https://github.com/firedrakeproject/firedrake.git /opt/firedrake --branch release \
66-
&& pip install --verbose --no-binary h5py --editable /opt/firedrake --group /opt/firedrake/pyproject.toml:docker
64+
RUN pip install --verbose --no-binary h5py --src /opt \
65+
--editable git+https://github.com/firedrakeproject/firedrake.git@release#egg=firedrake[docker]

docs/source/install.rst

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -586,14 +586,10 @@ should be followed:
586586
$ pip install $PETSC_DIR/src/binding/petsc4py
587587
$ pip install -r ./firedrake/requirements-build.txt
588588
589-
#. Install Firedrake in editable mode without build isolation along with
590-
any developer dependencies::
589+
#. Install Firedrake in editable mode without build isolation::
591590

592-
$ pip install --no-build-isolation --no-binary h5py --editable './firedrake' --group ./firedrake/pyproject.toml:dev
591+
$ pip install --no-build-isolation --no-binary h5py --editable './firedrake[check]'
593592

594-
.. note::
595-
Installing the developer dependencies requires pip to be version 25.1
596-
or greater. You may need to run ``pip install -U pip`` first.
597593

598594
Editing subpackages
599595
-------------------

pyproject.toml

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -61,43 +61,12 @@ firedrake-preprocess-bibtex = "firedrake.scripts.firedrake_preprocess_bibtex:mai
6161
firedrake-status = "firedrake.scripts.firedrake_status:main"
6262
pyop2-clean = "pyop2.compilation:clear_compiler_disk_cache"
6363

64+
6465
[project.optional-dependencies]
6566
check = [
6667
"mpi-pytest>=2025.7",
6768
"pytest",
6869
]
69-
jax = [
70-
"jax",
71-
]
72-
netgen = [
73-
"ngsPETSc",
74-
]
75-
slepc = [
76-
"slepc4py==3.23.2",
77-
]
78-
torch = [ # requires passing '--extra-index-url' to work
79-
"torch",
80-
]
81-
vtk = [
82-
"vtk",
83-
]
84-
85-
[build-system]
86-
requires = [
87-
"Cython>=3.0",
88-
"libsupermesh",
89-
"mpi4py>3; python_version >= '3.13'",
90-
"mpi4py; python_version < '3.13'",
91-
"numpy",
92-
"pkgconfig",
93-
"pybind11",
94-
"setuptools>=77.0.3",
95-
"petsc4py==3.23.4",
96-
"rtree>=1.2",
97-
]
98-
build-backend = "setuptools.build_meta"
99-
100-
[dependency-groups]
10170
docs = [
10271
"bibtexparser",
10372
"matplotlib", # needed to resolve API
@@ -112,41 +81,72 @@ docs = [
11281
"sphinxcontrib-youtube",
11382
"vtk", # needed to resolve API
11483
]
115-
test = [
116-
"pytest",
117-
"mpi-pytest>=2025.7",
84+
jax = [
85+
"jax",
11886
]
119-
dev = [
120-
{include-group = "docs"},
121-
{include-group = "test"},
122-
"pytest-timeout",
123-
"pytest-xdist",
87+
netgen = [
88+
"ngsPETSc",
12489
]
125-
fulltest = [
126-
{include-group = "test"},
90+
slepc = [
91+
"slepc4py==3.23.2",
92+
]
93+
torch = [ # requires passing '--extra-index-url' to work
94+
"torch",
95+
]
96+
vtk = [
97+
"vtk",
98+
]
99+
100+
# Dependencies needed to run the full test suite
101+
ci = [
127102
"ipympl", # needed for notebook testing
128103
"jax",
129104
"matplotlib",
105+
"mpi-pytest>=2025.7",
130106
"nbval",
131107
"networkx",
132108
"ngsPETSc",
133109
"pdf2image",
134110
"pygraphviz",
135111
"pylit",
112+
"pytest",
113+
"pytest-split", # needed for firedrake-run-split-tests
114+
"pytest-timeout",
115+
"pytest-xdist",
136116
"slepc4py==3.23.2",
137117
"torch", # requires passing '--extra-index-url' to work
138118
"vtk",
139119
]
140-
docker = [ # used in firedrake-vanilla containers
141-
{include-group = "fulltest"},
120+
docker = [ # Used in firedrake-vanilla container
121+
"ipympl", # needed for notebook testing
122+
"matplotlib",
123+
"mpi-pytest>=2025.7",
124+
"nbval",
125+
"networkx",
126+
"pdf2image",
127+
"pygraphviz",
128+
"pylit",
129+
"pytest",
142130
"pytest-split", # needed for firedrake-run-split-tests
143131
"pytest-timeout",
144132
"pytest-xdist",
133+
"slepc4py==3.23.2",
145134
]
146-
ci = [
147-
{include-group = "docs"},
148-
{include-group = "docker"},
135+
136+
[build-system]
137+
requires = [
138+
"Cython>=3.0",
139+
"libsupermesh",
140+
"mpi4py>3; python_version >= '3.13'",
141+
"mpi4py; python_version < '3.13'",
142+
"numpy",
143+
"pkgconfig",
144+
"pybind11",
145+
"setuptools>=77.0.3",
146+
"petsc4py==3.23.4",
147+
"rtree>=1.2",
149148
]
149+
build-backend = "setuptools.build_meta"
150150

151151
# TODO: Convert firedrake-zenodo to a proper entrypoint script.
152152
[tool.setuptools]

scripts/check-config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def check_slepc_version() -> None:
6565
check_file_contains_pattern(
6666
REPO_ROOT / "pyproject.toml",
6767
"slepc4py==(.*)",
68-
2,
68+
3,
6969
)
7070

7171

0 commit comments

Comments
 (0)