-
Notifications
You must be signed in to change notification settings - Fork 33
Refactor: Consolidate all metadata into pyproject.toml #1726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Migrate all package metadata from setup.cfg to pyproject.toml following modern Python packaging standards (PEP 517/518/621). Changes: pyproject.toml: - Add complete [project] section with all package metadata - Package name, description, readme, license - Authors and maintainers information - Python version requirement (>=3.9) - All dependencies (runtime requirements) - All optional-dependencies (extensions, extras, style, test, tools, all) - Entry points for CLI and pytest plugin - Project URLs (Homepage, Source Code, Documentation) - Add [tool.setuptools] configuration for package discovery - Consolidate tool configurations: - [tool.versioneer] for version management - [tool.flake8] for linting - [tool.codespell] for spell checking (fixed regex escaping, excluded pyproject.toml) - [tool.mypy] with grouped module overrides per mypy documentation - [tool.pydantic-mypy] for pydantic plugin - Preserve existing [tool.black] and [tool.isort] configurations setup.cfg: - Reduce to minimal configuration - Keep only [flake8] section (doesn't support pyproject.toml) - Keep [versioneer] section (versioneer checks both files) - Remove all [metadata], [options], and mypy sections .pre-commit-config.yaml: - Exclude pyproject.toml from codespell checks (it contains codespell config comments that would trigger false positives) setup.py: - No changes (still required for versioneer integration) Verification: - Build succeeds with python -m build - Package metadata correctly preserved in wheel - All dependencies and entry points maintained - Versioneer continues to work properly 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> Conflicts: setup.cfg -- master meanwhile boosted min version of dandischema to 0.11.1 - I did the same
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1726 +/- ##
=======================================
Coverage 75.09% 75.09%
=======================================
Files 84 84
Lines 11856 11856
=======================================
Hits 8903 8903
Misses 2953 2953
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…os automagically
=== Do not change lines below ===
{
"chain": [],
"cmd": "codespell -w",
"exit": 0,
"extra_inputs": [],
"inputs": [],
"outputs": [],
"pwd": "."
}
^^^ Do not change lines above ^^^
Since no whl"s built any longer
|
as if I were to add similar workaround for h5py on mac to master I would need to deal with conflicts again. Speedy review would be appreciated, adding more eyes. |
|
FTR, we do install recent h5py on arm osx: |
Co-authored-by: Cody Baker <51133164+CodyCBakerPhD@users.noreply.github.com>
CodyCBakerPhD
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - see what tests say
|
any feedback @candleindark @asmacdo ? I will meanwhile proceed with merging (not yet releasing) but feel welcome to comment or better send a follow up PR if you see smth critical to fix up |
I think that some of the |
|
dependency groups only works for pip 25.1+ so yes but we should probably wait for that to become more standard. |
|
🚀 PR was released in |
Migrate all package metadata from setup.cfg to pyproject.toml following modern Python packaging standards (PEP 517/518/621).
Changes:
pyproject.toml:
setup.cfg:
.pre-commit-config.yaml:
setup.py:
Verification:
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
Conflicts:
setup.cfg -- master meanwhile boosted min version of dandischema to 0.11.1 - I did the same