Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rndusr/torf
Python module to create, parse and edit torrent files and magnet links
https://github.com/rndusr/torf
magnet-link magnet-uri python3 torrent torrent-files
Last synced: about 2 months ago
JSON representation
Python module to create, parse and edit torrent files and magnet links
- Host: GitHub
- URL: https://github.com/rndusr/torf
- Owner: rndusr
- License: gpl-3.0
- Created: 2017-12-21T14:47:02.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-13T09:45:24.000Z (4 months ago)
- Last Synced: 2024-07-18T17:54:32.560Z (3 months ago)
- Topics: magnet-link, magnet-uri, python3, torrent, torrent-files
- Language: Python
- Size: 944 KB
- Stars: 169
- Watchers: 9
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
torf
====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 fileExample
-------.. code:: python
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+ `_