Skip to main content

Python wrapper for Banned.AniParser (NativeAOT C ABI)

Project description

PyAniParser

中文文档 | English Doc

PyAniParser is a high-performance Python wrapper for Banned.AniParser, designed to parse anime file names. Powered by .NET 10 Native AOT, it provides fast and accurate extraction of metadata (titles, episodes, resolutions, etc.) from complex file naming conventions.

Note: This parser is currently optimized for Chinese fansub naming conventions (e.g., VCB-Studio, Nekomoe, Sakurato).

Features

  • High Performance: Built with .NET Native AOT for speed and efficiency.
  • Robust Parsing: specialized in handling complex naming schemes from various release groups.
  • Batch Processing: Optimized for processing large lists of files.
  • Globalization Support: Built-in Traditional to Simplified Chinese conversion.
  • Type Hinting: Fully typed for better IDE support and development experience.

Installation

pip install pyaniparser

Usage

Basic Usage

from pyaniparser import AniParser

# Initialize the parser
parser = AniParser()

# Parse a single file
result = parser.parse("[Nekomoe] Anime Title - 01 [1080p].mp4")
if result:
    print(f"Title: {result.title}")
    print(f"Episode: {result.episode}")

# Parse a batch of files (Recommended for lists)
files = ["File1.mp4", "File2.mp4"]
results = parser.parse_batch(files)

for item in results:
    print(item.title)

Advanced Configuration (Globalization)

You can configure the parser to automatically convert Traditional Chinese titles to Simplified Chinese (or vice versa) upon initialization:

# Options: "Simplified", "Traditional", or "NotChange" (Default)
parser = AniParser(globalization="Simplified")

result = parser.parse("[Group] 繁體標題 - 01.mp4")
print(result.title) # Output will be converted to Simplified Chinese

Get Supported Groups

You can retrieve the list of currently supported subtitle and release groups programmatically:

parser = AniParser()
groups = parser.get_parser_list()
print(groups)

Supported Groups

PyAniParser includes built-in support for many major groups, including but not limited to:

  • ANi
  • 北宇治字幕组
  • 喵萌奶茶屋
  • 桜都字幕组
  • Vcb-Studio

For a complete list of supported groups, please refer to the Upstream Documentation.

License

This project is licensed under the Apache-2.0 License. See the LICENSE file for details.

Contribution

Issues and Pull Requests are welcome!

Since this is a wrapper, parsing logic issues should be reported to the Core .NET Repository, while Python binding issues can be reported here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyaniparser-0.3.1-py3-none-win_amd64.whl (2.0 MB view details)

Uploaded Python 3Windows x86-64

pyaniparser-0.3.1-py3-none-manylinux_2_17_x86_64.whl (2.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pyaniparser-0.3.1-py3-none-manylinux_2_17_aarch64.whl (1.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pyaniparser-0.3.1-py3-none-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pyaniparser-0.3.1-py3-none-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file pyaniparser-0.3.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: pyaniparser-0.3.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyaniparser-0.3.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 471b43bb314cc8ff63de67efd10add83f407db9936b77dff1ac57d4315e1a715
MD5 e9fd9c77331135b3ea88b2d4d070fa19
BLAKE2b-256 19ebe0d17369ef8dcd824a75ce8a364f42d4b85af75b8134c2f26bb7f565dbb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaniparser-0.3.1-py3-none-win_amd64.whl:

Publisher: publish.yml on banned2054/PyAniParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyaniparser-0.3.1-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyaniparser-0.3.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3d804d0f8a99251fef7d6f66ff3a3f92ea285b2dd61705031090143c7b695b1c
MD5 a2dcc9dcfae7f92c2483c00cdd8bded4
BLAKE2b-256 c87896f06f427766ed0a13615021a7885bf12dce5a9bd081ec250c7d9026a561

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaniparser-0.3.1-py3-none-manylinux_2_17_x86_64.whl:

Publisher: publish.yml on banned2054/PyAniParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyaniparser-0.3.1-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyaniparser-0.3.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 cf997a32fd4966df8168aa8449ba372e8745a11f039de41238f1934ea355e5bf
MD5 f277db07c314cdbaaedaa0e087ae3bf7
BLAKE2b-256 13d9a98d014d22d6b653b2a0fce7800a86df50d3e6164be0857b6d11167ae490

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaniparser-0.3.1-py3-none-manylinux_2_17_aarch64.whl:

Publisher: publish.yml on banned2054/PyAniParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyaniparser-0.3.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyaniparser-0.3.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c58ce06cfe292a56df43954ecf23a3dc7bb899ce486a7fed0ac0a494cf77db8d
MD5 2bf3988b87c42b65ffc592f4d7443403
BLAKE2b-256 6162babba725771ebefba9916c27e5af3a5f14b4c7ad3f0af982a90cdb37588a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaniparser-0.3.1-py3-none-macosx_11_0_arm64.whl:

Publisher: publish.yml on banned2054/PyAniParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyaniparser-0.3.1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyaniparser-0.3.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 73ea7f82c72bfdde5c453c3e3c7650530d7011b325bc10e785fd1fd8af73114e
MD5 a287522b6419683dcbd47b63ed53b850
BLAKE2b-256 ef08af0cab6cc9e72de4550b6cef17e2e26236befd5cd9b6e9456b2422affa32

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaniparser-0.3.1-py3-none-macosx_10_9_x86_64.whl:

Publisher: publish.yml on banned2054/PyAniParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page