Skip to content

Releases: FrostyAnime/Anime_SV

AnimeScape 0.10.5 for Windows

Choose a tag to compare

@FrostyAnime FrostyAnime released this 13 Sep 01:32
f80fa1c

AnimeScape — Release Notes

Version 0.10.5 (current)

METADATA PIPELINE OVERHAUL

The "Update Metadata" button has been completely reworked. Instead of
blocking dialog boxes, it now shows a live console-style report in the
description pane with timing, status tags, and all synced IDs.

Metadata is now enriched from 6 providers in a fallback chain:
MAL Scrape → MALSync → arm-server → Kitsu → AniList → AniDB

Each step is reported as [OK], [FAIL], [WARN], [SKIP], or [...].

All cross-database IDs are stored per title:
MAL, AniList, AniDB, ANN, IMDB, TMDB, TVDB, Kitsu

IDs summary shown at the bottom of every update report:
IDs: MAL=5114 | AniList=5114 | AniDB=6107 | IMDB=tt1355642

The report header shows which API provider was used (Tenrai/Jikan/Kitsu).

PREQUEL/SEQUEL DESCRIPTION RESCUE

Sequel titles with stub descriptions like "Second season of" now
automatically get the original series description appended. The stub
text is preserved with an "Original Description:" header below it.

Resolution chain:
1. AniList relations (walks prequel graph by ID)
2. Kitsu relations (fallback when AniList is down)
3. MAL title search (strips season suffix, searches for original)

Incomplete stubs like "Second season of" (with no title) are
reconstructed: "Second season of Clevatess"

Roman numeral suffixes detected: "Clevatess II" → season 2

RELATED TITLES SUMMARY

A "Related:" summary is appended to the description showing all
related titles from AniList/Kitsu relations. Entries are filtered
by the base series name — titles sharing the brand go to "Related:",
others go to "Spinoffs:". Character and Summary relation types are
excluded. Highest season number is extracted and shown.

Example:
Related: Prequel: Attack on Titan, Sequel: Attack on Titan Season 3
Seasons known: up to Season 3

KITSU METADATA PROVIDER (NEW)

Kitsu (kitsu.io) added as a full metadata provider. No API key
required. Provides:
- Cross-database ID mappings (MAL, AniList, AniDB, TVDB)
- Media relationships (prequel, sequel, adaptation, etc.)
- Episode data (titles, synopses, air dates, thumbnails)
- Streaming links (Netflix, Hulu, Crunchyroll)
- Genres, artwork, ratings

Added to API provider selector: Hamburger → API Provider → Kitsu

Kitsu ID automatically stored for all titles during metadata update.

PER-HOST RATE LIMITING

Every API call now respects per-host rate limits:
AniDB: 1 req/2s
AniList: ~85 req/min
Jikan: ~55 req/min
Kitsu: ~60 req/min
MALSync: ~30 req/min
arm-server:~60 req/min

Applied automatically — no configuration needed.

RETRY WITH EXPONENTIAL BACKOFF

All HTTP calls retry on 429/5xx/network errors with exponential
backoff (0.5s → 1s → 2s → 4s → 8s cap) and 25% jitter.
Respects Retry-After header on 429 responses.

MATCH VALIDATION

Cross-provider title matches are now validated:
- Year must be within 2 years (tolerance for production vs airing)
- Type must be compatible (TV/ONA crossover allowed, TV vs Movie rejected)
Only applies to title-based matches. Direct ID lookups (MAL ID, MALSync)
are authoritative and skip validation.

PROVIDER DIAGNOSTICS (NEW)

Hamburger → Provider Diagnostics opens a test window for all 7
providers (MAL Scrape, AniList, AniDB, MALSync, arm-server, Kitsu,
Jikan). Each has a Test button with timing in ms and OK/FAIL indicator.
"Test All" runs everything. Console output shows detailed results.

REMOVED: HiAnime PROVIDER

HiAnime removed — the service is broken. Providers are now:
Nyaa, SubsPlease, SeaDex, nekoBT

Version 0.10.4

CONSOLE-STYLE METADATA REPORT

The "Update Metadata" button (renamed from "rescrape_current") now
shows a structured report in the description box for 20 seconds
instead of blocking dialog boxes. Shows each step with status tags,
elapsed time, and field change counts.

CROSS-DATABASE ID ENRICHMENT

MALSync API added for direct MAL→AniDB ID mapping.
arm-server added for AniList→all IDs enrichment.
All IDs stored in record and shown in update report.

