Metadata-Version: 2.1
Name: pyrosimple
Version: 2.0.0rc1
Summary: 
Home-page: https://github.com/kannibalox/pyrosimple
License: GPL-3.0-or-later
Author: kannibalox
Author-email: kannibalox@gmail.com
Requires-Python: >=3.7,<4
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Communications :: File Sharing
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Provides-Extra: torque
Requires-Dist: APScheduler (>=3.9.0,<4.0.0); extra == "torque"
Requires-Dist: Jinja2 (>=3.1.0,<4.0.0)
Requires-Dist: bencode.py (>=4.0.0,<5.0.0)
Requires-Dist: dynaconf[toml] (>=3.1.0,<4.0.0)
Requires-Dist: importlib-resources (>=5.4.0,<6.0.0); python_version < "3.9"
Requires-Dist: parsimonious (>=0.9.0,<0.10.0)
Requires-Dist: prometheus-client (>=0.14.1,<0.15.0)
Requires-Dist: pyinotify (>=0.9.6,<0.10.0); extra == "torque"
Requires-Dist: python-daemon (>=2.3.0,<3.0.0)
Project-URL: Documentation, https://kannibalox.github.io/pyrosimple/
Project-URL: Repository, https://github.com/kannibalox/pyrosimple
Description-Content-Type: text/markdown

# pyrosimple

[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/kannibalox/pyrosimple/Pylint)](https://github.com/kannibalox/pyrosimple/actions/workflows/pylint.yml)
[![PyPI](https://img.shields.io/pypi/v/pyrosimple)](https://pypi.org/project/pyrosimple/)
![PyPI -	Python Version](https://img.shields.io/pypi/pyversions/pyrosimple)

A overhauled Python 3 fork  of the [pyrocore tools](https://github.com/pyroscope/pyrocore), for working with the [rTorrent client](https://github.com/rakshasa/rtorrent).

## Installation

```bash
pip install pyrosimple
```

See the [documentation for usage](https://kannibalox.github.io/pyrosimple/). 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.

## Significant 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.8+ (0.9.6/0.9.7 should still work just fine, but aren't officially supported)
- Simpler poetry-based build/install system
- Everything in one package (no separate pyrobase)
  - Use external lib for bencode

### Added
- Multi-instance support for rtcontrol/rtxmlrpc
- Replaced Tempita with jinja2
- Support for JSON-RPC (only implemented by https://github.com/jesec/rtorrent)
- pyrotorque job to move torrents between hosts
- pyrotorque job to move torrent paths

### Removed
- the `rtsweep`, `rtmv`, and `rtevent` commands
- `pyrotorque`'s guard file, influxdb job and web server

### Changed
- `rtxmlrpc`'s `--raw` now outputs JSON

