qBitrr2 5.6.1__py3-none-any.whl → 5.6.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,260 @@
1
+ Metadata-Version: 2.4
2
+ Name: qBitrr2
3
+ Version: 5.6.2
4
+ Summary: Intelligent automation for qBittorrent and *Arr apps (Radarr/Sonarr/Lidarr) - health monitoring, instant imports, quality upgrades, request integration
5
+ Home-page: https://github.com/Feramance/qBitrr
6
+ Author: Feramance
7
+ Author-email: fera@fera.wtf
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/Feramance/qBitrr
10
+ Project-URL: Documentation, https://feramance.github.io/qBitrr/
11
+ Project-URL: Issue Tracker, https://github.com/Feramance/qBitrr/issues
12
+ Project-URL: Source Code, https://github.com/Feramance/qBitrr
13
+ Project-URL: Changelog, https://github.com/Feramance/qBitrr/blob/master/CHANGELOG.md
14
+ Project-URL: Docker Hub, https://hub.docker.com/r/feramance/qbitrr
15
+ Project-URL: PyPI, https://pypi.org/project/qBitrr2/
16
+ Project-URL: Systemd Guide, https://feramance.github.io/qBitrr/getting-started/installation/systemd/
17
+ Keywords: qbittorrent,radarr,sonarr,lidarr,arr,automation,torrent,media,plex,jellyfin,overseerr,ombi
18
+ Classifier: Development Status :: 5 - Production/Stable
19
+ Classifier: Intended Audience :: Developers
20
+ Classifier: Intended Audience :: End Users/Desktop
21
+ Classifier: Intended Audience :: System Administrators
22
+ Classifier: License :: OSI Approved :: MIT License
23
+ Classifier: Natural Language :: English
24
+ Classifier: Operating System :: MacOS :: MacOS X
25
+ Classifier: Operating System :: Microsoft :: Windows
26
+ Classifier: Operating System :: POSIX :: Linux
27
+ Classifier: Programming Language :: Python :: 3 :: Only
28
+ Classifier: Programming Language :: Python :: 3.11
29
+ Classifier: Programming Language :: Python :: 3.12
30
+ Classifier: Programming Language :: Python :: Implementation :: CPython
31
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
32
+ Classifier: Topic :: Communications
33
+ Classifier: Topic :: Internet
34
+ Classifier: Topic :: Multimedia :: Video
35
+ Classifier: Topic :: System :: Monitoring
36
+ Classifier: Topic :: Terminals
37
+ Classifier: Topic :: Utilities
38
+ Classifier: Typing :: Typed
39
+ Requires-Python: <4,>=3.11
40
+ Description-Content-Type: text/markdown
41
+ License-File: LICENSE
42
+ Requires-Dist: cachetools
43
+ Requires-Dist: colorama
44
+ Requires-Dist: coloredlogs
45
+ Requires-Dist: flask
46
+ Requires-Dist: environ-config
47
+ Requires-Dist: ffmpeg-python
48
+ Requires-Dist: jaraco.docker
49
+ Requires-Dist: packaging
50
+ Requires-Dist: pathos
51
+ Requires-Dist: peewee
52
+ Requires-Dist: ping3
53
+ Requires-Dist: pyarr
54
+ Requires-Dist: qbittorrent-api
55
+ Requires-Dist: requests
56
+ Requires-Dist: tomlkit
57
+ Requires-Dist: waitress
58
+ Requires-Dist: croniter
59
+ Provides-Extra: dev
60
+ Requires-Dist: black==24.3.0; extra == "dev"
61
+ Requires-Dist: bump2version==1.0.1; extra == "dev"
62
+ Requires-Dist: isort==5.10.1; extra == "dev"
63
+ Requires-Dist: pip-tools==7.3.0; extra == "dev"
64
+ Requires-Dist: pre-commit==3.3.3; extra == "dev"
65
+ Requires-Dist: pyinstaller==5.13.1; extra == "dev"
66
+ Requires-Dist: pyupgrade==2.31.0; extra == "dev"
67
+ Requires-Dist: twine==3.7.1; extra == "dev"
68
+ Requires-Dist: ujson==5.10.0; extra == "dev"
69
+ Requires-Dist: upgrade-pip==0.1.4; extra == "dev"
70
+ Provides-Extra: fast
71
+ Requires-Dist: ujson==5.10.0; extra == "fast"
72
+ Provides-Extra: docs
73
+ Requires-Dist: mkdocs>=1.5.3; extra == "docs"
74
+ Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
75
+ Requires-Dist: mkdocs-material-extensions>=1.3.0; extra == "docs"
76
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.2.0; extra == "docs"
77
+ Requires-Dist: mkdocs-minify-plugin>=0.7.0; extra == "docs"
78
+ Requires-Dist: mkdocs-redirects>=1.2.0; extra == "docs"
79
+ Requires-Dist: mkdocs-include-markdown-plugin>=6.0.0; extra == "docs"
80
+ Requires-Dist: pymdown-extensions>=10.0.0; extra == "docs"
81
+ Requires-Dist: markdown-include>=0.8.0; extra == "docs"
82
+ Provides-Extra: all
83
+ Requires-Dist: black==24.3.0; extra == "all"
84
+ Requires-Dist: bump2version==1.0.1; extra == "all"
85
+ Requires-Dist: isort==5.10.1; extra == "all"
86
+ Requires-Dist: pip-tools==7.3.0; extra == "all"
87
+ Requires-Dist: pre-commit==3.3.3; extra == "all"
88
+ Requires-Dist: pyinstaller==5.13.1; extra == "all"
89
+ Requires-Dist: pyupgrade==2.31.0; extra == "all"
90
+ Requires-Dist: twine==3.7.1; extra == "all"
91
+ Requires-Dist: ujson==5.10.0; extra == "all"
92
+ Requires-Dist: upgrade-pip==0.1.4; extra == "all"
93
+ Requires-Dist: ujson==5.10.0; extra == "all"
94
+ Requires-Dist: mkdocs>=1.5.3; extra == "all"
95
+ Requires-Dist: mkdocs-material>=9.5.0; extra == "all"
96
+ Requires-Dist: mkdocs-material-extensions>=1.3.0; extra == "all"
97
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.2.0; extra == "all"
98
+ Requires-Dist: mkdocs-minify-plugin>=0.7.0; extra == "all"
99
+ Requires-Dist: mkdocs-redirects>=1.2.0; extra == "all"
100
+ Requires-Dist: mkdocs-include-markdown-plugin>=6.0.0; extra == "all"
101
+ Requires-Dist: pymdown-extensions>=10.0.0; extra == "all"
102
+ Requires-Dist: markdown-include>=0.8.0; extra == "all"
103
+ Dynamic: license-file
104
+
105
+ # <img src="assets/logov2-clean.png" alt="qBitrr Logo" width="40" style="vertical-align: middle;"/> qBitrr
106
+
107
+ [![PyPI](https://img.shields.io/pypi/v/qBitrr2?label=PyPI)](https://pypi.org/project/qBitrr2/)
108
+ [![Downloads](https://img.shields.io/pypi/dm/qBitrr2)](https://pypi.org/project/qBitrr2/)
109
+ [![Docker Pulls](https://img.shields.io/docker/pulls/feramance/qbitrr.svg)](https://hub.docker.com/r/feramance/qbitrr)
110
+ [![CodeQL](https://github.com/Feramance/qBitrr/actions/workflows/codeql.yml/badge.svg?branch=master)](https://github.com/Feramance/qBitrr/actions/workflows/codeql.yml)
111
+ [![Nightly Build](https://github.com/Feramance/qBitrr/actions/workflows/nightly.yml/badge.svg?branch=master)](https://github.com/Feramance/qBitrr/actions/workflows/nightly.yml)
112
+ [![pre-commit.ci](https://results.pre-commit.ci/badge/github/Feramance/qBitrr/master.svg)](https://results.pre-commit.ci/latest/github/Feramance/qBitrr/master)
113
+ [![License: MIT](https://img.shields.io/pypi/l/qbitrr)](LICENSE)
114
+
115
+ > 🧩 The intelligent glue between qBittorrent and the *Arr ecosystem (Radarr, Sonarr, Lidarr). Monitors torrent health, triggers instant imports, automates quality upgrades, manages disk space, integrates with request systems (Overseerr/Ombi), and provides a modern React dashboard for complete visibility and control.
116
+
117
+ ## 📚 Documentation
118
+
119
+ **Full documentation is available at: https://feramance.github.io/qBitrr/**
120
+
121
+ - [Getting Started](https://feramance.github.io/qBitrr/getting-started/) – Installation guides for pip, Docker, and native setups
122
+ - [Configuration](https://feramance.github.io/qBitrr/configuration/) – qBittorrent, Arr instances, quality profiles, and more
123
+ - [Features](https://feramance.github.io/qBitrr/features/) – Health monitoring, automated search, quality management, disk space, auto-updates
124
+ - [WebUI](https://feramance.github.io/qBitrr/webui/) – Built-in React dashboard with live monitoring and config editor
125
+ - [Troubleshooting](https://feramance.github.io/qBitrr/troubleshooting/) – Common issues and debug logging
126
+ - [API Reference](https://feramance.github.io/qBitrr/reference/api/) – REST API documentation
127
+
128
+ ## ⚡ Quick Start
129
+
130
+ ### 🐍 Install with pip
131
+ ```bash
132
+ python -m venv .venv
133
+ source .venv/bin/activate # Windows: .venv\Scripts\activate
134
+ pip install qBitrr2
135
+
136
+ # First run creates ~/config/config.toml
137
+ qbitrr
138
+ ```
139
+
140
+ ### 🐳 Run with Docker
141
+ ```bash
142
+ docker run -d \
143
+ --name qbitrr \
144
+ --tty \
145
+ -e TZ=Europe/London \
146
+ -p 6969:6969 \
147
+ -v /path/to/appdata/qbitrr:/config \
148
+ -v /path/to/completed/downloads:/completed_downloads:rw \
149
+ --restart unless-stopped \
150
+ feramance/qbitrr:latest
151
+ ```
152
+
153
+ **Docker Compose:**
154
+ ```yaml
155
+ services:
156
+ qbitrr:
157
+ image: feramance/qbitrr:latest
158
+ container_name: qbitrr
159
+ restart: unless-stopped
160
+ tty: true
161
+ environment:
162
+ TZ: Europe/London
163
+ ports:
164
+ - "6969:6969"
165
+ volumes:
166
+ - /path/to/appdata/qbitrr:/config
167
+ - /path/to/completed/downloads:/completed_downloads:rw
168
+ ```
169
+
170
+ Access the WebUI at `http://<host>:6969/ui` after startup.
171
+
172
+ ## ✨ Key Features
173
+
174
+ - **🚑 Torrent Health Monitoring** – Detect stalled/failed downloads, auto-blacklist, trigger re-searches
175
+ - **🔍 Automated Search** – Missing media, quality upgrades, custom format scoring
176
+ - **🎯 Request Integration** – Pull requests from Overseerr/Ombi, prioritize user-requested media
177
+ - **📊 Quality Management** – RSS sync, queue refresh, profile switching, custom format enforcement
178
+ - **🌱 Seeding Control** – Per-tracker settings, ratio/time limits, tracker injection
179
+ - **💾 Disk Space Management** – Auto-pause when low on space, configurable thresholds
180
+ - **🔄 Auto-Updates** – GitHub release-based updates with scheduled cron support
181
+ - **💻 Modern WebUI** – Live process monitoring, log viewer, Arr insights, config editor
182
+
183
+ ## 🛠️ Essential Configuration
184
+
185
+ 1. **Configure qBittorrent** in `~/config/config.toml`:
186
+ ```toml
187
+ [qBit]
188
+ Host = "localhost"
189
+ Port = 8080
190
+ UserName = "admin"
191
+ Password = "adminpass"
192
+ Version5 = true # qBittorrent 5.x
193
+ ```
194
+
195
+ 2. **Add Arr instances**:
196
+ ```toml
197
+ [Radarr-Movies]
198
+ URI = "http://localhost:7878"
199
+ APIKey = "your-radarr-api-key"
200
+ Category = "radarr-movies"
201
+ ```
202
+
203
+ 3. **Set completed folder**:
204
+ ```toml
205
+ [Settings]
206
+ CompletedDownloadFolder = "/path/to/completed"
207
+ ```
208
+
209
+ See [Configuration Guide](https://feramance.github.io/qBitrr/configuration/) and [config.example.toml](config.example.toml) for all available options.
210
+
211
+ ## 📖 Resources
212
+
213
+ - **Documentation:** https://feramance.github.io/qBitrr/
214
+ - **PyPI Package:** https://pypi.org/project/qBitrr2/
215
+ - **Docker Hub:** https://hub.docker.com/r/feramance/qbitrr
216
+ - **Example Config:** [config.example.toml](config.example.toml)
217
+ - **API Documentation:** [API_DOCUMENTATION.md](API_DOCUMENTATION.md)
218
+ - **Systemd Setup:** [SYSTEMD_SERVICE.md](SYSTEMD_SERVICE.md)
219
+
220
+ ## 🐛 Issues & Support
221
+
222
+ - **Report Bugs:** [Bug Report Template](.github/ISSUE_TEMPLATE/bug_report.yml)
223
+ - **Request Features:** [Feature Request Template](.github/ISSUE_TEMPLATE/feature_request.yml)
224
+ - **Discussions:** [GitHub Discussions](https://github.com/Feramance/qBitrr/discussions)
225
+ - **Troubleshooting:** [Common Issues](https://feramance.github.io/qBitrr/troubleshooting/)
226
+
227
+ ## 🤝 Contributing
228
+
229
+ Contributions welcome! See [CONTRIBUTION.md](CONTRIBUTION.md) for coding guidelines and development setup.
230
+
231
+ **Development setup:**
232
+ ```bash
233
+ # Python backend
234
+ make newenv && make syncenv
235
+ make reformat # Format and lint
236
+
237
+ # WebUI
238
+ cd webui && npm ci
239
+ npm run dev # Dev server at localhost:5173
240
+ ```
241
+
242
+ ## ❤️ Support
243
+
244
+ If qBitrr saves you time and headaches:
245
+ - ⭐ **Star the repo** – helps others discover qBitrr
246
+ - 💰 **Sponsor:** [Patreon](https://patreon.com/qBitrr) | [PayPal](https://www.paypal.me/feramance)
247
+
248
+ ## 📄 License
249
+
250
+ Released under the [MIT License](LICENSE). Use it, modify it, share it—commercially or personally.
251
+
252
+ ---
253
+
254
+ <div align="center">
255
+
256
+ **Made with ❤️ by the qBitrr community**
257
+
258
+ [Documentation](https://feramance.github.io/qBitrr/) • [PyPI](https://pypi.org/project/qBitrr2/) • [Docker](https://hub.docker.com/r/feramance/qbitrr) • [GitHub](https://github.com/Feramance/qBitrr)
259
+
260
+ </div>
@@ -1,10 +1,10 @@
1
1
  qBitrr/__init__.py,sha256=smiPIV7d2lMJ_KTtFdAVlxLEBobFTheILdgry1iqpjQ,405
2
- qBitrr/arss.py,sha256=UyfFkM5wtz25HEwzhCU5irGnQWGeK-nKkghEP30nAh4,328451
2
+ qBitrr/arss.py,sha256=w1ceBTxyYad1PplWXJyvMfep-M7sBi5pwKzZHsGSKfQ,335924
3
3
  qBitrr/auto_update.py,sha256=3mqlKKGnaWR5dNI58LN5WbHOMFRDWBsOs0zIC79QzQk,13359
4
- qBitrr/bundled_data.py,sha256=JzYxuph8b4krHCv9jSq4tC0h02g6Wa6l2y7e7UMNPMA,221
4
+ qBitrr/bundled_data.py,sha256=8ZdPfoK68wFE_x7w7rFgSDcb6GHVVJwWc7WYJopddo0,221
5
5
  qBitrr/config.py,sha256=e_UL8Jjz2hWAhT53Du8XZpvyY4ULC5mpyus_7i2An18,6306
6
6
  qBitrr/config_version.py,sha256=eWfc7DuthsDGwv2WJAZ7uB7srSqxaUD3Oj9kac3HbFE,4208
7
- qBitrr/db_lock.py,sha256=EZ9hqsQR5PfJN_j3m2owznABd5DB9nj7QyFFN5nhNGk,14491
7
+ qBitrr/db_lock.py,sha256=ZM6TQagBOkcS7h9BDGsdxhCo5aJ5SMvtKSM_X7HLu8M,15375
8
8
  qBitrr/db_recovery.py,sha256=4kS9mWKrBYE9135m7cxvCOriSxz6lz7Dw4MT6gz81SM,6438
9
9
  qBitrr/env_config.py,sha256=299u_uEoyxlM_ceTD0Z_i41JdYjSHmqO6FKe7qGFgTM,2866
10
10
  qBitrr/errors.py,sha256=5_n1x0XX4UvMlieC_J1Hc5pq5JD17orfjJy9KfxDXA4,1107
@@ -38,9 +38,9 @@ qBitrr/static/assets/LogsView.js,sha256=ZwQlijGQFaggDdiWF5-N0a6LQxNrcPn7ILF1Iro2
38
38
  qBitrr/static/assets/LogsView.js.map,sha256=4rmGiMkyUWcCBwVU2ye4h4kP3d2kujXdgrlryfWNjmM,480673
39
39
  qBitrr/static/assets/ProcessesView.js,sha256=zSOwSTt-SulI3FQziU_u-CfaXEpHymOJd1pnBDkinlg,8705
40
40
  qBitrr/static/assets/ProcessesView.js.map,sha256=0LY2ilJ7zYrEtaEmQvezwUXBjeqi6xy-EX4nov3p9S8,31175
41
- qBitrr/static/assets/app.css,sha256=c8MWcYJyf5FGaIDp8AnVFdO4aOE37CDWTeigJWK4g6g,55037
42
- qBitrr/static/assets/app.js,sha256=Sh_D8ry0szJHL48C1NvLiA4ovvPbbJ7R6IOU-tjGisI,209073
43
- qBitrr/static/assets/app.js.map,sha256=5koST6W8oXNwHZtQXm0jnDuBqY7z8cjmelg26RETPe4,948609
41
+ qBitrr/static/assets/app.css,sha256=0anadTB1R43p4Brukr7S-rkzlHLzUS5R0GWyHtF8HG4,55598
42
+ qBitrr/static/assets/app.js,sha256=VC8dtc6uchMRvGAiFrMqG0ATGmuSDh6_dGKbOCGPuoU,209198
43
+ qBitrr/static/assets/app.js.map,sha256=ODT91lnGR7HxK14ifYWI2B5u72F6zWB79cz_DGKV-Ww,948947
44
44
  qBitrr/static/assets/build.svg,sha256=27zJoFZFP0MMNjnviRKjOUbGLu2D-1EcIpiMAfOXnJA,46338
45
45
  qBitrr/static/assets/check-mark.svg,sha256=P4sn_w6VKsXjhqzeFYoQmaPtUFJ_QwPWq-aD_dPJJqU,9198
46
46
  qBitrr/static/assets/close.svg,sha256=au7m-xbkwpqz2ZLUi6kj4VzTqIX36eC3dKjPGMUVLnU,8697
@@ -64,9 +64,9 @@ qBitrr/static/assets/useInterval.js.map,sha256=3KvsE2Do5LepkgpP-0XBHeGOprIQiDIdK
64
64
  qBitrr/static/assets/vendor.js,sha256=EBllpA4dkgCcm3JNbJHANsEJ74mjqQJxuy90Q9wk-4c,11357
65
65
  qBitrr/static/assets/vendor.js.map,sha256=NfekBermaJKffoJHjhM8LEyHj1SoZXjCV19ElUi-6jo,42253
66
66
  qBitrr/static/assets/visibility.svg,sha256=258DiSuUKs2SH9dhhDDU88JQfLAlNQMvOGewc9uaTK4,9767
67
- qbitrr2-5.6.1.dist-info/licenses/LICENSE,sha256=P978aVGi7dPbKz8lfvdiryOS5IjTAU7AA47XhBhVBlI,1066
68
- qbitrr2-5.6.1.dist-info/METADATA,sha256=TDbOizydHzioJ1q43gKciaxi5cDcc7QgawTIKTAnGos,44288
69
- qbitrr2-5.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
- qbitrr2-5.6.1.dist-info/entry_points.txt,sha256=MIR-l5s31VBs9qlv3HiAaMdpOOyy0MNGfM7Ib1-fKeQ,43
71
- qbitrr2-5.6.1.dist-info/top_level.txt,sha256=jIINodarzsPcQeTf-vvK8-_g7cQ8CvxEg41ms14K97g,7
72
- qbitrr2-5.6.1.dist-info/RECORD,,
67
+ qbitrr2-5.6.2.dist-info/licenses/LICENSE,sha256=P978aVGi7dPbKz8lfvdiryOS5IjTAU7AA47XhBhVBlI,1066
68
+ qbitrr2-5.6.2.dist-info/METADATA,sha256=WBPy0eSr1K7WcvIBM2ZTo_siTKnNq7_6NbtyIjir138,10909
69
+ qbitrr2-5.6.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
+ qbitrr2-5.6.2.dist-info/entry_points.txt,sha256=MIR-l5s31VBs9qlv3HiAaMdpOOyy0MNGfM7Ib1-fKeQ,43
71
+ qbitrr2-5.6.2.dist-info/top_level.txt,sha256=jIINodarzsPcQeTf-vvK8-_g7cQ8CvxEg41ms14K97g,7
72
+ qbitrr2-5.6.2.dist-info/RECORD,,