Build, search and ask questions on your study materials — locally.
Project description
StudyGraph
Carica i tuoi PDF, fai domande, ricevi risposte con citazioni — tutto in locale.
StudyGraph trasforma appunti, dispense e slide in una knowledge base interrogabile con ricerca testuale e semantica. L'interfaccia web ti mostra una mappa visuale dei tuoi materiali e ti permette di fare domande con risposte citate. Funziona offline con --dry-run, senza API key.
Requisiti
- Python >= 3.10
- Windows, macOS o Linux
Quickstart
# 1. Installa da PyPI
pip install studygraph
# 2. (Opzionale) Crea i file di configurazione
studygraph init
# 3. Avvia l'interfaccia web (apre automaticamente il browser)
studygraph start
# 4. Carica i tuoi PDF dalla pagina Upload, oppure clicca "Prova la demo"
PDF di esempio: la cartella
studygraph/demo_pdfs/contiene 5 PDF sintetici per testare la pipeline completa. Per provare: caricaanalisi1_good.pdfdalla pagina Upload.
Tutto parte dalla pagina Esplora che mostra la tua knowledge base con un grafo visuale. Se non hai ancora documenti, StudyGraph carica automaticamente una demo (Fourier, Limiti, Derivate).
Windows
Su Windows, dopo l'installazione puoi:
- Usare il terminale: apri PowerShell o CMD e digita
studygraph start - Usare il launcher: fai doppio clic su
start_studygraph.bat(apre automaticamente il browser suhttp://localhost:8111)
Comandi principali
| Comando | Cosa fa |
|---|---|
studygraph start |
Avvia tutto: web UI + apre il browser. Il punto di partenza. |
studygraph init |
Crea config.yaml e .env.example nella cartella corrente |
studygraph web |
Avvia l'interfaccia web locale (Esplora, Upload, Dashboard, Cerca, Chiedi) |
studygraph ask "domanda" |
Risponde a una domanda con citazioni |
studygraph search-kb "query" |
Cerca nella knowledge base (mode: lexical/semantic/hybrid) |
studygraph build DIR |
Pipeline completa: audit -> export -> KB -> indice -> embedding |
studygraph demo |
Demo end-to-end da terminale |
studygraph audit DIR |
Analizza e valuta documenti |
studygraph evaluate-retrieval KB DATASET |
Confronta modalita di retrieval |
studygraph evaluate-qa KB DATASET |
Valuta qualita delle risposte |
studygraph start
Il comando principale per iniziare:
studygraph start # avvia su http://localhost:8111 e apre il browser
studygraph start --port 8112 # porta custom
studygraph web
Interfaccia web locale con 6 pagine — Esplora, Upload, Dashboard, Cerca, Chiedi:
studygraph web # avvia su http://localhost:8111
studygraph web --port 8112 # porta custom
studygraph web --host 0.0.0.0 # accessibile da altri dispositivi nella rete
Design "Warm Academic": palette calda, font serif, layout editoriale. CSS inline, zero dipendenze frontend.
Pagina Esplora: mappa visuale della knowledge base (grafo corsi → argomenti → documenti), card esplorabili, statistiche. Se la KB e vuota, trovi un welcome con guida in 3 step e pulsante per la demo.
studygraph build
Pipeline completa in un comando:
studygraph build ./data/input --course "Analisi 1" --dry-run
Opzioni: --dry-run (nessuna API key), --course, --output-dir, --skip-export, --with-embed-real.
studygraph ask
studygraph ask "Che cos'è il limite di una funzione?" --mode hybrid --dry-run
studygraph ask "formule di derivazione" --mode lexical --dry-run --json
Opzioni: --mode lexical|semantic|hybrid, --course, --top-k, --json.
studygraph search-kb
studygraph search-kb "serie di Fourier" --mode lexical
studygraph search-kb "funzioni periodiche" --mode semantic --dry-run
studygraph search-kb "0/0" --mode hybrid --dry-run
studygraph audit (comando base)
studygraph audit ./examples/demo_documents --course "Analisi 1" --dry-run
Processo: ingest -> estrazione testo -> qualita -> dedup -> scoring -> decisione -> dashboard CSV+HTML.
Configurazione
Per usare LLM ed embedding reali, crea .env.local:
STUDYGRAPH_API_KEY=la_tua_chiave
STUDYGRAPH_LLM_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/
STUDYGRAPH_LLM_MODEL=gemini-2.0-flash
Oppure modifica config.yaml. I default puntano a OpenAI (api.openai.com/v1, modello gpt-4o-mini).
Output
Tutto in data/output/:
dashboard.csv/.html— report con score e decisionidashboard_<corso>.csv/.html— per corsodocuments.jsonl— record completi di scoringknowledge_base/— KB canonica con catalog + per-course indicisearch_index/— indice invertito per ricerca BM25vector_index/— embedding vettoriali (se generati)eval/— report di valutazione retrieval e QAdemo/— output del comando demo
Troubleshooting
pkg_resources o pip errori durante l'installazione
Assicurati di avere Python >= 3.10 e pip aggiornato:
python --version
pip install --upgrade pip
studygraph: command not found (Windows)
Assicurati che Python Scripts sia nel PATH:
python -m studygraph web
Oppure reinstalla con pip install -e . e riavvia il terminale.
Porta 8111 gia in uso
studygraph web --port 8112 # usa una porta diversa
PyMuPDF (libreria PDF) non si installa
Su Windows, PyMuPDF ha wheel precompilati. Se l'installazione fallisce, installa prima:
pip install --upgrade pip setuptools wheel
pip install pymupdf
API key non valida o errore LLM
Usa --dry-run per evitare chiamate API:
studygraph build ./data/input --dry-run
Oppure verifica la configurazione in .env.local.
Altri problemi
Apri una issue su GitHub Issues.
Test
pytest # 237 test
Licenza
MIT — vedi LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file studygraph-1.2.2.tar.gz.
File metadata
- Download URL: studygraph-1.2.2.tar.gz
- Upload date:
- Size: 85.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25759a7cf5e0ef071ed18404179c9b2b0ac3e03ab234a7862172e93a2b8ed375
|
|
| MD5 |
0752399c16f80ab1c454359e7052384a
|
|
| BLAKE2b-256 |
772f84837f9896db9a7868eb53daf3b9e811dba41f1e18eb41fb07bf27e9c144
|
File details
Details for the file studygraph-1.2.2-py3-none-any.whl.
File metadata
- Download URL: studygraph-1.2.2-py3-none-any.whl
- Upload date:
- Size: 84.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22b4082163bde9bcba932e19c7f9137855e491628d484575179e9af7e7d091c9
|
|
| MD5 |
32471195f90d26d0b0799b78750bf112
|
|
| BLAKE2b-256 |
cd8bb2792788628e45b0659657657b25bae25caf55fcb411527c50e3daf99ab3
|