Python wrapper for Banned.AniParser (NativeAOT C ABI)
Project description
PyAniParser
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
471b43bb314cc8ff63de67efd10add83f407db9936b77dff1ac57d4315e1a715
|
|
| MD5 |
e9fd9c77331135b3ea88b2d4d070fa19
|
|
| BLAKE2b-256 |
19ebe0d17369ef8dcd824a75ce8a364f42d4b85af75b8134c2f26bb7f565dbb0
|
Provenance
The following attestation bundles were made for pyaniparser-0.3.1-py3-none-win_amd64.whl:
Publisher:
publish.yml on banned2054/PyAniParser
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyaniparser-0.3.1-py3-none-win_amd64.whl -
Subject digest:
471b43bb314cc8ff63de67efd10add83f407db9936b77dff1ac57d4315e1a715 - Sigstore transparency entry: 954384931
- Sigstore integration time:
-
Permalink:
banned2054/PyAniParser@8dab5574a84010ad9e1610e7ff23256ae502197c -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/banned2054
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8dab5574a84010ad9e1610e7ff23256ae502197c -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyaniparser-0.3.1-py3-none-manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pyaniparser-0.3.1-py3-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d804d0f8a99251fef7d6f66ff3a3f92ea285b2dd61705031090143c7b695b1c
|
|
| MD5 |
a2dcc9dcfae7f92c2483c00cdd8bded4
|
|
| BLAKE2b-256 |
c87896f06f427766ed0a13615021a7885bf12dce5a9bd081ec250c7d9026a561
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyaniparser-0.3.1-py3-none-manylinux_2_17_x86_64.whl -
Subject digest:
3d804d0f8a99251fef7d6f66ff3a3f92ea285b2dd61705031090143c7b695b1c - Sigstore transparency entry: 954384928
- Sigstore integration time:
-
Permalink:
banned2054/PyAniParser@8dab5574a84010ad9e1610e7ff23256ae502197c -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/banned2054
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8dab5574a84010ad9e1610e7ff23256ae502197c -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyaniparser-0.3.1-py3-none-manylinux_2_17_aarch64.whl.
File metadata
- Download URL: pyaniparser-0.3.1-py3-none-manylinux_2_17_aarch64.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf997a32fd4966df8168aa8449ba372e8745a11f039de41238f1934ea355e5bf
|
|
| MD5 |
f277db07c314cdbaaedaa0e087ae3bf7
|
|
| BLAKE2b-256 |
13d9a98d014d22d6b653b2a0fce7800a86df50d3e6164be0857b6d11167ae490
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyaniparser-0.3.1-py3-none-manylinux_2_17_aarch64.whl -
Subject digest:
cf997a32fd4966df8168aa8449ba372e8745a11f039de41238f1934ea355e5bf - Sigstore transparency entry: 954384927
- Sigstore integration time:
-
Permalink:
banned2054/PyAniParser@8dab5574a84010ad9e1610e7ff23256ae502197c -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/banned2054
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8dab5574a84010ad9e1610e7ff23256ae502197c -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyaniparser-0.3.1-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: pyaniparser-0.3.1-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c58ce06cfe292a56df43954ecf23a3dc7bb899ce486a7fed0ac0a494cf77db8d
|
|
| MD5 |
2bf3988b87c42b65ffc592f4d7443403
|
|
| BLAKE2b-256 |
6162babba725771ebefba9916c27e5af3a5f14b4c7ad3f0af982a90cdb37588a
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyaniparser-0.3.1-py3-none-macosx_11_0_arm64.whl -
Subject digest:
c58ce06cfe292a56df43954ecf23a3dc7bb899ce486a7fed0ac0a494cf77db8d - Sigstore transparency entry: 954384929
- Sigstore integration time:
-
Permalink:
banned2054/PyAniParser@8dab5574a84010ad9e1610e7ff23256ae502197c -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/banned2054
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8dab5574a84010ad9e1610e7ff23256ae502197c -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyaniparser-0.3.1-py3-none-macosx_10_9_x86_64.whl.
File metadata
- Download URL: pyaniparser-0.3.1-py3-none-macosx_10_9_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73ea7f82c72bfdde5c453c3e3c7650530d7011b325bc10e785fd1fd8af73114e
|
|
| MD5 |
a287522b6419683dcbd47b63ed53b850
|
|
| BLAKE2b-256 |
ef08af0cab6cc9e72de4550b6cef17e2e26236befd5cd9b6e9456b2422affa32
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyaniparser-0.3.1-py3-none-macosx_10_9_x86_64.whl -
Subject digest:
73ea7f82c72bfdde5c453c3e3c7650530d7011b325bc10e785fd1fd8af73114e - Sigstore transparency entry: 954384930
- Sigstore integration time:
-
Permalink:
banned2054/PyAniParser@8dab5574a84010ad9e1610e7ff23256ae502197c -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/banned2054
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8dab5574a84010ad9e1610e7ff23256ae502197c -
Trigger Event:
release
-
Statement type: