Skip to content

Add uv compatibility#430

Merged
Grufoony merged 4 commits intomainfrom
uv
Mar 24, 2026
Merged

Add uv compatibility#430
Grufoony merged 4 commits intomainfrom
uv

Conversation

@Grufoony
Copy link
Copy Markdown
Collaborator

No description provided.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.27%. Comparing base (2ae849c) to head (8b2eba6).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #430   +/-   ##
=======================================
  Coverage   87.27%   87.27%           
=======================================
  Files          52       52           
  Lines        6461     6461           
  Branches      717      717           
=======================================
  Hits         5639     5639           
  Misses        803      803           
  Partials       19       19           
Flag Coverage Δ
unittests 87.27% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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 aims to make the Python packaging/build setup compatible with uv by moving most package metadata into pyproject.toml, simplifying setup.py, and updating CI workflows (including adding a new uv validation job).

Changes:

  • Migrate package metadata (name, dependencies, classifiers, URLs, etc.) from setup.py to pyproject.toml (PEP 621), keeping setup.py focused on the CMake extension build.
  • Add a uv-validate job to the PyPI workflow to validate uv build, source installs, and editable installs prior to building/publishing artifacts.
  • Update GitHub Actions workflow dependencies (e.g., actions/checkout, actions/setup-python, actions/upload-artifact) across CI/CD workflows.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
setup.py Removes most packaging metadata, leaving extension build + version extraction.
pyproject.toml Adds PEP 621 project metadata and setuptools package discovery configuration for uv/PEP 517 builds.
.github/workflows/pypi.yml Adds uv-validate job and updates actions versions across build/publish jobs.
.github/workflows/ruff.yml Updates actions versions used for Ruff formatting/linting.
.github/workflows/pytest.yml Updates checkout action version for the test workflow.
.github/workflows/gh-pages.yml Updates checkout action version for docs deployment.
.github/workflows/flawfinder.yml Updates checkout action version for security scanning workflow.
.github/workflows/codeql.yml Updates checkout action version for CodeQL workflow.
.github/workflows/codacy.yml Updates checkout action version for Codacy workflow.
.github/workflows/cmake_tests.yml Updates checkout action version for CMake tests workflow.
.github/workflows/cmake_examples.yml Updates checkout action version for CMake examples workflow.
.github/workflows/clang_format.yml Updates checkout action version for clang-format workflow.
.github/workflows/binding.yml Updates checkout/setup-python action versions for binding build workflow.
.github/workflows/benchmark_release.yml Updates checkout action version for benchmark workflow.

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

print(f"WARNING: {error_msg}. Using 0.0.0.dev0 for local build.")
return "0.0.0.dev0"
raise RuntimeError(error_msg)
except FileNotFoundError as e:

Check warning

Code scanning / Pylint (reported by Codacy)

Variable name "e" doesn't conform to snake_case naming style Warning

Variable name "e" doesn't conform to snake_case naming style
print(f"WARNING: {error_msg}. Using 0.0.0.dev0 for local build.")
return "0.0.0.dev0"
raise RuntimeError(error_msg)
except FileNotFoundError as e:

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Variable name "e" doesn't conform to snake_case naming style Warning

Variable name "e" doesn't conform to snake_case naming style
@Grufoony Grufoony merged commit f05d9f7 into main Mar 24, 2026
24 checks passed
@Grufoony Grufoony deleted the uv branch March 24, 2026 11:56
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