Skip to content

kannibalox/pyrosimple

Repository files navigation

pyrosimple

GitHub Workflow Status PyPI - Python Version PyPI Docker Image Version (tag latest semver)

A overhauled Python 3 fork of the pyrocore tools, for working with the rTorrent client.

Installation

pip install pyrosimple
# pip install 'pyrosimple[torque]' # Optional dependencies for using pyrotorque

See the documentation for usage. If you've used rtcontrol/rtxmlrpc before, you should feel right at home.

What's the point of this?

The pyrocore tools are great, but being stuck on python 2, along with the complicated install procedure made integrating both the tools and the code into other processes very painful.

Differences from pyrocore

The following lists are not exhaustive, and don't cover many of the internal improvements and refactoring.

  • Only supports python 3 and rTorrent 0.9.6+ (this includes rTorrent-PS, rTorrent-PS-CH and jesec/rtorrent)
    • pypy is supported, but not as well tested
  • Simpler poetry-based build system, with a single package to install
  • Performance improvements (faster templating and only fetching required fields)
  • Replaced Tempita with Jinja2

New features

  • Multi-instance support for rtcontrol/rtxmlrpc
  • Support for JSON-RPC (currently only implemented by jesec/rtorrent)
  • Actions to move torrents between paths, or torrents between hosts

See https://kannibalox.github.io/pyrosimple/migrate/ for how to migrate scripts to the new features.

Legacy branch

If you just want to use the pyrocore tools on python 3 without all the new features, you can use the release-1.X branch (1.3 is the latest release at time of writing). These releases will only receive bug fixes or changes to maintain compatibility with the original pyrocore tools.