Repository navigation
v3.0.0
3.0.0 - 2025-09-13
✨ Highlights ✨
-
Torrent details moved to
TorrentFile
What used to beNyaaTorrentPageis nowNyaaRelease.
Fields likesize,infohash,torrent_url, andmagnethave been moved into a newTorrentFileobject (withtorrent_urlnow just.url).
TorrentFilealso adds two new fields:dataandname.
Access everything throughNyaaRelease.torrent. -
Library-specific errors
The library now provides its own exceptions for easier handling:
ParsingErrorfor HTML issues andReleaseNotFoundErrorwhen a release isn’t found.
Both inherit fromPyNyaaError, so tracebacks are simpler and more consistent. -
More precise categories
The oldCategoryenum tried to cover both real release categories and top-level search groups.
It’s now split intoCategory(for actual releases) andParentCategory(for search queries only), so a release can’t have an invalid category. -
Search with pagination
search()now follows all result pages automatically, instead of stopping after the first.
The API also replaces the oldreverse: boolwith a clearerorder: Orderoption.
Changelog
🚀 Features
🐛 Bug Fixes
bd6e76dBump bs4f78948dRenameTorrentNotFoundErrortoReleaseNotFoundError74a2b83Broken link6ac140fUpdate lockfilec09876aAdd tests for typing55464c1Conftest typing0656b18Update the catchphrase21e7567RenameNyaaTorrentPagetoNyaaRelease5ace9b6AddTorrentFiletoNyaaTorrentPage53e6530De-nest clientse335c72Exclude seeders/leechers/completed from eq67c87aeAdd__str__back to Submitter and NyaaTorrentPaged2d5c43Use relative imports504edb1Write a safer wrapper around bs477083e6Don't show internal module in tracebacks5552c50Test coverage883483eRun ruff over the codebase2deb8efGet rid of 3.13t for now613d070Only install test deps in testse208e0bUse new type internally to distinguish torrent ID246d923Refactor search parserdb7e3b1Make panel a property0529b62Replacereverse: boolwithorder: Orderin search API2398b22ParseBytesas a valid unit1f68269Return integer IDs fromparse_nyaa_search_resultscfe73eaUpdate default user agent7af2d3cMore docstrings43e4d3bUpdate docstrings811416eA bit more runtime type checking72c3d36Get rid of cli31cd584Handle pagination in search()be30121Make the parser class slotted7a46c4eAdd proper errorsd05008bMore tests3b33e23More tests55818daSwitch to dataclass58ad0c2TorrentCategory -> Category in docstrings1bad15cRename TorrentCategory back to Category701e7d5Strenum in <3.11af0961dRemove dead module72cdca5Auto-generate sync client from async client4d4a64eUpdate tests to not require internet
👷 CI/CD
🚜 Refactor
📚 Documentation
8dd2b19Repalace "usage" with "quick-start"e78bb31Order members by source683c88aAddTorrentFileto API docs7e86fb3Only use public API in docse2d64e2Cleanup enum docs293c8dfDocument errors6458125Center badgesa8d7e01Update examples020dfb3Update readme/indexda0aa24Update readme/index8d13cc5Remove dead page
⚙️ Chores
b966b98Updated2a1150Bump the actions group with 3 updates in #12a85a09bRemove dead test files8acb18dRefactor testsef77e5d2.0.0
New Contributors
- @dependabot[bot] made their first contribution in #12