A fast, searchable index of GitHub's awesome lists
AwesomeIndex is a search engine for discovering curated open source projects across all of GitHub's "awesome" repositories. AwesomeIndex indexes the actual projects within these lists, making it easy to search for tools or libraries in various ecosystems.
- Full-text search across thousands of curated projects
- Real-time filtering by repository, category, language, and stars
- Mobile-friendly responsive design
- Backend: Python, FastAPI, SQLModel, SQLite
- Search: MeiliSearch
- Frontend: HTMX, Jinja2
- Package Manager: uv
- Linting/Formatting: Ruff
- Type Checking: Ty
- Python 3.12 or higher
- uv package manager
- MeiliSearch (v1.0+)
- GitHub personal access token (for API access)
- Clone the repository:
git clone https://github.com/MorrisonWill/awesomeindex.git
cd awesomeindex- Install dependencies with uv:
uv sync- Set up environment variables:
cp .env.example .env
# Edit .env with your settings:
# - GITHUB_TOKEN: Your GitHub personal access token
# - DATABASE_URL: Path to SQLite database
# - MEILISEARCH_URL: MeiliSearch server URL (default: http://localhost:7700)- Start MeiliSearch:
# Using Docker
docker run -it --rm -p 7700:7700 getmeili/meilisearch:latest
# Or download and run the binary
curl -L https://install.meilisearch.com | sh
./meilisearch- Initialize the database and seed with repositories:
uv run python awesomeindex-seed- Parse projects from repositories:
uv run python awesomeindex-parse- Start the development server:
uv run python -m app.mainThe project includes some CLI tools for managing data:
# Seed database with awesome repositories
uv run python cli.py seed
# Parse projects from repositories
uv run python cli.py parse
# Reindex all projects in MeiliSearch
uv run python cli.py reindexOnce the server is running, visit:
- Interactive API docs: http://localhost:8000/docs
- Alternative API docs: http://localhost:8000/redoc
Contributions are welcome! I believe this has the potential to be a valuable resource for developers.
This project is licensed under the MIT License - see the LICENSE file for details.
- awesome - The awesome list of awesome lists
- awesome-search - Another awesome list search engine