aiogram/CHANGES/1748.misc.rst
Alex Root Junior ce4ddb77f4
Migrate to UV (#1748)
* Switch to using `uv` for dependency management and update related project workflows and scripts

* Expand contributing documentation with instructions for using `uv`, including dependency management, testing, linting, and docs workflows.

* Add changelog entry for migration to `uv` for dependency management and workflows
2026-01-02 01:27:37 +02:00

21 lines
1.3 KiB
ReStructuredText

Migrated from ``hatch`` to ``uv`` for dependency management and development workflows.
This change improves developer experience with significantly faster dependency resolution (10-100x faster than pip), automatic virtual environment management, and reproducible builds through lockfile support.
**What changed for contributors:**
- Install dependencies with ``uv sync --all-extras --group dev --group test`` instead of ``pip install -e .[dev,test,docs]``
- Run commands with ``uv run`` prefix (e.g., ``uv run pytest``, ``uv run black``)
- All Makefile commands now use ``uv`` internally (``make install``, ``make test``, ``make lint``, etc.)
- Version bumping now uses a custom ``scripts/bump_version.py`` script instead of ``hatch version``
**What stayed the same:**
- Build backend remains ``hatchling`` (no changes to package building)
- Dynamic version reading from ``aiogram/__meta__.py`` still works
- All GitHub Actions CI/CD workflows updated to use ``uv``
- ReadTheDocs builds continue to work without changes
- Development dependencies (``dev``, ``test``) moved to ``[dependency-groups]`` section
- Documentation dependencies (``docs``) remain in ``[project.optional-dependencies]`` for compatibility
Contributors can use either the traditional ``pip``/``venv`` workflow or the new ``uv`` workflow - both are documented in the contributing guide.