Skip to content

GDGVIT/iris

Repository files navigation

Iris Wikipedia Pathfinder

Iris finds a path between any two Wikipedia pages by traversing their links.

You give it two page titles — say, "Banana" and "Shah Rukh Khan" — and it walks Wikipedia's link graph using BFS until it finds the connection. Results are visualized as an interactive graph you can drag around.

It uses bidirectional BFS (default) which searches simultaneously from both pages toward each other using Wikipedia backlinks, meeting in the middle for faster results. You can also use standard forward-only BFS if preferred. Redis stores the search state instead of holding everything in memory, which keeps it from blowing up on deep searches.

What It Does

  • Find Wikipedia paths via bidirectional BFS (default) or standard forward-only BFS
  • Async task processing — searches run in the background, results polled live
  • Real-time progress updates during search (aggregated from both search frontiers)
  • Interactive D3.js graph visualization of the path

Tech Stack

Python Flask Celery Redis Gunicorn D3.js uv Ruff ty License

Quick Start

git clone https://github.com/mdhishaamakhtar/iris
cd iris

uv sync

./dev.sh

Then open http://localhost:9020.

Swagger docs at http://localhost:9020/api/docs.

Scripts

Script When to use
dev.sh Local development — starts Redis (if needed), Flask, and Celery in one terminal
start.sh Manual production-like run on a single host (both web + worker)
entrypoint.sh Docker/Railway container entry — switches on SERVICE_TYPE env var

Dev

uv run pytest                                        # run tests
uv run pytest --cov=app --cov-report=term-missing    # run tests with coverage
uv run pytest --cov=app --cov-report=html            # generate HTML coverage report (open htmlcov/index.html)
uv run ruff format .                                 # format
uv run ruff check .                                  # lint
uv run ty check                                      # type check

Contributors

Made with ❤️ by DSC VIT

About

Iris – Wikipedia Pathfinding Engine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors