Anitomy Dart
A pure Dart port of Anitomy, the anime release filename parser. It extracts titles, episode numbers, release groups, checksums, codecs, resolutions, and other metadata without native dependencies.
Installation
dart pub add anitomy_dart
For Flutter projects, use flutter pub add anitomy_dart instead.
Usage
Parse a filename, then read the detected elements by category:
import 'package:anitomy_dart/anitomy_dart.dart';
void main() {
final anitomy = Anitomy();
final filename =
'[TaigaSubs]_Toradora!_(2008)_-_01v2_-_Tiger_and_Dragon_[1280x720_H.264_FLAC][1234ABCD].mkv';
if (!anitomy.parse(filename)) {
return;
}
print(anitomy.elements.get(ElementCategory.animeTitle)); // Toradora!
print(anitomy.elements.get(ElementCategory.episodeNumber)); // 01
print(anitomy.elements.get(ElementCategory.releaseGroup)); // TaigaSubs
print(anitomy.elements.get(ElementCategory.videoResolution)); // 1280x720
}
Parsing behavior can be customized before calling parse:
final anitomy = Anitomy()
..options.parseEpisodeTitle = false
..options.ignoredStrings.add('[WebsiteName]');
Tests
The regression suite uses Anitomy's upstream filename corpus. Run it with:
dart test
License
Anitomy Dart is available under the Mozilla Public License 2.0, matching the license of the original Anitomy source from which it was ported.
Contributing
Contributions are welcome. Please open an issue or submit a pull request if you have suggestions or improvements.
Libraries
- anitomy_dart
- A pure Dart parser for anime release filenames.