Skip to content

Conversation

@JeremieGince
Copy link
Owner

@JeremieGince JeremieGince commented Oct 17, 2025

Description

This pull request migrates the project from using Poetry to using uv for dependency management and virtual environment handling, both in the development workflow and in CI/CD pipelines. It updates the pyproject.toml to remove Poetry-specific configuration, introduces uv dependency groups, and revises the GitHub Actions workflows and documentation to use uv commands. This change aims to simplify and speed up dependency management, improve caching, and modernize the project's Python tooling.

Dependency management and configuration:

  • Replaced Poetry configuration in pyproject.toml with uv configuration, including new [dependency-groups] for dev and docs, and added [tool.uv] settings to enable uv-based package management. Removed [tool.poetry] and related dependency groups. [1] [2] [3]
  • Updated the README.md to document uv-based installation and development workflows, providing new instructions for creating virtual environments and syncing dependencies. [1] [2]

Continuous Integration (CI) workflow updates:

  • Updated .github/workflows/build_dist.yml, .github/workflows/docs.yml, and .github/workflows/tests.yml to install and use uv for creating virtual environments, installing dependencies, running tests, building distributions, and other scripted tasks. All Poetry commands and manual venv activations are replaced with uv equivalents. [1] [2] [3] [4] [5] [6] [7]

Build and documentation improvements:

  • Ensured all build, lint, test, and documentation steps in CI use uv run for consistent environment management and to leverage uv's caching and speed improvements. [1] [2] [3] [4] [5] [6]

These changes streamline dependency management, reduce boilerplate, and improve the reliability and performance of local and CI workflows.


Checklist

Please complete the following checklist when submitting a PR. The PR will not be reviewed until all items are checked.

  • All new features include a unit test.
    Make sure that the tests passed and the coverage is
    sufficient by running pytest tests --cov=src --cov-report=term-missing.
  • All new functions and code are clearly documented.
  • The code is formatted using Black.
    You can do this by running black src tests.
  • The imports are sorted using isort.
    You can do this by running isort src tests.
  • The code is type-checked using Mypy.
    You can do this by running mypy src tests.

JeremieGince and others added 5 commits October 17, 2025 11:00
Replaces Poetry with uv in all GitHub Actions workflows and updates the README with uv-based installation instructions. Removes poetry.lock, adds uv.lock, and updates pyproject.toml accordingly. This change aims to improve dependency management speed and reliability using uv.
Replaces 'python -m build' with 'build' in the GitHub Actions workflow for building distributions. Also removes old build artifacts from the dist directory.
Updated the test workflow to execute 'twine check' via 'uv run' for consistency with other build steps.
Replaces the 'uv run build' command with 'uv run python -m build' for building distributions in the GitHub Actions test workflow. This ensures compatibility and explicit usage of the build module.
Migrate from Poetry to uv for dependency management
@github-actions
Copy link
Contributor

github-actions bot commented Oct 17, 2025

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
21 21 100% 98% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: 4f85155 by action🐍

Removed the conditional disabling the Build-Dist job to re-enable the build workflow. Added a conditional to the PyPI publish step to prevent publishing distributions to PyPI for now.
@JeremieGince JeremieGince merged commit c3a735e into main Oct 17, 2025
8 checks passed
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.

2 participants