Skip to content

build: migrate from poetry to uv #48

@mrdonlee

Description

@mrdonlee

Following are the reason that uv should be chosen over poetry for python packaging and dependency management.

Reason

  • Performance: uv is significantly faster than Poetry for dependency resolution and installation
  • Modern tooling: Better integration with modern Python packaging standards
  • Simplified workflow: Single tool replacement for multiple Poetry commands

4. Workflow Updates

  • Update development environment setup instructions
  • Replace Poetry commands with uv equivalents:
    • poetry installuv sync
    • poetry adduv add
    • poetry removeuv remove
    • poetry runuv run
    • poetry shelluv shell

Command Equivalents

Poetry Command uv Command Notes
poetry install uv sync Installs all dependencies
poetry add <pkg> uv add <pkg> Adds dependency
poetry add -G dev <pkg> uv add --group dev <pkg> Adds dev dependency
poetry remove <pkg> uv remove <pkg> Removes dependency
poetry run <cmd> uv run <cmd> Runs command in virtual env
poetry shell uv shell Activates virtual shell
poetry lock uv lock Updates lock file
poetry export uv pip compile Exports requirements

Files to Update

  • pyproject.toml
  • .github/workflows/check.yml
  • .github/workflows/publish.yml
  • .github/workflows/actions/poetry/action.yml
  • README.md (documentation updates)

Additional Resources

Notes

  • uv uses the same pyproject.toml standard as other modern Python tools
  • The lock file format is different but serves the same purpose
  • Virtual environment management is built into uv

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions