Ancient Philosophy Knowledge Graph - CLI Tools
Project description
https://free-will.app
A FAIR-compliant knowledge graph for ancient philosophical debates on free will, fate, and moral responsibility (6th c. BCE - 6th c. CE)
Quick Start
# Install CLI
pip install eleutheria
# Clone and configure
git clone https://github.com/romain-girardi-eng/EleutherIA.git
cd EleutherIA
cp .env.example .env
# Add your API key(s) to .env
# Start all services
eleutheria run
Access: http://localhost (frontend) | http://localhost:8000/docs (API)
CLI Commands
# Services
eleutheria run # Start all services (Docker)
eleutheria run -p full # With monitoring (Prometheus + Grafana)
eleutheria stop # Stop services
eleutheria status # Check service health
eleutheria doctor # Diagnose issues
# Search & Query
eleutheria search "Stoic fate" # Search knowledge graph
eleutheria ask "What is free will?" # Ask with GraphRAG
eleutheria ask -t "Complex question" # Extended reasoning mode
# Explore Data
eleutheria stats # Database statistics
eleutheria philosophers # List philosophers
eleutheria concepts # List concepts
eleutheria works -l grc # List works by language
# Export/Import
eleutheria export kg # Export knowledge graph
eleutheria export passages # Export passages
# Development
eleutheria test all # Run all tests
eleutheria lint --fix # Lint + auto-fix
eleutheria quality # Full quality check
# Quick Access
eleutheria web # Open free-will.app
eleutheria docs # Open documentation
eleutheria shell # Interactive mode
The Three Systems
| Package | Install | Purpose |
|---|---|---|
| database/ | pip install eleutheria-database |
Ancient Greek/Latin texts corpus (189 works, 17k passages) |
| kg/ | pip install eleutheria-kg |
Knowledge graph framework (2,193 nodes, 8,616 edges) |
| graphrag/ | pip install eleutheria-graphrag |
Graph-based RAG for scholarly Q&A |
Install only what you need. Each package works independently.
Features
- Dual-layer structure: Primary layer (ancient sources) + secondary layer (modern scholarship)
- Hybrid search: Full-text + lemmatic + semantic search with RRF fusion
- GraphRAG: 5-stage RAG pipeline with citation grounding to ancient passages
- Lemmatization: Token-level analysis of Ancient Greek and Latin texts
- Interactive visualization: Cosmograph GPU-accelerated graph exploration
Documentation
Full documentation is available in the docs/ folder:
- Quick Start - Get running in 5 minutes
- Architecture - System design and components
- API Reference - REST API documentation
- Data Dictionary - Database schema reference
- Development Setup - Contributing guide
Tech Stack
- Backend: FastAPI + Python 3.11+ + PostgreSQL + Qdrant
- Frontend: React 19 + TypeScript + Vite + Tailwind CSS + Cosmograph
- LLM: Gemini 3 (primary) + Kimi K2.5 Thinking (extended reasoning)
- Deployment: Docker Compose
Statistics
| Metric | Count |
|---|---|
| Knowledge graph nodes | 2,193 |
| Knowledge graph edges | 8,616 |
| Ancient works | 189 |
| Passages | 16,968 |
| Node types | 15 |
| Relation types | 32 |
Citation
@software{girardi2025eleutheria,
author = {Girardi, Romain},
title = {EleutherIA: A FAIR-Compliant Knowledge Graph for Ancient Philosophy on Free Will},
year = 2025,
publisher = {Zenodo},
doi = {10.5281/zenodo.17379490},
url = {https://doi.org/10.5281/zenodo.17379490}
}
License
CC BY 4.0 - See LICENSE
Links
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 eleutheria-1.1.3.tar.gz.
File metadata
- Download URL: eleutheria-1.1.3.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1c17b3e1589c601ecfcc4900baf415ea7fcb5ef5eeb39adad276decdc73c09f
|
|
| MD5 |
dda66ef4ef4a8472a8f8debf011d0d2d
|
|
| BLAKE2b-256 |
b6697bd90190d7b01d53e6dac49700fb2ecc3c90e6431f3001006e5f7cdd939b
|
Provenance
The following attestation bundles were made for eleutheria-1.1.3.tar.gz:
Publisher:
publish.yml on romain-girardi-eng/EleutherIA
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eleutheria-1.1.3.tar.gz -
Subject digest:
a1c17b3e1589c601ecfcc4900baf415ea7fcb5ef5eeb39adad276decdc73c09f - Sigstore transparency entry: 875828695
- Sigstore integration time:
-
Permalink:
romain-girardi-eng/EleutherIA@73d868308539bccb82ea7770d94e80ead565bc3c -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/romain-girardi-eng
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73d868308539bccb82ea7770d94e80ead565bc3c -
Trigger Event:
release
-
Statement type:
File details
Details for the file eleutheria-1.1.3-py3-none-any.whl.
File metadata
- Download URL: eleutheria-1.1.3-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bd70920ec015399a6c4ccba6bc95edd828c692cbade063fb6c49de155940b5c
|
|
| MD5 |
b6e7aee6b825baa149f7f98f82573be4
|
|
| BLAKE2b-256 |
0d7597a4f019a5f0616745c81173526101a8dd544a8973143900450675a602b8
|
Provenance
The following attestation bundles were made for eleutheria-1.1.3-py3-none-any.whl:
Publisher:
publish.yml on romain-girardi-eng/EleutherIA
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eleutheria-1.1.3-py3-none-any.whl -
Subject digest:
2bd70920ec015399a6c4ccba6bc95edd828c692cbade063fb6c49de155940b5c - Sigstore transparency entry: 875828744
- Sigstore integration time:
-
Permalink:
romain-girardi-eng/EleutherIA@73d868308539bccb82ea7770d94e80ead565bc3c -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/romain-girardi-eng
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73d868308539bccb82ea7770d94e80ead565bc3c -
Trigger Event:
release
-
Statement type: