Skip to content

Make uv sync reproducible on Python 3.12 and macOS#12

Open
charliechenye wants to merge 8 commits into
mainfrom
chore/uv-python312-dev-environment
Open

Make uv sync reproducible on Python 3.12 and macOS#12
charliechenye wants to merge 8 commits into
mainfrom
chore/uv-python312-dev-environment

Conversation

@charliechenye

Copy link
Copy Markdown
Owner

What changed

  • pin the contributor interpreter to Python 3.12 with .python-version
  • move pytest and Ruff from an optional extra into the standard dev dependency group so plain uv sync installs the full development toolchain
  • commit a universal uv.lock
  • migrate CI from ad-hoc pip installation to uv sync --locked and uv run
  • add a macOS ARM64 / Python 3.12 validation job
  • update contributor setup instructions for Homebrew and uv

Why

The previous configuration declared development tools under [project.optional-dependencies]. uv does not install project extras during a plain uv sync, which left fresh environments without pytest and Ruff. The new dependency-group configuration makes a clean clone reproducible with one command.

Verification

  • uv lock --check
  • clean locked sync on a fresh cache
  • uv run python -m pytest --version
  • uv run ruff --version
  • GitHub CI now validates the complete test suite on Ubuntu and macOS ARM64 using Python 3.12

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.

1 participant