diff --git a/README.md b/README.md index 555eb9c..e73bb31 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,22 @@ # torrent-models +[![docs](https://readthedocs.org/projects/torrent-models/badge/)](https://torrent-models.readthedocs.io/en/latest/) + .torrent file parsing and creation with pydantic (and models for other bittorrent things too) -~ alpha software primarily intended for use with [sciop](https://codeberg.org/Safeguarding/sciop) ~ +While there are [many](#other-projects) other torrent packages, this one: -## Initial development +- Is simple and focused +- Can create and parse v1, v2, hybrid, and [other BEPs](./beps.md) +- Is focused on library usage (but does [cli things too](./usage/cli.md)) +- Validates torrent files (e.g. when accepting them as user input!) +- Treats .torrent files as an *extensible* rather than fixed format +- Is performant! (and asyncio compatible when hashing!) +- Uses python typing and is mypy friendly + +~ alpha software primarily intended for use with [sciop](https://codeberg.org/Safeguarding/sciop) ~ -- [x] Parsing - - [x] v1 - - [x] v2 -- [x] Generation - - [x] v1 - - [x] v2 - - [ ] hybrid ## See also @@ -27,15 +30,6 @@ These are also good projects, and probably more battle tested - [`PyBitTorrent`](https://github.com/gaffner/PyBitTorrent) - [`torrent_parser`](https://github.com/7sDream/torrent_parser) -The reason this package exists is that none of them are a pure, complete -parser and generator of torrent files that... -- can handle v1, v2, hybrid, and all other .torrent-related BEPs -- is focused on library usage -- is simple and focused -- has few dependencies -- is performant -- uses modern python typing - Specifically - `torf` has some notable performance problems, and doesn't support v2 - `torrentfile` is focused on the cli and doesn't appear to be able to validate torrent files, diff --git a/docs/index.md b/docs/index.md index 17efc0e..29a5a5f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -32,6 +32,8 @@ While there are [many](#other-projects) other torrent packages, this one: - Is performant! (and asyncio compatible when hashing!) - Uses python typing and is mypy friendly +this package was created for, and used by [sciop <3](https://sciop.net/) + ## Examples ### Read a torrent @@ -169,6 +171,7 @@ The reasons we did not use these other tools and wrote this one: ```{toctree} :caption: Usage: +:hidden: usage/torrent usage/cli @@ -176,6 +179,7 @@ usage/cli ```{toctree} :caption: API: +:hidden: api/create api/hashing @@ -188,6 +192,7 @@ api/types ```{toctree} :maxdepth: 2 :caption: Reference: +:hidden: beps references