Skip to content

chore: Simplify toolchain to use UV for build and environment management#293

Merged
justinbarclay merged 7 commits into
masterfrom
jb/move-to-uv
Nov 13, 2025
Merged

chore: Simplify toolchain to use UV for build and environment management#293
justinbarclay merged 7 commits into
masterfrom
jb/move-to-uv

Conversation

@justinbarclay

@justinbarclay justinbarclay commented Nov 12, 2025

Copy link
Copy Markdown
Member
  • uv
    This gets rid of the need for pipenv, pip, wheel, twine, and venv.

The major concern is if I've configured the tool correctly to release machine_stats to pypi

Copilot AI left a comment

Copy link
Copy Markdown

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.

@justinbarclay

Copy link
Copy Markdown
Member Author

@copilot have I properly transfered the settings from setup.py to pyproject.toml?

Copilot AI commented Nov 12, 2025

Copy link
Copy Markdown

@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.

Copilot AI left a comment

Copy link
Copy Markdown

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.

@justinbarclay justinbarclay merged commit 09a82a0 into master Nov 13, 2025
8 checks passed
@justinbarclay justinbarclay deleted the jb/move-to-uv branch November 13, 2025 00:51
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.

4 participants