Skip to main content

torf provides a Torrent and a Magnet class.

torf-cli and torf-gui provide user interfaces for torf.

This project started as a fork of dottorrent but turned into a rewrite.

Features

  • Create a Torrent instance from a path to the torrent’s content or by reading an existing .torrent file

  • High-level access to standard metainfo fields via properties

  • Low-level access to arbitrary metainfo fields via metainfo property

  • Optional metainfo validation with helpful error messages

  • Generate a BTIH magnet URI from a .torrent file (the reverse is also possible but the resulting torrent is incomplete due to the lack of information in magnet URIs)

  • Use multiple CPU cores to compute piece hashes

  • Randomize the info hash to help with cross-seeding

  • Conveniently re-use piece hashes from an existing torrent file

Example

from torf import Torrent
t = Torrent(path='path/to/content',
            trackers=['https://tracker1.example.org:1234/announce',
                      'https://tracker2.example.org:5678/announce'],
            comment='This is a comment')
t.private = True
t.generate()
t.write('my.torrent')

Documentation

Everything should be explained in the docstrings. Read it with pydoc3 torf.Torrent or pydoc3 torf.Magnet.

Documentation is also available at torf.readthedocs.io or torf.readthedocs.io/en/latest for the development version.

Installation

torf is available on PyPI.

The latest development version is in the master branch on GitHub.

Contributing

I consider this project feature complete, but feel free to request new features or improvements. Bug reports are always welcome, of course.

License

GPLv3+

Release files for torf 4.3.1

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

Source distribution (sdist)

Source distribution for torf 4.3.1
File Size Uploaded
torf-4.3.1.tar.gz 109.2 kB Details

Built distribution (wheel)

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

Total release size: 177.1 kB

Release files / torf-4.3.1.tar.gz

Download URL torf-4.3.1.tar.gz
Size 109.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5c17656b2ad379122f2ec97a057398d1ec6a6bfce6f0b6f8ec0799b142493c5a
BLAKE2b-256 checksum
How to use checksums
851f152db30a4f60142766ea7b16af2cae86b648359f300179d06eb06b079270
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / torf-4.3.1-py3-none-any.whl

Download URL torf-4.3.1-py3-none-any.whl
Size 67.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c76e5f6efda8c6b92c588df56e3e1a8ecf6a5377bd075ea60ca3ab997bd83a61
BLAKE2b-256 checksum
How to use checksums
8886eef1af063d4dcf60f8602cedfff6b6ea8b88b9542fd9cb3496d66e8ed108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

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