Skip to content

Adopt uv, ruff and typer-invoke - #18

Merged
joaonc merged 6 commits into
mainfrom
wip-2
Mar 14, 2026
Merged

Adopt uv, ruff and typer-invoke#18
joaonc merged 6 commits into
mainfrom
wip-2

Conversation

@joaonc

@joaonc joaonc commented Mar 14, 2026

Copy link
Copy Markdown
Owner

Closes #16
Closes #17

Changes

Tooling

  • uv: replaces pip/pip-tools for dependency management and venv creation
  • ruff: replaces black, isort, and flake8 for linting and formatting
  • typer-invoke: replaces invoke for task running

Structure

  • Added admin/ package with task modules: build, lint, pip, test
  • Added admin/utils.py with shared utilities (run(), DryAnnotation, etc.)
  • Moved requirements files to admin/requirements/
  • Deleted tasks.py and root-level requirements files

Config / Docs

  • Updated pyproject.toml: uv_build backend, ruff config, [tool.typer-invoke] config
  • Updated GitHub Actions workflows (linting.yml, tests.yml) to use uv
  • Updated README.md, docs/develop.md, docs/publish.md
  • Added WARP.md with development workflow documentation

Note: To complete the migration, manually uninstall pip from the virtual env:
uv pip uninstall pip

Co-Authored-By: Oz oz-agent@warp.dev

- Replace pip-tools with uv for dependency management
- Replace black/isort/flake8 with ruff for linting/formatting
- Replace invoke with typer-invoke for task running
- Add admin/ package with build, lint, pip, test task modules
- Move requirements files to admin/requirements/
- Update pyproject.toml: uv_build backend, ruff config, typer-invoke config
- Update GitHub Actions workflows to use uv
- Update README.md, docs/develop.md, docs/publish.md
- Delete tasks.py and root-level requirements files
- Add WARP.md with development workflow docs

Co-Authored-By: Oz <oz-agent@warp.dev>
@joaonc joaonc changed the title Adopt uv, ruff and typer-invoke Adopt uv, ruff and typer-invoke Mar 14, 2026
@joaonc

joaonc commented Mar 14, 2026

Copy link
Copy Markdown
Owner Author

Summary of Changes

Issue #16 — Adopt uv and ruff

Dependency management (uv replaces pip + pip-tools):

  • Updated pyproject.toml build backend to uv_build
  • Requirements files moved to admin/requirements/ and regenerated with uv pip compile
  • Deleted root-level requirements.in, requirements-dev.in, requirements.txt, requirements-dev.txt
  • GitHub Actions workflows updated to use astral-sh/setup-uv@v5 and uv commands

Linting/formatting (ruff replaces black + isort + flake8):

  • Removed [tool.black], [tool.isort], [tool.flake8] from pyproject.toml
  • Added [tool.ruff], [tool.ruff.lint], [tool.ruff.lint.isort], [tool.ruff.format]
  • Updated admin/lint.py to run ruff instead of the old tools

Docs updated: README.md, docs/develop.md, docs/publish.md, WARP.md (new)

Manual step: uninstall pip from the venv with uv pip uninstall pip


Issue #17 — Adopt typer-invoke

Task runner (typer-invoke replaces invoke):

  • Deleted tasks.py (399 lines)
  • Created admin/ package with focused task modules:
    • admin/build.pyversion, clean, publish, release
    • admin/lint.pyruff, mypy
    • admin/pip.pycompile, sync, package, upgrade, install
    • admin/test.pyunit
    • admin/utils.py — shared helpers (run(), DryAnnotation, logging, OS utils)
    • admin/__init__.py — project constants
  • Added [tool.typer-invoke] to pyproject.toml pointing to all admin modules
  • Tasks are now invoked with uv run inv <module>.<task>

joaonc and others added 5 commits March 13, 2026 20:44
- pyproject.toml: requires-python >= 3.11
- pyproject.toml: ruff target-version py311
- pyproject.toml: mypy python_version 3.11
- tests.yml: matrix uses python 3.11 instead of 3.10

Co-Authored-By: Oz <oz-agent@warp.dev>
@joaonc
joaonc merged commit 1604c7e into main Mar 14, 2026
3 checks passed
@joaonc
joaonc deleted the wip-2 branch March 14, 2026 01:58
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.

Adopt typer-invoke Adopt uv and ruff

1 participant