Skip to content

Switch to uv#90

Open
mjs2600 wants to merge 8 commits intomainfrom
switch-to-uv
Open

Switch to uv#90
mjs2600 wants to merge 8 commits intomainfrom
switch-to-uv

Conversation

@mjs2600
Copy link
Copy Markdown
Contributor

@mjs2600 mjs2600 commented Apr 8, 2026

[tool.uv] exclude-dependencies suppresses the albumentationsopencv-python-headless transitive conflict only for uv. Plain pip install "perception[benchmarking]" still lands both OpenCV distributions, causing file-level conflicts.

Changes

  • README.md: Added "Optional extras" subsection documenting the conflict and a two-step pip workaround:
    pip install "perception[benchmarking]"
    pip install --force-reinstall --no-deps opencv-contrib-python-headless
  • pyproject.toml: Added inline note on [tool.uv] exclude-dependencies clarifying it is uv-only and pointing pip users to the README.

@mjs2600 mjs2600 requested review from Copilot and jussmi April 8, 2026 21:17
@mjs2600 mjs2600 marked this pull request as ready for review April 8, 2026 21:17
Copy link
Copy Markdown
Contributor

Copilot AI left a 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 migrates the project’s Python packaging and developer workflows from Poetry to uv + setuptools, aiming to speed up installs/CI and simplify contributor setup.

Changes:

  • Replace Poetry-based workflows with uv sync, uv build, and uv publish across Makefile and GitHub Actions.
  • Move build configuration into pyproject.toml using setuptools + setuptools-scm (dynamic versioning).
  • Simplify build setup by inlining the previous build.py Cython extension configuration into setup.py.

Reviewed changes

Copilot reviewed 9 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
setup.py Minimal setuptools entrypoint defining Cython extension build configuration.
pyproject.toml Switch from Poetry config to setuptools + setuptools-scm; add uv configuration and dependency groups.
Makefile Replace Poetry commands with uv equivalents for init, checks, and builds.
.github/workflows/ci.yaml Update CI to use uv for environment setup and running checks/tests.
.github/workflows/release.yaml Update release build/publish pipeline to use uv build + uv publish.
.github/workflows/gh-pages.yaml Pin action revisions while keeping the same GH Pages deployment flow.
README.md Update contributor instructions to reflect new init/precommit commands.
build.py Removed (logic moved into setup.py).
poetry.toml Removed (no longer using Poetry-managed virtualenv settings).
.gitignore Ignore pre-commit cache directory.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI changed the title Switch to uv Document OpenCV conflict and pip workaround for benchmarking extra Apr 8, 2026
@mjs2600 mjs2600 changed the title Document OpenCV conflict and pip workaround for benchmarking extra Switch to uv Apr 8, 2026
mjs2600 and others added 3 commits April 8, 2026 18:04
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

3 participants