Skip to content

The Streamlit application allows you to search, filter, and locally store the anime you've watched.

Notifications You must be signed in to change notification settings

vknov21/anime-watchlist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📺 Anime Watchlist Tracker

A Streamlit web application that allows you to search, filter, and track anime using a local SQLite database. Built on top of the Anilist API, this app lets you create a personal watchlist, explore anime by genre or rating, and store your progress locally.


✨ Features

  • 🔎 Search & Browse anime by name, tags, genres, or MAL rating
  • 🧩 Filter by custom genre/tag combinations and rating ranges
  • 📋 Personal Watchlist — log and update your anime watch status
  • 💾 Local Storage using SQLite (no internet required once data is cached)
  • 🌐 Online/Offline Mode toggle to switch API usage (in progress)
  • 📌 Sticky Search Header with pagination and interactive UI
  • ⚙️ Settings Tab for toggles like expanded search or online mode

📸 Screenshots

User's List

1748403375449

Anime Catalogue

1748403407709

Browse Anime to add in My List

1748403483445

User Config

1748403524658


🚀 Getting Started

1. Clone the Repository

git clone https://github.com/vknov21/anime-watchlist.git
cd anime-watchlist

2. Install Dependencies

Ensure Python 3.8+ is installed, then run:

pip install -r requirements.txt

3. Run the Application

Use Streamlit, not plain Python:

streamlit run app.py

🗂️ Directory Structure

anime-watchlist-tracker/
│
├── app.py                       # Main Streamlit app
├── requirements.txt             # Python dependencies
├── README.md                    # You're here
├── html_custom_style/           # Custom header/footer decorators
└── utils/
    ├── anilist_utils.py             # Functions for querying Anilist API
    ├── anime_storage.db             # SQLite DB for storing watchlist
    ├── consts.py                    # Constants for genres and UI choices
    ├── search.py                    # For online search capability
    └── utils.py                     # Contains header info

⚙️ Requirements

  • Python 3.8 or newer
  • Streamlit
  • SQLite3
  • htbuilder, requests, and other Python dependencies listed in requirements.txt

💡 Notes

  • If no user watchlist exists, you'll be prompted to enter a username which will create a local table for your entries.
  • You can toggle Online Mode and Expanded Search from the ⚙️ Config tab.

📌 To-Do / Improvements

  • Add login/authentication for multiple users
  • Make the app more customizable through Config tab
  • Provide a way to export/import the data
  • Provide more filters for the users
  • Responsive UI improvements for mobile
  • Currently only supports Dark Mode

🤝 Contributions

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.


🙏 Acknowledgements

About

The Streamlit application allows you to search, filter, and locally store the anime you've watched.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages