Python client for qBittorrent v4.1+ Web API
Project description
qBittorrent Web API Client
Python client implementation for qBittorrent Web API. Supports qBittorrent v4.1.0+ (i.e. Web API v2.0+).
Currently supports up to qBittorrent v4.2.5 (Web API v2.5.1) released on April 24, 2020.
The full qBittorrent Web API specification is documented on their wiki.
Find the full documentation for this client on RTD.
Features
- The entire qBittorent Web API is implemented.
- qBittorrent version checking for an endpoint's existence/features is automatically handled.
- All Python versions are supported.
- If the authentication cookie expires, a new one is automatically requested in line with any API call.
Installation
- Install via pip from PyPI:
pip install qbittorrent-api
- Install specific release:
pip install git+https://github.com/rmartin16/qbittorrent-api.git@v0.3.2#egg=qbittorrent-api
- Install direct from master:
pip install git+https://github.com/rmartin16/qbittorrent-api.git#egg=qbittorrent-api
- Ensure urllib3, requests, and attrdict are installed. (These are installed automatically using the methods above.)
- Enable WebUI in qBittorrent: Tools -> Preferences -> Web UI
- If the Web API will be exposed to the Internet (i.e. made available outside your network), please do it properly.
Getting Started
import qbittorrentapi
# instantiate a Client using the appropriate WebUI configuration
qbt_client = qbittorrentapi.Client(host='localhost:8080', username='admin', password='adminadmin')
# the Client will automatically acquire/maintain a logged in state in line with any request.
# therefore, this is not necessary; however, you many want to test the provided login credentials.
try:
qbt_client.auth_log_in()
except qbittorrentapi.LoginFailed as e:
print(e)
# display qBittorrent info
print(f'qBittorrent: {qbt_client.app.version}')
print(f'qBittorrent Web API: {qbt_client.app.web_api_version}')
for k,v in qbt_client.app.build_info.items(): print(f'{k}: {v}')
# retrieve and show all torrents
for torrent in qbt_client.torrents_info():
print(f'{torrent.hash[-6:]}: {torrent.name} ({torrent.state})')
# pause all torrents
qbt_client.torrents.pause.all()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
qbittorrent-api-2020.7.5.tar.gz
(42.0 kB
view hashes)
Built Distribution
Close
Hashes for qbittorrent_api-2020.7.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77ea3d8eae057b9e7f21f0d90a990756c46c55bd90cae3bd754f1487e146368b |
|
MD5 | 091fa220e27524f08883fbad16b7b42d |
|
BLAKE2b-256 | a131c2c100f4755af10efb125b0a85a1656aeb5558877c8f02fbadf1ac7ca5a9 |