diff --git a/.github/workflows/docker_build.jinja b/.github/workflows/docker_build.jinja index 940d5946..fe04146e 100644 --- a/.github/workflows/docker_build.jinja +++ b/.github/workflows/docker_build.jinja @@ -38,7 +38,7 @@ jobs: python-version: "3.11" - name: Install neurodocker - run: python -m pip install --editable .[dev] + run: python -m pip install --editable . --group test - name: Generate Dockerfile run: | diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 5bd88d51..ad872586 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -15,7 +15,7 @@ jobs: with: python-version: '3.10' - name: Install neurodocker - run: python -m pip install --editable .[all] + run: python -m pip install --editable . --group doc - name: build docs run: | make -C docs cli diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index d30341ff..7f69f455 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -38,7 +38,7 @@ jobs: python-version: ${{ matrix.python-version }} allow-prereleases: true - name: Install neurodocker - run: python -m pip install --editable .[dev] + run: python -m pip install --editable . --group test - name: Run python tests run: pytest --numprocesses auto - name: Get code coverage diff --git a/README.md b/README.md index d3d2594d..dfb20c51 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Clone the repository and install in editable mode. ``` git clone https://github.com/ReproNim/neurodocker cd neurodocker -python -m pip install --no-cache-dir --editable .[all] +python -m pip install --no-cache-dir --editable . --group dev ``` Before committing changes, initialize `prek` with `prek install`, or `pre-commit` with `pre-commit install`. This will format code with each commit to keep the style consistent. _Neurodocker_ uses `ruff` for formatting. diff --git a/pyproject.toml b/pyproject.toml index 7ee3e435..35bc02a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,6 +2,33 @@ build-backend = "hatchling.build" requires = ["hatchling>=1.27.0", "hatch-vcs"] +[dependency-groups] +dev = [ + {include-group = "doc"}, + {include-group = "minify"}, + {include-group = "test"} +] +doc = [ + "sphinx <7", + "pydata-sphinx-theme >= 0.13", + "sphinxcontrib.apidoc >= 0.3" +] +minify = [ + "docker >= 4.4.1" +] +test = [ + {include-group = "minify"}, + "codecov", + "coverage[toml]", + "mypy", + "pre-commit", + "pytest >= 6.0", + "pytest-cov >= 2.0.0", + "pytest-reportlog >= 0.1.2", + "pytest-xdist >= 2.2.0", + "types-PyYAML" +] + [project] authors = [{name = "Neurodocker Developers"}] classifiers = [