KOREAN ORIGIN DETECTION

Korean anime now detected from Hangul characters in titles/synopsis
and known Korean producers. Origin sort: Chinese → Korean → Japanese.

AniList/AniDB METADATA FALLBACKS

AniList GraphQL and AniDB HTTP API added as fallback metadata
providers. Fill only missing fields — never overwrite good data.

Scrapling FIXES

Fixed two Scrapling API breaking changes that caused silent crashes:
- find_by_text(tag=...) → first_match=True
- page.html → str(page.body)

BODY TEXT SIZE CONTROL

New "Body Text Size" option in hamburger menu with platform-aware
defaults (Windows: 13px, Linux: 11px).

SELF-HEALING DISPLAY

Seasonal browser detects data/display mismatch after populate and
retries automatically. Filter preset synced on apply.

Version 0.10.3

RENAME TO AnimeScape

Build outputs renamed: AnimeScape.bin / AnimeScape.exe
Watch folder extension: .animeScape

nekoBT PROVIDER (NEW)

nekoBT added as a torrent provider via JSON API at nekobt.to.
Supports MAL ID and AniList ID search. No auth required.

AniList ID MAPPING IMPROVED

SeaDex AniList ID mapping replaced with direct AniList GraphQL +
AniMap API fallback. More reliable cross-database ID resolution.

SELF-HEALING + WINDOWS FIXES

Seasonal browser: event for initial load, self-healing display
retry, filter preset sync on apply. All Windows-specific timing and
rendering issues resolved.

AnimeScape 0.10.5 for Linux

Choose a tag to compare

@FrostyAnime FrostyAnime released this 13 Sep 01:40
f80fa1c

AnimeScape — Release Notes

Version 0.10.5 (current)

METADATA PIPELINE OVERHAUL

The "Update Metadata" button has been completely reworked. Instead of
blocking dialog boxes, it now shows a live console-style report in the
description pane with timing, status tags, and all synced IDs.

Metadata is now enriched from 6 providers in a fallback chain:
MAL Scrape → MALSync → arm-server → Kitsu → AniList → AniDB

Each step is reported as [OK], [FAIL], [WARN], [SKIP], or [...].

All cross-database IDs are stored per title:
MAL, AniList, AniDB, ANN, IMDB, TMDB, TVDB, Kitsu

IDs summary shown at the bottom of every update report:
IDs: MAL=5114 | AniList=5114 | AniDB=6107 | IMDB=tt1355642

The report header shows which API provider was used (Tenrai/Jikan/Kitsu).

PREQUEL/SEQUEL DESCRIPTION RESCUE

Sequel titles with stub descriptions like "Second season of" now
automatically get the original series description appended. The stub
text is preserved with an "Original Description:" header below it.

Resolution chain:
1. AniList relations (walks prequel graph by ID)
2. Kitsu relations (fallback when AniList is down)
3. MAL title search (strips season suffix, searches for original)

Incomplete stubs like "Second season of" (with no title) are
reconstructed: "Second season of Clevatess"

Roman numeral suffixes detected: "Clevatess II" → season 2

RELATED TITLES SUMMARY

A "Related:" summary is appended to the description showing all
related titles from AniList/Kitsu relations. Entries are filtered
by the base series name — titles sharing the brand go to "Related:",
others go to "Spinoffs:". Character and Summary relation types are
excluded. Highest season number is extracted and shown.

Example:
Related: Prequel: Attack on Titan, Sequel: Attack on Titan Season 3
Seasons known: up to Season 3

KITSU METADATA PROVIDER (NEW)

Kitsu (kitsu.io) added as a full metadata provider. No API key
required. Provides:
- Cross-database ID mappings (MAL, AniList, AniDB, TVDB)
- Media relationships (prequel, sequel, adaptation, etc.)
- Episode data (titles, synopses, air dates, thumbnails)
- Streaming links (Netflix, Hulu, Crunchyroll)
- Genres, artwork, ratings

Added to API provider selector: Hamburger → API Provider → Kitsu

Kitsu ID automatically stored for all titles during metadata update.

PER-HOST RATE LIMITING

Every API call now respects per-host rate limits:
AniDB: 1 req/2s
AniList: ~85 req/min
Jikan: ~55 req/min
Kitsu: ~60 req/min
MALSync: ~30 req/min
arm-server:~60 req/min

Applied automatically — no configuration needed.

