Development Setup for Pull Requests

June 20, 2026 ยท View on GitHub

To test your changes before submitting a pull request:

1. Prepare your Environment with uv

Ensure you have the development tools (like ruff) installed and your environment synced:

uv sync --group dev

Install the pre-commit hook that ensures linting, formatting and version upgrades through pre-commit.py

uv run pre-commit install

2. Run Quasarr

uv run Quasarr.py

3. Start the required services using the dev-services-compose.yml file

CONFIG_VOLUMES=/path/to/config docker-compose -f docker/dev-services-compose.yml up

Replace /path/to/config with your desired configuration location. The CONFIG_VOLUMES environment variable is mandatory.

By default, only JDownloader and flaresolverr-next are enabled. See next step how to emulate supported *arr services.

4. Validate your changes

Use the cli_tester.py script to simulate Radarr, Sonarr, and Magazarr interactions.

uv run cli_tester.py

This tool allows you to test searches, feeds, and downloads without needing the full stack of services running.


Code Quality & Maintenance

The CI pipeline enforces strict code styling and import optimization. Please run this commands before pushing your changes. Alternatively, set up the pre-commit hook as described above.

Format code, upgrade dependencies, run tests and bump the version:

uv run pre-commit.py

Dependencies are upgraded automatically on every run.