Upgradinatorr
Automated media upgrade search for Starr applications (Radarr, Sonarr, Lidarr, Readarr).
Installation
uv tool install upgradinatorr
Or install from source:
git clone https://github.com/yourusername/upgradinatorr
cd upgradinatorr
uv sync
source .venv/bin/activate # or prefix the commands below with `uv run`
Usage
# Process single application
upgradinatorr -a radarr
# Process multiple applications
upgradinatorr -a radarr,sonarr
# Process multiple instances
upgradinatorr -a radarr,radarr4k
# Use custom config file
upgradinatorr -a radarr -c /path/to/config.conf
# Enable verbose output
upgradinatorr -a radarr --verbose
# Preview processing
upgradinatorr -a radarr --dry-run
Docker Usage
Run with docker:
docker run --rm \
-e PUID=99 \
-e PGID=100 \
-v /mnt/user/appdata/upgradinatorr/config:/config \
mountaingod2/upgradinatorr:latest \
-a radarr,sonarr --verbose
Or use docker-compose:
name: upgradinatorr
services:
upgradinatorr:
image: mountaingod2/upgradinatorr:latest
container_name: upgradinatorr
volumes:
- /path/to/config:/config
environment:
- PUID=99
- PGID=100
command: ["-a", "radarr,sonarr", "--verbose"]
Environment Variables:
[!TIP] Run
idto display values for the current user.
PUID- User ID to run as (default: 999)PGID- Group ID to run as (default: 999)
Volumes:
/config- Directory containing yourupgradinatorr.conffile
The container will automatically create a default config file from the example if one doesn't exist.
Configuration
App arguments passed to -a/--apps should match your config section names (case-insensitive).
For example, if your config has [Radarr] and [Radarr4K], use -a radarr,radarr4k.
Create a upgradinatorr.conf file (see example from original repo):
[Notifications]
DiscordWebhook=https://discord.com/api/webhooks/...
NotifiarrPassthroughWebhook=https://notifiarr.com/api/v1/notification/passthrough/...
NotifiarrPassthroughDiscordChannelId=123456789
[Radarr]
ApiKey=your_api_key_here
Count=10
Monitored=true
MovieStatus=released
TagName=upgrade
Unattended=false
Url=http://localhost:7878
[Sonarr]
ApiKey=your_api_key_here
Count=5
Monitored=true
SeriesStatus=continuing
TagName=upgrade
Unattended=false
Url=http://localhost:8989
Requirements
- Python 3.12+
- aiohttp
- stamina
- rich
- rich-click
- pydantic
License
MIT
Credits
Original PowerShell version by angrycuban13
Metadata
Release files for upgradinatorr 0.3.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| upgradinatorr-0.3.4.tar.gz | 21.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| upgradinatorr-0.3.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.1 kB
Release files / upgradinatorr-0.3.4.tar.gz
| Download URL | upgradinatorr-0.3.4.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd898931f48fab73642aabc087e16d969706565592336a7cf26e1f9423914c43
|
|
BLAKE2b-256 checksum How to use checksums |
5aa413eaabb3fd54f971a80bf2ae9ada9687406c937f61b7a21f4db1e6b5fd12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency logRelease files / upgradinatorr-0.3.4-py3-none-any.whl
| Download URL | upgradinatorr-0.3.4-py3-none-any.whl |
|---|---|
| Size | 27.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a24e0f1adb6c1c1f6edf42fa8f6c6d6f4c0692c24e570dddacf17edf5534436
|
|
BLAKE2b-256 checksum How to use checksums |
07baa067d770e16ab57d41229fcb2fd345256c812676763a96b0483c91772659
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency log