An RSS subscriber and information summarizer.
Python 3.10+
pip install -r requirements.txt
# Simple Test
python main.py
# API Server
fastapi dev ./app.py
Using Docker
docker compose up --build
# Debug (after docker compose up)
docker compose exec api fastapi dev ./app.py --host 0.0.0.0 --port 7999
Migration
alembic revision --autogenerate -m "migration commit"
python3.11 -m alembic revision --autogenerate -m "migration commit"
docker-compose exec api alembic revision --autogenerate -m "migration commit"
view_database.py
- Compress output with zstd
- Use database
- SQLite
- PostgreSQL with docker compose testdrivenio/fastapi-sqlmodel-alembic: Sample FastAPI project that uses async SQLAlchemy, SQLModel, Postgres, Alembic, and Docker.
- YAML Configure file to config
- source
- frequency
- additional processing modules (e.g. NER, tags)
- Search/Retrieval on parsed data
- Elastic Search elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine
- VectorDB
- Send feed or summarized feed to downstream subscription (e.g. Discord webhook)
- Know how to do the database migration when data model schema change => Alembic
- Somehow error will occur for unknown reason
WatchfilesRustInternalError: error in underlying watcher: IO error for operation on /app/database.db-journal: No such file or directory (os error 2) about ["/app/database.db-journal"]
RSS Source
Parser
API
- FastAPI
- ASPScheduler
- Wrapper
- amisadmin/fastapi-scheduler: FastAPI-Scheduler is a simple scheduled task management FastAPI extension based on APScheduler.
- amisadmin/fastapi-amis-admin: FastAPI-Amis-Admin is a high-performance, efficient and easily extensible FastAPI admin framework. Inspired by django-admin, and has as many powerful functions as django-admin.
- Native
- Wrapper