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 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 after reading and before creating torrents

  • Generate a .torrent file from a BTIH magnet link and vice versa

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

  • Use multiple CPU cores to compute piece hashes

  • Randomize the metainfo 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+

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-3.0.1.tar.gz (74.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torf-3.0.1-py3-none-any.whl (93.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: torf-3.0.1.tar.gz
  • Upload date:
  • Size: 74.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.43.0 CPython/3.8.2

File hashes

Hashes for torf-3.0.1.tar.gz
Algorithm Hash digest
SHA256 48f329463c613645af26dbfa4a620b1923791de3c997e01848f7f5e94f8b98cf
MD5 a65bfafd20e3ce33e6df57f85739dda7
BLAKE2b-256 e7de9d96ae3ef93878603d314717b3075d6fc9a57384c7f989d0c97481807495

See more details on using hashes here.

File details

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

File metadata

  • Download URL: torf-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 93.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.43.0 CPython/3.8.2

File hashes

Hashes for torf-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cadd2fb46898cbab6b3094f6917764ecfcaa08de7e1785d0af2c1726473b50d6
MD5 7a51104ea6489a60f13d47e75902f78e
BLAKE2b-256 f8b2b857b53ccafe0fa88e2d4674ca57fff76d2111cff98a378792fd114d6ccc

See more details on using hashes here.

Supported by

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