uv is a Python package and project manager. Install instructions can be found here.
To checkout use this command:
$ git clone https://github.com/Flexget/Flexget.git ~/flexget-dev
You can use whatever directory you like in place of ~/flexget-dev
.
In your checkout directory, run:
$ uv sync
This will create a virtualenv in the .venv
directory within your checkout, and install flexget in editable mode, (such that editing your checkout will directly edit the copy of flexget that runs in your venv,) and all of the needed dependencies.
To install additional dependencies such as qbittorrent use:
$ uv sync --group all
To run Flexget (or any other command) inside the venv, you can use uv run
followed by the command. e.g.
$ uv run flexget execute
or, you can explicitly run the binaries from the venv
$ ~/flexget-dev/.venv/bin/flexget execute
To upgrade your install, first pull the changes from our repo:
$ cd ~/flexget-dev
$ git pull
If the dependencies have changed, you can re-sync to upgrade all the dependencies:
$ uv sync
If you're interested in helping to improve FlexGet, or adding new plugins, please read our contribute page.