You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/uv_project_notes.md

46 lines
1.4 KiB

# uv project notes
Guide: (https://www.loopwerk.io/articles/2024/migrate-poetry-to-uv/)
## install uv
Follow the [instructions](https://docs.astral.sh/uv/getting-started/installation/)
## set up a virtual environment
This assumes you have uv installed.
```bash
uv venv --python 3.12.0
source .venv/bin/activate
```
or you can run uv without setting up a virtual environment
```bash
# use --sytem to run the tool ruff not in a virtual environment
uv run ruff check --system
```
# pyproject.toml differences
In Poetry, the project is described in the [tool.poetry] section of the pyproject.toml file. In uv, the project is described in the [project] section of the pyproject.toml file.
To convert, we use ```pdm``` to get us most of the way there followin [1]
```bash
uvx pdm import pyproject.toml
```
There were several differences in the pyproject.toml file that needed to be addressed manually.
The authors field needed to be in the form:
```toml
authors = [ { name = "John Doe", email = "email"}]
license = {text = "MIT License"}
```
There weren't a lot of good docs on these formatting issues, and the serde error messages were only helpful if you had some idea of what the goal was already. I ended up referring to [1] and [2] for examples.
[1](https://packaging.python.org/en/latest/flow/#the-configuration-file)
[2](https://reinforcedknowledge.com/a-comprehensive-guide-to-python-project-management-and-packaging-concepts-illustrated-with-uv-part-i/)