Name | torf JSON |
Version |
4.2.7
JSON |
| download |
home_page | None |
Summary | Python 3 module for creating and parsing torrent files and magnet URIs |
upload_time | 2024-06-13 09:45:36 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | GPL-3.0-or-later |
keywords |
bittorrent
torrent
magnet
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
torf
====
torf provides a ``Torrent`` and a ``Magnet`` class.
`torf-cli <https://github.com/rndusr/torf-cli>`_ and `torf-gui
<https://github.com/SavageCore/torf-gui>`_ provide user interfaces for torf.
This project started as a fork of `dottorrent
<https://github.com/kz26/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
<https://en.wikipedia.org/wiki/Magnet_URI_scheme>`_ 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
-------
.. 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
<https://torf.readthedocs.io/>`_ or `torf.readthedocs.io/en/latest
<https://torf.readthedocs.io/en/latest>`_ for the development version.
Installation
------------
torf is available on `PyPI <https://pypi.org/project/torf>`_.
The latest development version is in the master branch on `GitHub
<https://github.com/rndusr/torf>`_.
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+ <https://www.gnu.org/licenses/gpl-3.0.en.html>`_
Raw data
{
"_id": null,
"home_page": null,
"name": "torf",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "bittorrent, torrent, magnet",
"author": null,
"author_email": "Random User <rndusr@posteo.de>",
"download_url": "https://files.pythonhosted.org/packages/85/24/208ef9e2fde55e0c1ea6f78f7e025dae50678a62d255c5d13551d72857de/torf-4.2.7.tar.gz",
"platform": null,
"description": "torf\n====\n\ntorf provides a ``Torrent`` and a ``Magnet`` class.\n\n`torf-cli <https://github.com/rndusr/torf-cli>`_ and `torf-gui\n<https://github.com/SavageCore/torf-gui>`_ provide user interfaces for torf.\n\nThis project started as a fork of `dottorrent\n<https://github.com/kz26/dottorrent>`_ but turned into a rewrite.\n\nFeatures\n--------\n\n- Create a ``Torrent`` instance from a path to the torrent's content or by\n reading an existing ``.torrent`` file\n- High-level access to standard metainfo fields via properties\n- Low-level access to arbitrary metainfo fields via ``metainfo`` property\n- Optional metainfo validation with helpful error messages\n- Generate a `BTIH magnet URI\n <https://en.wikipedia.org/wiki/Magnet_URI_scheme>`_ from a ``.torrent`` file\n (the reverse is also possible but the resulting torrent is incomplete due to\n the lack of information in magnet URIs)\n- Use multiple CPU cores to compute piece hashes\n- Randomize the info hash to help with cross-seeding\n- Conveniently re-use piece hashes from an existing torrent file\n\nExample\n-------\n\n.. code:: python\n\n from torf import Torrent\n t = Torrent(path='path/to/content',\n trackers=['https://tracker1.example.org:1234/announce',\n 'https://tracker2.example.org:5678/announce'],\n comment='This is a comment')\n t.private = True\n t.generate()\n t.write('my.torrent')\n\nDocumentation\n-------------\n\nEverything should be explained in the docstrings. Read it with ``pydoc3\ntorf.Torrent`` or ``pydoc3 torf.Magnet``.\n\nDocumentation is also available at `torf.readthedocs.io\n<https://torf.readthedocs.io/>`_ or `torf.readthedocs.io/en/latest\n<https://torf.readthedocs.io/en/latest>`_ for the development version.\n\nInstallation\n------------\n\ntorf is available on `PyPI <https://pypi.org/project/torf>`_.\n\nThe latest development version is in the master branch on `GitHub\n<https://github.com/rndusr/torf>`_.\n\nContributing\n------------\n\nI consider this project feature complete, but feel free to request new features\nor improvements. Bug reports are always welcome, of course.\n\nLicense\n-------\n\n`GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.en.html>`_\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Python 3 module for creating and parsing torrent files and magnet URIs",
"version": "4.2.7",
"project_urls": {
"Bug Tracker": "https://github.com/rndusr/torf/issues",
"Changelog": "https://raw.githubusercontent.com/rndusr/torf/master/CHANGELOG",
"Documentation": "https://torf.readthedocs.io/",
"Repository": "https://github.com/rndusr/torf"
},
"split_keywords": [
"bittorrent",
" torrent",
" magnet"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e4f30090e0ab45963b0022ae2a7648aa4fe26bfc402d4bf00c5cfcda22e5975c",
"md5": "371ee18f74ebe0e9956fef4da25426c4",
"sha256": "a15e31ee7f9c04104bf6253bf383f69ad9b42b8207faeb791d096212af460ccf"
},
"downloads": -1,
"filename": "torf-4.2.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "371ee18f74ebe0e9956fef4da25426c4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 59491,
"upload_time": "2024-06-13T09:45:33",
"upload_time_iso_8601": "2024-06-13T09:45:33.903113Z",
"url": "https://files.pythonhosted.org/packages/e4/f3/0090e0ab45963b0022ae2a7648aa4fe26bfc402d4bf00c5cfcda22e5975c/torf-4.2.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8524208ef9e2fde55e0c1ea6f78f7e025dae50678a62d255c5d13551d72857de",
"md5": "4955e832dcd3e997f3847fa1eea2888b",
"sha256": "c2e1e2171ce03ffc9303ddbc50d7f73e419d9a1af22a07edb029b7c0cf7293d9"
},
"downloads": -1,
"filename": "torf-4.2.7.tar.gz",
"has_sig": false,
"md5_digest": "4955e832dcd3e997f3847fa1eea2888b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 102961,
"upload_time": "2024-06-13T09:45:36",
"upload_time_iso_8601": "2024-06-13T09:45:36.097690Z",
"url": "https://files.pythonhosted.org/packages/85/24/208ef9e2fde55e0c1ea6f78f7e025dae50678a62d255c5d13551d72857de/torf-4.2.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-13 09:45:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rndusr",
"github_project": "torf",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"tox": true,
"lcname": "torf"
}