RETRY WITH EXPONENTIAL BACKOFF

All HTTP calls retry on 429/5xx/network errors with exponential
backoff (0.5s → 1s → 2s → 4s → 8s cap) and 25% jitter.
Respects Retry-After header on 429 responses.

MATCH VALIDATION

Cross-provider title matches are now validated:
- Year must be within 2 years (tolerance for production vs airing)
- Type must be compatible (TV/ONA crossover allowed, TV vs Movie rejected)
Only applies to title-based matches. Direct ID lookups (MAL ID, MALSync)
are authoritative and skip validation.

PROVIDER DIAGNOSTICS (NEW)

Hamburger → Provider Diagnostics opens a test window for all 7
providers (MAL Scrape, AniList, AniDB, MALSync, arm-server, Kitsu,
Jikan). Each has a Test button with timing in ms and OK/FAIL indicator.
"Test All" runs everything. Console output shows detailed results.

REMOVED: HiAnime PROVIDER

HiAnime removed — the service is broken. Providers are now:
Nyaa, SubsPlease, SeaDex, nekoBT

Version 0.10.4

CONSOLE-STYLE METADATA REPORT

The "Update Metadata" button (renamed from "rescrape_current") now
shows a structured report in the description box for 20 seconds
instead of blocking dialog boxes. Shows each step with status tags,
elapsed time, and field change counts.

CROSS-DATABASE ID ENRICHMENT

MALSync API added for direct MAL→AniDB ID mapping.
arm-server added for AniList→all IDs enrichment.
All IDs stored in record and shown in update report.

KOREAN ORIGIN DETECTION

Korean anime now detected from Hangul characters in titles/synopsis
and known Korean producers. Origin sort: Chinese → Korean → Japanese.

AniList/AniDB METADATA FALLBACKS

AniList GraphQL and AniDB HTTP API added as fallback metadata
providers. Fill only missing fields — never overwrite good data.

Scrapling FIXES

Fixed two Scrapling API breaking changes that caused silent crashes:
- find_by_text(tag=...) → first_match=True
- page.html → str(page.body)

BODY TEXT SIZE CONTROL

New "Body Text Size" option in hamburger menu with platform-aware
defaults (Windows: 13px, Linux: 11px).

SELF-HEALING DISPLAY

Seasonal browser detects data/display mismatch after populate and
retries automatically. Filter preset synced on apply.

Version 0.10.3

RENAME TO AnimeScape

Build outputs renamed: AnimeScape.bin / AnimeScape.exe
Watch folder extension: .animeScape

nekoBT PROVIDER (NEW)

nekoBT added as a torrent provider via JSON API at nekobt.to.
Supports MAL ID and AniList ID search. No auth required.

AniList ID MAPPING IMPROVED

SeaDex AniList ID mapping replaced with direct AniList GraphQL +
AniMap API fallback. More reliable cross-database ID resolution.

SELF-HEALING + WINDOWS FIXES

Seasonal browser: event for initial load, self-healing display
retry, filter preset sync on apply. All Windows-specific timing and
rendering issues resolved.

Linux-X86-0.10.1-Binary

Choose a tag to compare

@FrostyAnime FrostyAnime released this 08 Sep 12:39
9302ee5

Improvements to Seasonal Release Browser and Multi-OS compatibility

Anime_SV - Windows 0.10.2

Choose a tag to compare

@FrostyAnime FrostyAnime released this 09 Sep 09:25
5c9d971

Font issues resolved, more UI appearance controls. Assets like icons now packaged for WIndows binary. Seasonal Release UI fixes to improve usability on Windows

Anime_SV for Windows v0.10.1 OneFile

Choose a tag to compare

@FrostyAnime FrostyAnime released this 08 Sep 12:30
5c9d971

Improved Compatibility with Windows, some issues with Seasonal Release Browser.

0.9.0 Release

Choose a tag to compare

@FrostyAnime FrostyAnime released this 06 Sep 11:35
5c9d971

AnimeSV

AnimeSV is a portable desktop application for tracking anime progress, fetching metadata, and finding releases across multiple providers. It combines a personal database with an integrated torrent client and search engine.

