Metadata-Version: 2.4
Name: rtorrent-rpc
Version: 0.9.7
Summary: Typed rtorrent rpc client
Keywords: rtorrent,rpc
Author-email: trim21 <trim21me@gmail.com>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
License-File: LICENSE
Requires-Dist: urllib3~=2.2
Requires-Dist: bencode2>=0.3.0,<1
Requires-Dist: certifi>=2017.4.17
Requires-Dist: typing-extensions>=4.7.1
Requires-Dist: pytest==9.0.3 ; extra == "dev"
Requires-Dist: pytest-github-actions-annotate-failures==0.4.0 ; extra == "dev"
Requires-Dist: coverage==7.14.0 ; extra == "dev"
Requires-Dist: pre-commit==4.6.0 ; extra == "dev" and ( python_version >= "3.12")
Requires-Dist: sphinx-autobuild==2025.8.25 ; extra == "dev" and ( python_version >= "3.12")
Requires-Dist: mypy==2.0.0 ; extra == "dev" and ( python_version >= "3.12")
Requires-Dist: sphinx~=9.1 ; extra == "docs" and ( python_version >= "3.12")
Requires-Dist: furo~=2025.7 ; extra == "docs" and ( python_version >= "3.12")
Project-URL: Homepage, https://github.com/trim21/rtorrent-rpc
Provides-Extra: dev
Provides-Extra: docs

# Typed rtorrent rpc client

[![PyPI](https://img.shields.io/pypi/v/rtorrent-rpc)](https://pypi.org/project/rtorrent-rpc/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/rtorrent-rpc)](https://pypi.org/project/rtorrent-rpc/)
[![Documentation Status](https://readthedocs.org/projects/rtorrent-rpc/badge/)](https://rtorrent-rpc.readthedocs.io/)

`rtorrent-rpc` is a python wrapper on top of rtorrent XML RPC protocol,
hosted on GitHub
at [github.com/trim21/rtorrent-rpc](https://github.com/trim21/rtorrent-rpc)

Document is hosted at https://rtorrent-rpc.readthedocs.io/ by readthedocs.

## Introduction

```console
pip install rtorrent-rpc
```



## Contributing

All kinds of PRs (docs, feature, bug fixes and eta...) are most welcome.

## Quick Start

```python
from rtorrent_rpc import RTorrent

client = RTorrent(address='scgi://127.0.0.1:5000')
unix_client = RTorrent(address='scgi:///home/ubuntu/.local/share/rtorrent.sock')
```

tls cert validation is enabled when you are using `https` protocol, set environment
variable `PY_RTORRENT_RPC_DISABLE_TLS_CERT=1` to disable.

## Known Problem

rTorrent's [xmlrpc-c does not support all utf8 characters](https://github.com/rakshasa/rtorrent/issues/1250),
for example, emoji.

If torrent name of file name contains any emoji,
you can't retrieve correct torrent name or file name through xmlrpc-c.

Please consider either:
* Compiling rtorrent with tinyxml2 instead of xmlrpc-c, which will allow all unicode characters
* Using a rtorrent distro with json-rpc support,
for example: [jesec/rtorrent](https://github.com/jesec/rtorrent), which support utf8
correctly. If your rtorrent distro support jsonrpc,
you can use send json-rpc request with `RTorrent(...).jsonrpc.call(...)`.

## License

`rtorrent-rpc` is licensed under the MIT license.

