Skip to content

v3.0

Choose a tag to compare

@56cla 56cla released this 07 Mar 03:50
· 7 commits to main since this release

AniChapters v3.0 — Shared Chapters Database
What's New
☁ Shared Chapters Database

AniChapters now supports a community-driven chapter database.

When a user analyzes an episode and generates chapters, the result is uploaded to a shared database.
Future users analyzing the same episode can skip audio analysis entirely and instantly load the existing chapters.

This significantly reduces processing time and allows the community to collaboratively build a large chapter library.

The system works using Supabase (PostgreSQL) as a centralized backend.

⚡ Smart Episode Lookup

Before running audio analysis, AniChapters now checks the shared database using:

AniList ID

Season number

Episode number

If chapters already exist, they are downloaded immediately and applied to the video.

💾 Local Cache System

A local cache database has been added to speed up repeated episode processing.

When chapters are downloaded from the shared database, they are also stored locally so the same episode can be loaded instantly in future runs.

Cache files are stored in a temporary runtime database:

shared_chapters_cache.db
🔑 Supabase Integration

Added full support for Supabase as the backend service.

The application now automatically:

Verifies database connectivity on startup

Tests read/write permissions

Ensures the shared chapters table is accessible

Only publishable API keys are used for client access.

📡 Improved AniList Integration

AniChapters now resolves the correct anime identifier automatically via AniList, ensuring reliable episode matching across users.

Files Changed
analyzer.py — Added shared DB lookup and result upload
app.py — Shared DB startup checks and cache integration
shared_db.py — New: database orchestrator (remote + cache)
remote_db.py — New: Supabase communication layer
api_anilist.py — New: AniList ID resolution
supabase_setup.sql — New: database schema for shared chapters
.gitignore — Added cache and credential exclusions
Notes

Only Supabase publishable keys are used for client access.

Local cache improves performance but the primary source of chapters is the shared database.

Database writes use upsert logic to prevent duplicate episode entries.