Hi all,
this is for those of you who have set up Annif development installations using the Poetry dependency management tool. Note that we have just
switched from Poetry to
uv on the main branch! This means that you have to switch too if you are working on main.
You can find more detailed instructions in the updated top-level
README, but TL;DR:
# install uv with e.g. pipx or brew
pipx install uv
brew install uv
# create a virtualenv with all the dependencies (and all extra features):
uv sync --all-extras
# you can now run annif commands via "uv run"
uv run annif --version
uv run pytest
# or you can activate the uv-created venv more permanently
source .venv/bin/activate
uv is nowadays a very popular package management tool. The main
motivations for our switch were that uv is faster than Poetry and it also has better support for managing PyTorch variants. PyTorch is getting increasingly relevant for Annif due to the current development of several new backends that rely on PyTorch (XTransformer, EBM, new NN ensemble, possibly others as well).
I hope this doesn't cause any big issues; please let us know if you encounter problems using uv with Annif.
-Osma