Skip to content

Use uv for dependency management#50

Merged
samueljsb merged 4 commits intomainfrom
switch-to-uv
Apr 2, 2026
Merged

Use uv for dependency management#50
samueljsb merged 4 commits intomainfrom
switch-to-uv

Conversation

@samueljsb
Copy link
Copy Markdown
Contributor

@samueljsb samueljsb commented Apr 2, 2026

Before this change, dependencies were listed as 'extras' and available
we used uv's pip wrapper to install dependencies and pinned the specific
versions we use in development and CI environments in pip requirement
text files.

This change switches to using uv. We now have a single lock file for all
dependency groups, and can sync our development environments, ensuring
unused dependencies are removed.

N.B. This change is as small as we can make it to switch to uv and
dependency groups. There are further improvements to the contributing
guide to bring this project into line with other Kraken projects that
might follow later.


Builds on #51

@samueljsb samueljsb requested a review from a team as a code owner April 2, 2026 18:09
@samueljsb samueljsb force-pushed the switch-to-uv branch 2 times, most recently from 20caf56 to 525fec9 Compare April 2, 2026 18:31
@samueljsb samueljsb changed the base branch from main to drop-django-41 April 2, 2026 18:32
Copy link
Copy Markdown
Collaborator

@meshy meshy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stellar commit messages. Thank you.

Before this change, the development dependencies were listed as 'extras'
in the project metadata, making them available as installation options
from PyPI. This is not desirable: the development dependencies are not
part of the package we want to distribute.

Since this project was first set up, Python has developed the concept
of 'dependency groups', which are now supported by our tooling.
These allow us to specify groups of dependencies that can be used
in local development and CI environments without adding them to the
project/package dependencies metadata.
Before this change, dependencies were listed as 'extras' and available
we used uv's pip wrapper to install dependencies and pinned the specific
versions we use in development and CI environments in pip requirement
text files.

This change switches to using uv. We now have a single lock file for all
dependency groups, and can *sync* our development environments, ensuring
unused dependencies are removed.

N.B. This change is as small as we can make it to switch to uv and
dependency groups. There are further improvements to the contributing
guide to bring this project into line with other Kraken projects that
might follow later.
Base automatically changed from drop-django-41 to main April 2, 2026 22:37
@samueljsb samueljsb merged commit 2b25d14 into main Apr 2, 2026
18 checks passed
@samueljsb samueljsb deleted the switch-to-uv branch April 2, 2026 22:38
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.

2 participants