element-hq / element-hq/synapse

Migrate from Poetry to UV for installing dependencies

Open
#19,566 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This is a meta-issue intended to gather all the sub-tasks which will let us move away from Poetry to uv.

We would like to move to `uv` for quicker installs and generally a better developper experience. This shouldn't matter to most people other than developers, as we already moved off the poetry build backend for our package.

### Not tracked yet

1. **CI workflows** — All workflows using `matrix-org/setup-python-poetry` + `poetry run` (`tests.yml`, `latest_deps.yml`, `twisted_trunk.yml`, `fix_lint.yaml`). This is the bulk of the migration work and has no issue.

2. **Dev scripts** using `poetry run`:
- `.ci/scripts/test_export_data_command.sh`
- `.ci/scripts/test_synapse_port_db.sh`
- `scripts-dev/make_full_schema.sh`
- `scripts-dev/release.py` (calls `poetry version` to bump/read version)

3. **`pyproject.toml` cleanup** — `[tool.poetry]` section (packages, requires-poetry, build script)

4. **`flake.nix`** — `languages.python.poetry.enable = true` and poetry config

5. **Documentation** — `docs/development/dependencies.md` (entire poetry cheatsheet), `docs/development/contributing_guide.md`, `docs/workers.md`, `docs/upgrade.md`

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the listed CI workflows, dev scripts, pyproject.toml, flake.nix, and development and upgrade documentation to map every Poetry reference. Check the workflows and scripts first, then track the migration across the listed areas. Done means the remaining Poetry configuration, commands, and documentation references have been addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, ci-cd, devops, documentation, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.