Key Features

  • Multi-Provider Search: Search Nyaa.si, SubsPlease, HiAnime, and SeaDex from one interface.
  • Integrated Downloader: Built-in libtorrent client for downloading episodes directly, or open magnet links in an external client.
  • Smart Tracking: Remembers your last watched episode, quality, and fansub group to find the next episode automatically.
  • SxxExx Parsing: Extracts season/episode identifiers from filenames (supports S01E05, S01 - 05, Ep05, and more). Toggle the SE column from the hamburger menu.
  • Metadata Fetching: Pulls cover art, descriptions, genres, and titles from MyAnimeList via Tenrai or Jikan APIs.
  • Seasonal Browser: Browse current and past seasons with genre filtering, origin detection (Chinese/Japanese), and enrichment status.
  • Watch Folder Automation: Trigger downloads by creating a file in your download directory.
  • Autodownloader: Bulk scan your entire collection for new episodes.
  • Configurable Scrape Backend: Choose BeautifulSoup (default) or Scrapling (adaptive, anti-bot bypass).
  • Requirements Check: Detects missing Python modules at startup and via the hamburger menu.
  • Customizable UI: Theme editor with color/font options, cross-platform scroll wheel support, ESC-to-close on all dialogs.

Getting Started

Standalone Binary (Recommended)

  1. Download anime_sv.bin (Linux) or anime_sv.exe (Windows) from the releases page.
  2. Make it executable (Linux):
    chmod +x anime_sv.bin
  3. Run:
    ./anime_sv.bin

On first launch, the app creates its data directory at ~/.local/share/animescape/ (Linux) and initializes the database.

Running from Source

git clone <repo-url>
cd animeScrape
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python anime_sv.py

Requirements

Python Packages

Package Purpose Required
requests HTTP client Yes
beautifulsoup4 HTML parsing (default scraper) Yes
Pillow Cover art image processing Yes
scrapling[all] Adaptive web scraping with anti-bot bypass Optional
yt-dlp Video/stream extraction (used as CLI tool) Optional
libtorrent Internal torrent client Optional
Nuitka Building standalone binary Build only
platformdirs Cross-platform data directory resolution Optional (fallback available)

Install all at once:

pip install -r requirements.txt
pip install libtorrent  # separate due to binary dependency

System Dependencies

Japanese/CJK Font Support (required for correct title rendering):

Distro Command
Debian/Ubuntu sudo apt install fonts-noto-cjk
Arch Linux sudo pacman -S noto-fonts-cjk
Fedora sudo dnf install google-noto-sans-cjk-fonts

Checking Module Availability

The app checks for required modules at startup. You can also check manually via the hamburger menu: Check Python Modules. This shows which modules are installed in the current Python environment vs a .venv, and provides exact pip install commands for anything missing.


How to Use

Building Your Collection

  1. Click the Hamburger Menu (☰)Manage Titles.
  2. Click Add New Title, type a name (e.g., "Frieren"), and select the match.
  3. The app scrapes metadata and adds it to your library.

Finding Releases

  1. Select an anime using << Prev / Next >> or the slider.
  2. Choose a Source from the dropdown (default: Nyaa).
  3. Results appear in the right pane.
  4. Right-click a result → Download (Internal) or Fetch & Watch (External).

Tracking Progress

  • Every download is recorded. The app remembers your preferred Group, Quality, and Episode.
  • Find Next Ep searches for the next episode based on your history.

Watch Folder Automation

  1. Enable Watch Folder checkbox in the main window.
  2. Create a file named Search Term.animeSV in your download directory (e.g., Frieren 05.animeSV).
  3. AnimeSV detects it, finds the best match, and starts the download.
  4. The filename updates to show progress: Frieren 05.20%Frieren 05.completed.

Supported Providers

Provider Type Notes
Nyaa Torrents General anime torrents (default)
SubsPlease Torrents Direct releases from SubsPlease
HiAnime Streaming Web-based streaming source
SeaDex Index Best-release index (requires AniList ID)
AllAnime Streaming DEFUNCT (Cloudflare + API encryption)

API & Scrape Providers

  • API Provider (hamburger menu): Tenrai (default, faster) or Jikan for MAL data.
  • Scrape Provider (hamburger menu): BeautifulSoup (default) or Scrapling (adaptive, ~2x faster, anti-bot bypass).

Configuration

Edit options.txt in the data directory (~/.local/share/animescape/options.txt):

Key Description Default
INTERNAL_TORRENT_DL_DIR Torrent download location ~/.local/share/animescape/
OUTPUT_MAGNET_FILES_DIR Magnet file output directory ~/.local/share/animescape/magnets/
UI_USE_CUSTOM_THEME Enable custom colors/fonts False
WATCH_FOLDER_ACTIVE Enable watch folder on startup False
API_PROVIDER MAL API backend tenrai
SCRAPE_PROVIDER Web scraping backend beautifulsoup
SHOW_SE_COLUMN Show Series/Episode column in search results False
TORRENT_PROFILE libtorrent performance profile min_memory

Data Directory

All persistent data lives in ~/.local/share/animescape/ (Linux). The app migrates existing data from the working directory on first run.

~/.local/share/animescape/
├── options.txt              # User preferences
├── torrent_client.log       # Torrent client log
├── database/
│   ├── anime_details.csv    # Anime metadata
│   ├── search_terms.csv     # Saved search terms
│   ├── episode_history.csv  # Download history
│   ├── auto_downloads.csv   # Autodownload records
│   ├── anime_data.csv       # Query/MAL mapping
│   ├── seasonal_cache.json  # Seasonal browser cache
│   └── filter_presets.json  # Genre filter presets
├── images/                  # Cached cover art
│   └── seasonal/            # Seasonal browser thumbnails
├── backups/                 # Automatic database backups
└── fonts/                   # Custom fonts (optional)

Override with the ANIMESCAPE_DATA_DIR environment variable.


Building

# Install build dependencies
pip install nuitka ordered-set
pip install -r requirements.txt
pip install libtorrent

# Build standalone binary
bash build_app.sh

CI builds for Linux and Windows run automatically via GitHub Actions on push.


Seasonal Browser

  • Sort: By Release Date, Title, or Origin (Chinese → Japanese → Unknown)
  • Filter: Genre filter with presets (Save, Load, Rename, Delete)
  • Details Pane: Info tab (synopsis, metadata) and Status tab (enrichment log)
  • Stale item pruning: Shows older than 1 year removed automatically
  • Origin detection: Detects Chinese/Japanese origin from producer/studio data

Windows Zip folder 0.9.0

Choose a tag to compare

@FrostyAnime FrostyAnime released this 06 Sep 16:28
5c9d971

AnimeSV

AnimeSV is a portable desktop application for tracking anime progress, fetching metadata, and finding releases across multiple providers. It combines a personal database with an integrated torrent client and search engine.

This one has only just been built as a windows directory with the anime_sv.exe file in it. Many issues will not have been discoved yet.

Key Features

  • Multi-Provider Search: Search Nyaa.si, SubsPlease, HiAnime, and SeaDex from one interface.
  • Integrated Downloader: Built-in libtorrent client for downloading episodes directly, or open magnet links in an external client.
  • Smart Tracking: Remembers your last watched episode, quality, and fansub group to find the next episode automatically.
  • SxxExx Parsing: Extracts season/episode identifiers from filenames (supports S01E05, S01 - 05, Ep05, and more). Toggle the SE column from the hamburger menu.
  • Metadata Fetching: Pulls cover art, descriptions, genres, and titles from MyAnimeList via Tenrai or Jikan APIs.
  • Seasonal Browser: Browse current and past seasons with genre filtering, origin detection (Chinese/Japanese), and enrichment status.
  • Watch Folder Automation: Trigger downloads by creating a file in your download directory.
  • Autodownloader: Bulk scan your entire collection for new episodes.
  • Configurable Scrape Backend: Choose BeautifulSoup (default) or Scrapling (adaptive, anti-bot bypass).
  • Requirements Check: Detects missing Python modules at startup and via the hamburger menu.
  • Customizable UI: Theme editor with color/font options, cross-platform scroll wheel support, ESC-to-close on all dialogs.

Getting Started

Standalone Binary (Recommended)

  1. Download anime_sv.bin (Linux) or anime_sv.exe (Windows) from the releases page.
  2. Make it executable (Linux):
    chmod +x anime_sv.bin
  3. Run:
    ./anime_sv.bin

On first launch, the app creates its data directory at ~/.local/share/animescape/ (Linux) and initializes the database.

Running from Source

git clone <repo-url>
cd animeScrape
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python anime_sv.py

Requirements

Python Packages

Package Purpose Required
requests HTTP client Yes
beautifulsoup4 HTML parsing (default scraper) Yes
Pillow Cover art image processing Yes
scrapling[all] Adaptive web scraping with anti-bot bypass Optional
yt-dlp Video/stream extraction (used as CLI tool) Optional
libtorrent Internal torrent client Optional
Nuitka Building standalone binary Build only
platformdirs Cross-platform data directory resolution Optional (fallback available)

