11# torrent-models
22
3+ [ ![ docs] ( https://readthedocs.org/projects/torrent-models/badge/ )] ( https://torrent-models.readthedocs.io/en/latest/ )
4+
35.torrent file parsing and creation with pydantic
46(and models for other bittorrent things too)
57
6- ~ alpha software primarily intended for use with [ sciop ] ( https://codeberg.org/Safeguarding/sciop ) ~
8+ While there are [ many ] ( #other-projects ) other torrent packages, this one:
79
8- ## Initial development
10+ - Is simple and focused
11+ - Can create and parse v1, v2, hybrid, and [ other BEPs] ( ./beps.md )
12+ - Is focused on library usage (but does [ cli things too] ( ./usage/cli.md ) )
13+ - Validates torrent files (e.g. when accepting them as user input!)
14+ - Treats .torrent files as an * extensible* rather than fixed format
15+ - Is performant! (and asyncio compatible when hashing!)
16+ - Uses python typing and is mypy friendly
17+
18+ ~ alpha software primarily intended for use with [ sciop] ( https://codeberg.org/Safeguarding/sciop ) ~
919
10- - [x] Parsing
11- - [x] v1
12- - [x] v2
13- - [x] Generation
14- - [x] v1
15- - [x] v2
16- - [ ] hybrid
1720
1821## See also
1922
@@ -27,15 +30,6 @@ These are also good projects, and probably more battle tested
2730- [ ` PyBitTorrent ` ] ( https://github.com/gaffner/PyBitTorrent )
2831- [ ` torrent_parser ` ] ( https://github.com/7sDream/torrent_parser )
2932
30- The reason this package exists is that none of them are a pure, complete
31- parser and generator of torrent files that...
32- - can handle v1, v2, hybrid, and all other .torrent-related BEPs
33- - is focused on library usage
34- - is simple and focused
35- - has few dependencies
36- - is performant
37- - uses modern python typing
38-
3933Specifically
4034- ` torf ` has some notable performance problems, and doesn't support v2
4135- ` torrentfile ` is focused on the cli and doesn't appear to be able to validate torrent files,
0 commit comments