Skip to main content

Python 3 module for creating and parsing torrent files and magnet URIs

Project description

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+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torf-4.2.7.tar.gz (103.0 kB view details)

Uploaded Source

Built Distribution

torf-4.2.7-py3-none-any.whl (59.5 kB view details)

Uploaded Python 3

File details

Details for the file torf-4.2.7.tar.gz.

File metadata

  • Download URL: torf-4.2.7.tar.gz
  • Upload date:
  • Size: 103.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for torf-4.2.7.tar.gz
Algorithm Hash digest
SHA256 c2e1e2171ce03ffc9303ddbc50d7f73e419d9a1af22a07edb029b7c0cf7293d9
MD5 4955e832dcd3e997f3847fa1eea2888b
BLAKE2b-256 8524208ef9e2fde55e0c1ea6f78f7e025dae50678a62d255c5d13551d72857de

See more details on using hashes here.

File details

Details for the file torf-4.2.7-py3-none-any.whl.

File metadata

  • Download URL: torf-4.2.7-py3-none-any.whl
  • Upload date:
  • Size: 59.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for torf-4.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a15e31ee7f9c04104bf6253bf383f69ad9b42b8207faeb791d096212af460ccf
MD5 371ee18f74ebe0e9956fef4da25426c4
BLAKE2b-256 e4f30090e0ab45963b0022ae2a7648aa4fe26bfc402d4bf00c5cfcda22e5975c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page