Skip to content

Conversation

@lukewiebe
Copy link

@lukewiebe lukewiebe commented Nov 6, 2025

This PR adds the uv package manager to SOTI. It pins our dependencies to specific versions and makes it easy to install everything.

It also includes installation instructions in the README, for users and for contributors.

Completes #45.

pyproject.toml is the Python-standard manifest for the package. It's
analogous to a package.json in JavaScript.

.python-version pins the python version to 3.10. uv will download the
correct version automatically.

uv.lock pins all dependencies to exact hashes, analogous to
package.lock/yarn.lock in JavaScript. This ensures every dev on the
project gets identical dependency versions.
This commit adds a package named umsats-soti and moves the source code
into it. It also adds a package script called "soti" which can be run
using `uv run soti` (see pyproject.toml).

Since python packages force all internal imports to use the package
name, this commit also rewrites all imports across the project.

Additionally, the license is copied into the umsats-soti folder so that
PyPI understands how the project is licensed.
These instructions will need to be modified once soti is published on
PyPI.

Note that since we specify which branch to install from, I've chosen to
specify dev as the install branch for now. Once this branch is merged
into dev, the instructions will work, but they'll be broken until then.
To test, find the git+https:// URLs and replace @dev with
@feature/uv-package-manager.
@lukewiebe lukewiebe requested a review from Koloss0 November 6, 2025 00:46
Copy link
Member

@Koloss0 Koloss0 left a comment

Choose a reason for hiding this comment

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

Looks amazing. Just need one small change in the README.

@lukewiebe lukewiebe merged commit c04f194 into dev Nov 17, 2025
@lukewiebe lukewiebe deleted the feature/uv-package-manager branch November 17, 2025 17:59
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.

3 participants