CLI tool to build and maintain a local database of professors. Scrape a professor's webpage or describe them in plain text, and an LLM (via Ollama) extracts structured data. Entries are stored as individual JSON files and can be exported to HTML.
Requires Ollama running locally with a model pulled (default: qwen3:8b).
# install with uv (recommended)
uv tool install git+https://github.com/giuliofrey/profdb.git
# or for local development
uv tool install -e /path/to/profdbprofdb add "https://scholar.harvard.edu/maskin/home"The tool fetches the page, extracts structured info via Ollama, shows a preview, and asks whether to save.
Use --save to skip the prompt, or --no-save for a dry run:
profdb add "https://example.edu/prof" --saveprofdb add --from-text "Eric Maskin, Harvard. Works on mechanism design and game theory."profdb listprofdb search "auction" --tag "game theory"profdb exportGenerates an HTML table with name, institution, tags, and homepage links.
All commands accept --directory to point at a different database folder. The add command also supports:
| Flag | Description |
|---|---|
--model |
Ollama model (default: qwen3:8b) |
--host |
Custom Ollama host URL |
--timeout |
Web request timeout in seconds |
Entries are stored as JSON files in your OS data directory:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/profdb/professors/ |
| Linux | ~/.local/share/profdb/professors/ |
| Windows | %LOCALAPPDATA%\profdb\professors\ |
The examples/ directory contains sample data (Nobel laureates in mechanism design) and an exported HTML table.
git clone https://github.com/giuliofrey/profdb.git
cd profdb
uv tool install -e .
pytest