-
Notifications
You must be signed in to change notification settings - Fork 1
chore: Simplify toolchain to use UV for build and environment management #293
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
- remove setup.py as the last bit of information is moved over
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 PR modernizes the Python toolchain by migrating from setuptools/Pipfile to UV for build and environment management. The changes include adopting hatchling as the build backend, implementing dynamic versioning via uv-dynamic-versioning, and updating CI/CD workflows to use UV tooling.
Key Changes:
- Replaced setup.py and Pipfile with pyproject.toml configuration for UV
- Migrated from setuptools to hatchling build backend with uv-dynamic-versioning
- Updated all GitHub Actions workflows to use UV and astral-sh/setup-uv
Reviewed Changes
Copilot reviewed 15 out of 17 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| unix/uv.lock | New lock file for UV dependency management with all project dependencies |
| unix/pyproject.toml | Complete project configuration migrated to modern pyproject.toml format with hatchling and UV |
| unix/src/machine_stats/_version.py | Dynamic version retrieval using importlib.metadata |
| unix/setup.py | Removed legacy setuptools configuration |
| unix/requirements.txt | Removed in favor of pyproject.toml dependencies |
| unix/Pipfile | Removed in favor of pyproject.toml dependencies |
| unix/Pipfile.lock | Removed in favor of uv.lock |
| unix/dev-requirements.txt | Removed in favor of pyproject.toml dev dependencies |
| unix/flake.nix | Updated devenv to use UV instead of venv |
| unix/README.md | Updated documentation and removed legacy RHEL 5 section |
| unix/CONTRIBUTING.md | Updated contributor guide with UV commands |
| .github/workflows/python-tests.yml | Migrated to UV with setup-uv action |
| .github/workflows/pypi-upload.yml | Simplified build and publish using UV |
| .github/workflows/default-prechecks-unix.yml | Updated Python version to 3.10 |
| .github/workflows/codeql-analysis.yml | Updated actions/checkout to v5 |
| .github/workflows/advanced-prechecks-unix.yml | Updated Python versions and checkout action |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot have I properly transfered the settings from setup.py to pyproject.toml? |
|
@justinbarclay I've opened a new pull request, #294, to work on those changes. Once the pull request is ready, I'll request review from you. |
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
Copilot reviewed 15 out of 17 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This gets rid of the need for
pipenv,pip,wheel,twine, andvenv.The major concern is if I've configured the tool correctly to release machine_stats to pypi