Skip to main content

torf provides a Torrent and a Magnet class.

torf-cli is a command line tool that makes use of 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)

  • Check if a file system path contains everything an existing .torrent file needs

  • Use multiple CPU cores to compute piece hashes

  • Randomize the info hash to help with cross-seeding

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 3.1.0

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 3.1.0
File Size Uploaded
torf-3.1.0.tar.gz 78.1 kB Details

Built distribution (wheel)

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

Total release size: 174.7 kB

Release files / torf-3.1.0.tar.gz

Download URL torf-3.1.0.tar.gz
Size 78.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5e9a1878b91fe9c91651b9302f3c280d59e1cc7a1b1d38597c1202491363cb3a
BLAKE2b-256 checksum
How to use checksums
5947c517774e8bd61a7d80a43dc498ae6ec083cd4c1174644137ebcdabb055ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.48.1 CPython/3.8.5

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

Download URL torf-3.1.0-py3-none-any.whl
Size 96.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
efea834ba62572e4aeb7676d21fd56274ae696f7d9c57edfaa31e3c2c62477eb
BLAKE2b-256 checksum
How to use checksums
eed6c2280b5105cd1c52a2ad92f16e1125f788562e50cbbd54752799ee5029cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.48.1 CPython/3.8.5

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