element-hq / element-hq/synapse
Migrate from Poetry to UV for installing dependencies
- 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
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