Skip to content

Use dependency groups for dev and test (PEP 735)#386

Merged
JamesParrott merged 2 commits into
GeospatialPython:masterfrom
mwtoews:pep-735
May 18, 2026
Merged

Use dependency groups for dev and test (PEP 735)#386
JamesParrott merged 2 commits into
GeospatialPython:masterfrom
mwtoews:pep-735

Conversation

@mwtoews
Copy link
Copy Markdown
Contributor

@mwtoews mwtoews commented May 17, 2026

This uses PEP 735 (also described here) to provide internal development dependencies. These are moved from the optional dependencies. It also adds a lint group.

This feature requires recent versions of pip, and works like this for the dev group:

$ python -m pip install -e . --group dev

Or if the repo is installed to a different directory, specify the path to the pyproject.toml file:

$ python -m pip install ./dist/pyshp-3.0.4-py3-none-any.whl --group ./Pyshp/pyproject.toml:dev

Other tools like uv already include dev by default.

@JamesParrott
Copy link
Copy Markdown
Collaborator

Thanks Mike - that's a useful separation of concerns, and much tidier too. I appreciate it's fiddly, tinkering with the Github Actions. Great stuff.

Add "mypy" to "lint" group

Four-space formatting

Try ../Pyshp/pyproject.toml

specify --group <path-to-pyproject.toml>:test

Install deps separately for downloaded wheels
@JamesParrott JamesParrott merged commit e40495e into GeospatialPython:master May 18, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants