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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| torf-3.1.0.tar.gz | 78.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|