Install all at once:

pip install -r requirements.txt
pip install libtorrent  # separate due to binary dependency

System Dependencies

Japanese/CJK Font Support (required for correct title rendering):

Distro Command
Debian/Ubuntu sudo apt install fonts-noto-cjk
Arch Linux sudo pacman -S noto-fonts-cjk
Fedora sudo dnf install google-noto-sans-cjk-fonts

Checking Module Availability

The app checks for required modules at startup. You can also check manually via the hamburger menu: Check Python Modules. This shows which modules are installed in the current Python environment vs a .venv, and provides exact pip install commands for anything missing.


How to Use

Building Your Collection

  1. Click the Hamburger Menu (☰)Manage Titles.
  2. Click Add New Title, type a name (e.g., "Frieren"), and select the match.
  3. The app scrapes metadata and adds it to your library.

Finding Releases

  1. Select an anime using << Prev / Next >> or the slider.
  2. Choose a Source from the dropdown (default: Nyaa).
  3. Results appear in the right pane.
  4. Right-click a result → Download (Internal) or Fetch & Watch (External).

Tracking Progress

  • Every download is recorded. The app remembers your preferred Group, Quality, and Episode.
  • Find Next Ep searches for the next episode based on your history.

Watch Folder Automation

  1. Enable Watch Folder checkbox in the main window.
  2. Create a file named Search Term.animeSV in your download directory (e.g., Frieren 05.animeSV).
  3. AnimeSV detects it, finds the best match, and starts the download.
  4. The filename updates to show progress: Frieren 05.20%Frieren 05.completed.

Supported Providers

Provider Type Notes
Nyaa Torrents General anime torrents (default)
SubsPlease Torrents Direct releases from SubsPlease
HiAnime Streaming Web-based streaming source
SeaDex Index Best-release index (requires AniList ID)
AllAnime Streaming DEFUNCT (Cloudflare + API encryption)

API & Scrape Providers

  • API Provider (hamburger menu): Tenrai (default, faster) or Jikan for MAL data.
  • Scrape Provider (hamburger menu): BeautifulSoup (default) or Scrapling (adaptive, ~2x faster, anti-bot bypass).

Configuration

Edit options.txt in the data directory (~/.local/share/animescape/options.txt):

Key Description Default
INTERNAL_TORRENT_DL_DIR Torrent download location ~/.local/share/animescape/
OUTPUT_MAGNET_FILES_DIR Magnet file output directory ~/.local/share/animescape/magnets/
UI_USE_CUSTOM_THEME Enable custom colors/fonts False
WATCH_FOLDER_ACTIVE Enable watch folder on startup False
API_PROVIDER MAL API backend tenrai
SCRAPE_PROVIDER Web scraping backend beautifulsoup
SHOW_SE_COLUMN Show Series/Episode column in search results False
TORRENT_PROFILE libtorrent performance profile min_memory

Data Directory

All persistent data lives in ~/.local/share/animescape/ (Linux). The app migrates existing data from the working directory on first run.

~/.local/share/animescape/
├── options.txt              # User preferences
├── torrent_client.log       # Torrent client log
├── database/
│   ├── anime_details.csv    # Anime metadata
│   ├── search_terms.csv     # Saved search terms
│   ├── episode_history.csv  # Download history
│   ├── auto_downloads.csv   # Autodownload records
│   ├── anime_data.csv       # Query/MAL mapping
│   ├── seasonal_cache.json  # Seasonal browser cache
│   └── filter_presets.json  # Genre filter presets
├── images/                  # Cached cover art
│   └── seasonal/            # Seasonal browser thumbnails
├── backups/                 # Automatic database backups
└── fonts/                   # Custom fonts (optional)

Override with the ANIMESCAPE_DATA_DIR environment variable.


Building

# Install build dependencies
pip install nuitka ordered-set
pip install -r requirements.txt
pip install libtorrent

# Build standalone binary
bash build_app.sh

CI builds for Linux and Windows run automatically via GitHub Actions on push.


Seasonal Browser

  • Sort: By Release Date, Title, or Origin (Chinese → Japanese → Unknown)
  • Filter: Genre filter with presets (Save, Load, Rename, Delete)
  • Details Pane: Info tab (synopsis, metadata) and Status tab (enrichment log)
  • Stale item pruning: Shows older than 1 year removed automatically
  • Origin detection: Detects Chinese/Japanese origin from producer/studio data