Skip to main content

Ancient Philosophy Knowledge Graph - CLI Tools

Project description

EleutherIA

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)

DOI License: CC BY 4.0

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:

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

eleutheria-1.1.2.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eleutheria-1.1.2-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file eleutheria-1.1.2.tar.gz.

File metadata

  • Download URL: eleutheria-1.1.2.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

Hashes for eleutheria-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b808384d2e2949baa589d65197561b5a6ef1ec9b80d4961ef3c447ff267574c8
MD5 210c7b4df068ab1e8a2200f47b9eb465
BLAKE2b-256 4c16c32a47d3578682a3f682c91eafe1cefc220e39e5fe2103b60c71e7cc8e45

See more details on using hashes here.

Provenance

The following attestation bundles were made for eleutheria-1.1.2.tar.gz:

Publisher: publish.yml on romain-girardi-eng/EleutherIA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eleutheria-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: eleutheria-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eleutheria-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fcd9ddeb5b2bb94b30264cbe89c277c70c4ac69f0730afe56b7ce1c36f2aade1
MD5 f43a146d7dda90817ca9970c48523271
BLAKE2b-256 9ac6a460d8c3ae8ede0d9ee44984ad99ae171b4b052c71c7b34f489241f61d37

See more details on using hashes here.

Provenance

The following attestation bundles were made for eleutheria-1.1.2-py3-none-any.whl:

Publisher: publish.yml on romain-girardi-eng/EleutherIA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page