Skip to content

build: replace poetry with uv - #398

Open
gtfierro wants to merge 1 commit into
developfrom
gtf-uv
Open

gtfierro wants to merge 1 commit into
developfrom
gtf-uv

Conversation

@gtfierro

@gtfierro gtfierro commented Jul 23, 2026 •

Copy link
Copy Markdown
Collaborator
  • Converted pyproject.toml from Poetry to PEP 621 + uv
  • Replaced poetry.lock with uv.lock
  • Updated GitHub Actions workflows (ci.yml, cd.yml) to use uv instead of poetry
  • Updated Dockerfiles and pre-commit to use uv

No dependency or version changes

Migrate the project's packaging and workflow tooling from Poetry to uv,
keeping the dependency set, versions, extras, and Python floor identical to
`develop` (a pure tooling migration, no dependency-content changes).

- pyproject.toml: convert `[tool.poetry.*]` to PEP 621 `[project]` +
  `[dependency-groups]`; switch the build backend from poetry-core to
  hatchling with an explicit wheel/sdist target so the `buildingmotif`
  package and its builtin library data still ship. Caret constraints are
  expanded to `>=x,<next-major`; the exact pins (mypy, brick-tq-shacl) become
  `==`. The ingress extras (bacnet-ingress, xlsx-ingress, all-ingresses, all)
  regain the BAC0/openpyxl/netifaces/pytz specifiers that Poetry only carried
  in the dev group. License is declared as BSD-3-Clause with the LICENSE file
  shipped via license-files.
- lockfile: replace poetry.lock with uv.lock.
- CI/CD: swap snok/install-poetry for astral-sh/setup-uv, `poetry install`
  for `uv sync`, `poetry run` for `uv run`, `poetry build` for `uv build`;
  parallel test runs use `uv run --with pytest-xdist`.
- Dockerfiles/start.sh: install uv, `uv sync --locked`, `uv run`. The api
  image moves off the unsupported python:3.9 base to python:3.11.
- pre-commit, scripts/bump_dev_version.py, and developer docs updated to uv.

This branch has not been deployed

No deployments
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.

1 participant