ITADN

Modernize build infrastructure and drop Python 3.7 support

#98Pull Requestsiboehm 创建于 2025-10-06
S
siboehmcommented
## Summary Modernizes the build infrastructure with updates to dependencies, tooling, and CI configuration. Drops Python 3.7 support (EOL June 2023) and updates to Python 3.9+ with testing on 3.9, 3.11, and 3.13. ## Changes ### 1. Drop Python 3.7 Support ✅ - Updated minimum Python version from 3.7 to 3.9 - Updated CI test matrix: `["3.7", "3.10"]` → `["3.9", "3.11", "3.13"]` - Updated llvmlite constraint to `>=0.36,<0.45` (upper bound for compatibility until #97 is merged) - Updated PyPI publish and docs build conditions to use Python 3.9 ### 2. Migrate from setup.py to pyproject.toml ✅ - Moved all project metadata from `setup.py` to `pyproject.toml` - Removed `setup.py` (modern setuptools works with `pyproject.toml` directly) - Added `build-backend = "setuptools.build_meta"` specification - Configured `[tool.setuptools.packages.find]` for automatic package discovery ### 3. Update Dependencies and Tooling ✅ - **ruff pre-commit hook**: `v0.1.2` → `v0.13.3` (latest as of Oct 2025) - **pypa/gh-action-pypi-publish**: `v1.8.14` → `v1.12.3` - **pre-commit/action**: `v3.0.1` → `v3.0.2` - Added Python dependencies to Dependabot monitoring ### 4. Improve CI Configuration ✅ - Improved cache keys: now includes OS and architecture for better cache isolation - Modernized ruff config: added `[tool.ruff.lint]` section and `target-version = "py39"` - All version-specific conditions updated from 3.7 to 3.9 ## Testing The CI will run tests on Python 3.9, 3.11, and 3.13 to verify compatibility. ## Dependencies This PR is independent of #97 (llvmlite 0.45+ fix). After both are merged, the llvmlite upper bound can be removed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
合并状态:未合并 0 条评论