Repository navigation
v3.0
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.