Skip to main content

esutils

This was used for personal use, consider it experimental and use at own risk.

Install

pip install pyruTorrent

Usage

Incomplete docs

Create Instance

rt = rTorrent(
	host='xxxxxxxxxx',
	port=123456,
	username='xxxxxxxxxx',
	password='xxxxxxxxxx',
	rpc_path='/rutorrent/plugins/httprpc/action.php'
)

# or

rt = rTorrent(
	uri='https://<username>:<password>@<host>:<port>/rutorrent/plugins/httprpc/action.php',
)

Add Torrent

# :torrent_item: accepts multiple formats
# 	Ex: <bytes>     | [<bytes>]     | [<bytes>, <bytes>, <bytes>...]
# 	Ex: <magnet>    | [<magnet>]    | [<magnet>, <magnet>, <magnet>...]
# 	Ex: <path>      | [<path>]      | [<path>, <path>, <path>]
# 	Ex: [<magnet>, [<path>], [<bytes>], <magnet>]
# 		<magnet>    the magnet url
# 		<path>      local filepath to .torrent file
# 		<bytes>     byte contents of a .torrent file
#	Not recommended to send more than 80 torrents at a time.
#	Failiure happens when sending around 100 torrents at once.
#
# :kwargs: Client defaults used if not set

rt.add_torrent(
	torrent_item,
	download_path=None,
	label=None,
	ratio_group=None,
	add_stopped=False,
	add_name_to_path=True,
	save_uploaded_torrent=False
)

Get Torrent

# Returns single torrent

rt.get_torrent(
	'<torrent-hash>',
	include_trackers=False,
	include_files=False,
	include_peers=False
)

Get Torrents

# Note:
# 	With include_trackers, include_files & include_peers enabled,
# 	response sent from RPC will be double or more in size, depending on
# 	number of files, peers and trackers.
# Test:
# 	Test with 1,125 torrents, 1-3 trackers & 0-4 peers per torrent:
# 	- 1.48MB w/ include_trackers, include_files & include_peers disabled
# 	- 3.25MB w/ include_trackers, include_files & include_peers enabled


# Returns all torrents if no hashes or ratio_group specified

rt.get_torrents(
	hashes=None,
	ratio_group=None,
	include_trackers=False,
	include_files=False,
	include_peers=False
)

# Returns torrents matching hashes

rt.get_torrents(['<torrent-hash>', '<torrent-hash>', '<torrent-hash>'])

Start

rt.start('<torrent-hash>')

Stop

rt.stop('<torrent-hash>')

Pause

rt.pause('<torrent-hash>')

Start All

rt.start_all(view='default', ratio_group=None)

Stop All

rt.stop_all(view='default', ratio_group=None)

Pause All

rt.pause_all(view='default', ratio_group=None)

Remove

rt.remove('<torrent-hash>')

Remove and Delete Files

rt.remove_and_delete('<torrent-hash>')

Remove All

rt.remove_all(view='default', ratio_group=None)

Remove All and Delete Files

rt.remove_and_delete_all(view='default', ratio_group=None)

Check Hash

rt.check_hash('<torrent-hash>')

Check Hash All

rt.check_hash_all(view='default', ratio_group=None)

Remote Ratio Group

rt.remove_ratio_group(['<torrent-hash>', '<torrent-hash>', '<torrent-hash>'])

Set Ratio Group

rt.set_ratio_group(['<torrent-hash>', '<torrent-hash>', '<torrent-hash>'], 2)

Get Settings

rt.get_settings()

Set Settings

rt.set_settings({'min_peers': 1, 'max_peers': 200})

Get Download Directory

# Returns default download directory

rt.get_download_directory()

Get Torrent Views

# Returns default download directory

rt.get_views()

Metadata

Release files for pyruTorrent 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for pyruTorrent 1.0.0
File Interpreter ABI Platform
pyrutorrent-1.0.0-py3-none-any.whl Python 3 none any Details

Release files / pyrutorrent-1.0.0-py3-none-any.whl

Download URL pyrutorrent-1.0.0-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca0d1f557361f1c043aa297b3d9df071b9c0ce4ec4ee5523634e690ad3ffe271
BLAKE2b-256 checksum
How to use checksums
4b6725af97f0791eadff8e2fc7d269cb08142dfbae69caead51847fdfb83c1bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.7

Security for pyruTorrent 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page