Metadata-Version: 2.1
Name: aiobtclientrpc
Version: 5.0.1
Author-email: plotski <plotski@example.org>
License: GPL-3.0-or-later
Project-URL: Repository, https://codeberg.org/plotski/aiobtclientrpc
Project-URL: Documentation, https://aiobtclientrpc.readthedocs.io
Project-URL: Bug Tracker, https://codeberg.org/plotski/aiobtclientrpc/issues
Project-URL: Changelog, https://codeberg.org/plotski/aiobtclientrpc/raw/branch/master/NEWS
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: async-timeout ==4.*
Requires-Dist: httpx ==0.*
Requires-Dist: httpx-socks ==0.*
Requires-Dist: python-socks[asyncio] ==2.*
Requires-Dist: rencode ==1.0.*
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-asyncio ; extra == 'dev'
Requires-Dist: pytest-mock ; extra == 'dev'
Requires-Dist: proxy.py ; extra == 'dev'
Requires-Dist: tox ; extra == 'dev'
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: ruff ; extra == 'dev'

``aiobtclientrpc`` provides low-level access to the RPC protocols of BitTorrent
clients. It is supposed to be the basis for a high-level library. If you want to
use this directly, you need to read the documentation or source code of each
client.

Check out `aiobtclientapi`_ for a high-level API.

.. _aiobtclientapi: https://codeberg.org/plotski/aiobtclientapi

| Documentation: https://aiobtclientrpc.readthedocs.io/
| Repository: https://codeberg.org/plotski/aiobtclientrpc
| Package: https://pypi.org/project/aiobtclientrpc/

Features
--------

* Tunnel the client connection through a proxy (SOCKS5, SOCKS4, HTTP tunnel)
* Event handlers, e.g. when a torrent was added (Deluge only)
* (Re-)Connect automatically on any RPC method call and disconnect automatically
  when used as a context manager
* Keep track of the connection status and provide changes to a callback

Supported BitTorrent Clients
----------------------------

* `Deluge`_
* `qBittorrent`_
* `Transmission`_ (daemon)
* `rTorrent`_

.. _Deluge: https://www.deluge-torrent.org/
.. _qBittorrent: https://www.qbittorrent.org/
.. _Transmission: https://transmissionbt.com/
.. _rTorrent: https://rakshasa.github.io/rtorrent/

License
-------

`GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.en.html>`_
