-
Notifications
You must be signed in to change notification settings - Fork 51
Modernize build process #118
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
This was added as a "compatibility layer", but no program ought to be importing this module.
ece2076 to
56a7cba
Compare
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.
Pull request overview
This pull request modernizes pyfuse3's build process by transitioning from the legacy setup.py approach to a modern pyproject.toml-based build system with uv for dependency management.
Key changes:
- Migrated from setup.py to pyproject.toml with PEP 517 build backend
- Introduced custom build backend (util/build_backend.py) for dynamic Cython extension configuration
- Added uv.lock for reproducible dependency resolution
- Updated CI/CD workflows to use uv instead of manual pip installations
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Defines project metadata, dependencies, and build configuration using modern Python packaging standards |
| util/build_backend.py | Custom build backend that wraps setuptools and dynamically configures Cython extensions based on platform |
| uv.lock | Lock file for dependency versions (contains future dates that need investigation) |
| src/pyfuse3/_pyfuse3.py | Updated version management to use importlib.metadata instead of compile-time constants |
| src/pyfuse3/init.pyx | Removed hard-coded version, now imports from _pyfuse3 module |
| setup.py | Removed legacy setup.py file |
| setup.cfg | Removed legacy configuration file |
| src/_pyfuse3.py | Removed compatibility redirect module |
| src/pyfuse3_asyncio.py | Removed compatibility redirect module |
| rst/install.rst | Updated installation instructions to reflect modern build process |
| rst/asyncio.rst | Minor documentation cleanup |
| .github/workflows/test.yml | Updated CI workflow to use uv and modern Python tooling |
| developer-notes/setup.md | Added new developer setup instructions |
| developer-notes/release_process.rst | Updated release process documentation |
| developer-notes/valgrind.md | Added valgrind testing instructions |
| MANIFEST.in | Updated to exclude additional files from distributions |
| Changes.rst | Documented removal of pyfuse3_asyncio module |
| requirements.d/rtd.txt | Removed (Cython requirement now in pyproject.toml) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
00348ee to
9c123cf
Compare
9c123cf to
bebf8ca
Compare
No description provided.