Skip to main content

unit3dprep

Python FastAPI React TypeScript Vite GitHub Actions GitHub Pages

PyPI Docker Hub

Web UI + CLI di pre-flight per tracker Unit3D, accoppiata via HTTP a Unit3DWebUp come backend di upload. Verifica tracce audio italiane, rinomina secondo la nomenclatura ItaTorrents, crea hardlink in ~/seedings/ e orchestra il flusso setenv → scan → maketorrent → upload → seed su Unit3DWebUp con log live via WebSocket/SSE.

Configurazione unificata: un singolo file .env condiviso tra unit3dprep e Unit3DWebUp (path ENVPATH/U3DP_ENV_PATH). Le modifiche fatte da Settings vengono propagate al bot via POST /setenv senza riavvio.

Auto-update integrato per app (GitHub Releases) e Unit3DWebUp (PyPI): pulsante "Aggiorna" in Settings → Versione, log pip/git live-streamed via SSE, restart systemd e reload del browser con popup changelog. La Web UI è disponibile in italiano e inglese (selettore nella TopBar).

Controllo duplicati pre-upload: prima di costruire il .torrent il bridge interroga l'API ITT per tmdbId e match esatto sulla dimensione in byte. Se trova un duplicato mostra un pannello con i dettagli + "Carica comunque / Annulla"; l'annullamento traccia "duplicato skippato" nello storico e nasconde l'item dalla Media Library. Replica il vecchio unit3dup CLI (Unit3DWebUp 0.0.25 non implementa duplicate detection). Disabilitabile con W_DUPLICATE_CHECK=false.

Media Library

Documentazione completa → https://davidesidoti.github.io/unit3dprep/


Quick start

# 1. unit3dprep + Unit3DWebUp nello stesso venv (o due venv separati)
pip install -e .
pip install Unit3DwebUp

# 2. Genera secret e password hash
python generate_hash.py

# 3. Variabili minime in ~/.bashrc
export U3DP_PASSWORD_HASH='$2b$12$...'      # apici singoli — il $ NON va espanso
export U3DP_SECRET="..."
export TMDB_API_KEY="..."
export U3DP_PORT="8765"
export ENVPATH="$HOME/.config/unit3dprep"   # condiviso con Unit3DWebUp

# 4. Avvia Unit3DWebUp (richiede Redis su 127.0.0.1:6379 e ffmpeg)
ENVPATH=$HOME/.config/unit3dprep uvicorn unit3dwup.start:app --host 127.0.0.1 --port 8000 &

# 5. Avvia unit3dprep
unit3dprep-web

Apri http://127.0.0.1:8765, fai login, completa Settings → tracker/qBit/image host. Le credenziali vengono salvate in $ENVPATH/.env con la nomenclatura canonica TRACKER__* / TORRENT__* / PREFS__* e sincronizzate live a Unit3DWebUp. Per il deploy systemd dei due servizi vedi deploy/systemd/.

Docker (all-in-one)

Redis + Unit3DWebUp + unit3dprep in un singolo container:

git clone https://github.com/davidesidoti/unit3dprep.git
cd unit3dprep
cp config.env.example config.env   # compila U3DP_PASSWORD_HASH / U3DP_SECRET / TMDB_API_KEY
docker compose build
docker compose up -d
# apri http://127.0.0.1:8765

🐳 Immagine pubblicata su Docker Hub: hashdeveloper512/unit3dprep. Per saltare la build locale, in docker-compose.yml usa image: hashdeveloper512/unit3dprep:latest al posto di build: . → docker compose up -d la scarica.

Serve Compose v2 (docker compose). La vecchia docker-compose v1 (1.29.2) crasha su up con Docker Engine 25+ (KeyError: 'ContainerConfig'). Se docker compose version non funziona, installa il plugin v2 (binario utente, senza repo): vedi Deploy › Docker › §1.

Guida completa: Deploy › Docker.


Guide

English mirror: aggiungi /en/ al path (es. /en/installation/).


Documentazione locale

pip install -r requirements-docs.txt
mkdocs serve

Poi apri http://127.0.0.1:8000.


Metadata

Release files for unit3dprep 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unit3dprep 1.3.1
File Size Uploaded Provenance Actions
unit3dprep-1.3.1.tar.gz 533.3 kB With provenance Details for unit3dprep-1.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for unit3dprep 1.3.1
File Interpreter ABI Platform Actions
unit3dprep-1.3.1-py3-none-any.whl Python 3 none any Details for unit3dprep-1.3.1-py3-none-any.whl

Total release size: 1.1 MB

Release files / unit3dprep-1.3.1.tar.gz

Download URL unit3dprep-1.3.1.tar.gz
Size 533.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7f9e6e0c7bf14afc603deacfcbc83491cbe474446b07934a5bfa2309e6f4c295
BLAKE2b-256 checksum
How to use checksums
f649f240c75ccfef181fe8121fc6bf51938c765143e04c909a96f5c7163bc2b0
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 Aug 23, 2026.

Transparency log

Release files / unit3dprep-1.3.1-py3-none-any.whl

Download URL unit3dprep-1.3.1-py3-none-any.whl
Size 536.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4be27dd1e9af049e87ad2c0d2d211c930f3d3ff25169a1ee39a9f0846592abc8
BLAKE2b-256 checksum
How to use checksums
58af32e5b556aedc27df811b036ac0df06616508bd11ac354c233fa3faa388ec
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 Aug 23, 2026.

Transparency log

Security for unit3dprep 1.3.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for unit3dprep-1.3.1.tar.gz

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 Aug 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page