# What Are the Dependencies for Semantica AGI? A Complete Guide

> Explore the complete dependencies for Semantica AGI, including Python and JavaScript packages. Understand its core and optional extras for LLM providers, databases, and vector stores.

- Repository: [Semantica /semantica](https://github.com/semantica-agi/semantica)
- Tags: how-to-guide
- Published: 2026-08-13

---

**Semantica AGI ships with a core set of safe defaults defined in [`pyproject.toml`](https://github.com/semantica-agi/semantica/blob/main/pyproject.toml) plus modular optional extras for LLM providers, graph databases, and vector stores, while the Explorer dashboard lists its JavaScript dependencies in [`explorer/package.json`](https://github.com/semantica-agi/semantica/blob/main/explorer/package.json).**

Semantica AGI is a modular Python library designed for building AI agents that reason over knowledge graphs. Unlike monolithic frameworks, it uses an opt-in dependency model where you install only what your use case requires. All Python dependencies are centralized in the repository root's **[`pyproject.toml`](https://github.com/semantica-agi/semantica/blob/main/pyproject.toml)**, while the React-based Explorer UI declares its requirements separately in **[`explorer/package.json`](https://github.com/semantica-agi/semantica/blob/main/explorer/package.json)**.

## Core Runtime Dependencies

When you run `pip install semantica`, you receive approximately 40 core packages that provide fundamental capabilities for data manipulation, NLP, embedding generation, and graph manipulation. These are pinned with minimum versions in [`pyproject.toml`](https://github.com/semantica-agi/semantica/blob/main/pyproject.toml) lines 45–89 to ensure compatibility without forcing unnecessary bloat.

### Data Science and Machine Learning

The core stack relies on standard scientific Python libraries:

- **`numpy`** (≥2.0.2) and **`pandas`** (≥1.3.0) for tensor and tabular data operations
- **`scipy`** (≥1.13.1) for scientific algorithms and optimization
- **`scikit-learn`** (≥1.7.2) for classical ML models and clustering
- **`torch`** (≥1.13.1) as the deep learning backbone
- **`umap-learn`** (≥0.5.12) for dimensionality reduction

### Natural Language Processing and Embeddings

Text processing is handled by industry-standard libraries:

- **`spacy`** (≥3.4.0) for tokenization, NER, and linguistic pipelines
- **`transformers`** (≥4.20.0) for accessing HuggingFace models
- **`sentence-transformers`** (≥2.2.0) for ready-made sentence embeddings
- **`tokenizers`** (≥0.15.0) for fast tokenization
- **`fastembed`** (≥0.2.0) for lightweight embedding generation

### Graph and Semantic Web

Knowledge graph operations depend on:

- **`rdflib`** (≥6.2.0) for RDF graph handling and SPARQL queries
- **`networkx`** (≥2.8.0) for in-memory graph algorithms
- **`faiss-cpu`** (≥1.7.0) for CPU-based vector similarity search

### Visualization and Utilities

Interactive capabilities and developer experience are supported by:

- **`matplotlib`** (≥3.9.4), **`seaborn`** (≥0.13.2), and **`plotly`** (≥6.8.0) for plotting
- **`ipywidgets`** (≥8.0.0) for Jupyter UI components
- **`pydantic`** (≥2.13.4) for data validation and settings management
- **`click`** (≥8.4.2) and **`rich`** (≥12.5.0) for CLI creation and terminal output

### Document and Media Processing

Core ingestion handles multiple formats:

- **`beautifulsoup4`** (≥4.15.0) and **`lxml`** (≥6.1.1) for HTML/XML parsing
- **`python-docx`** (≥1.2.0) and **`openpyxl`** (≥3.1.5) for Office documents
- **`pillow`** (≥12.2.0) for image processing
- **`librosa`** (≥0.9.0) and **`opencv-python`** (≥4.13.0.92) for audio and computer vision

## Optional Extras for Extended Functionality

Semantica AGI organizes additional capabilities into logical extras that can be installed via `pip install semantica[<extra>]`. These groups are defined in [`pyproject.toml`](https://github.com/semantica-agi/semantica/blob/main/pyproject.toml) lines 102–176.

### LLM Provider Integrations

Direct API bindings for major providers include:

- **`llm-openai`**: `openai` client library
- **`llm-anthropic`**: `anthropic` SDK
- **`llm-gemini`**: `google-genai`
- **`llm-groq`**, **`llm-ollama`**, **`llm-deepseek`**, **`llm-litellm`**, and **`llm-instructor`**: respective API clients

### Graph and Vector Database Backends

Connect to production storage systems:

- **`graph-neo4j`**: `neo4j` driver
- **`graph-falkordb`**: `redis` connector
- **`graph-amazon-neptune`**: `boto3` for AWS access
- **`graph-apache-age`**: `psycopg2-binary` for PostgreSQL-based graph storage
- **Vector stores**: `vectorstore-qdrant`, `vectorstore-weaviate`, `vectorstore-pinecone`, `vectorstore-milvus`, `vectorstore-pgvector`, and `vectorstore-sqlite` with their respective client libraries (`qdrant-client`, `weaviate-client`, etc.)

### Document Parsing and Validation

Advanced processing capabilities:

- **`parse-docling`**: High-performance PDF/Docx parsing via `docling`
- **`shacl`**: RDF shape validation using `pyshacl`

### Infrastructure and Cloud

Production deployment dependencies:

- **`infra`**: Message queues and workers including `redis`, `celery`, `kafka-python`, and `pika`
- **`cloud`**: Storage APIs including `boto3`, `azure-storage-blob`, and `google-cloud-storage`
- **`monitoring`**: Observability via `prometheus-client` and OpenTelemetry libraries

### Specialized Hardware and Performance

- **`gpu`**: GPU-accelerated FAISS and CuPy (`faiss-gpu`, `cupy`)
- **`agno`**: Integration with the Agno agentic framework

### Development and UI Tools

- **`explorer`**: FastAPI-based backend for the web dashboard (`fastapi`, `uvicorn`, `websockets`)
- **`explorer-lite`**: Streamlit-based minimal UI (`streamlit`, `streamlit-agraph`)
- **`dev`**: Testing and linting tools (`pytest`, `black`, `mypy`, `pre-commit`)

The meta-extra **`all`** bundles every optional component (excluding GPU) for a one-stop install.

## Explorer Dashboard Frontend Dependencies

The optional Explorer UI is a React/TypeScript application whose dependencies are listed in **[`explorer/package.json`](https://github.com/semantica-agi/semantica/blob/main/explorer/package.json)**. It requires:

- **Core framework**: `react` and `react-dom` (^19.2.4)
- **Graph visualization**: `sigma` (^3.0.2), `@xyflow/react` (^12.10.2), and `graphology` plugins
- **UI components**: `@monaco-editor/react` for code editing, `react-arborist` for tree views, `react-dropzone` for file uploads, and `lucide-react` for icons
- **Data management**: `@tanstack/react-query` (^5.95.2) for server state management
- **Testing**: `playwright` (^1.59.1) for end-to-end testing

## Installing Semantica AGI

Install only what you need to keep your environment lightweight.

### Core Installation

```bash
pip install semantica

```

### Targeted Installation with Extras

Combine multiple extras for specific workflows:

```bash
pip install "semantica[graph-neo4j,llm-openai,vectorstore-qdrant]"

```

### Installing the Explorer UI

```bash
pip install "semantica[explorer]"
semantica-explorer  # launches FastAPI backend + React frontend

```

### Complete Installation

Install every optional component (excluding GPU) for maximum compatibility:

```bash
pip install "semantica[all]"

```

## How Dependencies Map to Source Code

The dependency declarations directly support specific modules in the codebase:

- **[`pyproject.toml`](https://github.com/semantica-agi/semantica/blob/main/pyproject.toml)**: Central definition of all Python dependencies, optional groups, and CLI entry points. Lines 45–89 define core dependencies; lines 100–176 define optional groups.
- **[`explorer/package.json`](https://github.com/semantica-agi/semantica/blob/main/explorer/package.json)**: Lists JavaScript libraries for the web dashboard UI.
- **[`semantica/graph/__init__.py`](https://github.com/semantica-agi/semantica/blob/main/semantica/graph/__init__.py)**: Implements the core graph abstraction that wires together `networkx`, `rdflib`, and optional backends like Neo4j.
- **[`semantica/mcp/__init__.py`](https://github.com/semantica-agi/semantica/blob/main/semantica/mcp/__init__.py)**: Entry point for the Multi-Chain Processor (MCP), which orchestrates LLM calls using the optional provider libraries and manages provenance tracking.
- **[`semantica/cli.py`](https://github.com/semantica-agi/semantica/blob/main/semantica/cli.py)**: Exposes commands like `semantica`, `semantica-server`, and `semantica-worker`, relying on `click` and `rich` from the core dependencies.
- **[`semantica/visualization/utils/layout_algorithms.py`](https://github.com/semantica-agi/semantica/blob/main/semantica/visualization/utils/layout_algorithms.py)**: Implements layout algorithms used by the `viz` extra and the Explorer dashboard.

## Summary

- **Core dependencies** in [`pyproject.toml`](https://github.com/semantica-agi/semantica/blob/main/pyproject.toml) (lines 45–89) provide essential data science, NLP, and graph capabilities via packages like `torch`, `spacy`, `rdflib`, and `networkx`.
- **Optional extras** (lines 102–176) enable specific LLM providers, graph databases, vector stores, and infrastructure components through the `pip install semantica[<extra>]` syntax.
- **Frontend dependencies** in [`explorer/package.json`](https://github.com/semantica-agi/semantica/blob/main/explorer/package.json) power the React-based Explorer dashboard with libraries like `sigma`, `@xyflow/react`, and `react`.
- The **`all`** meta-extra bundles every optional Python component except GPU-specific libraries.
- Key source files like [`semantica/graph/__init__.py`](https://github.com/semantica-agi/semantica/blob/main/semantica/graph/__init__.py) and [`semantica/mcp/__init__.py`](https://github.com/semantica-agi/semantica/blob/main/semantica/mcp/__init__.py) directly consume these dependencies to provide agentic reasoning and knowledge graph operations.

## Frequently Asked Questions

### What is the minimum Python version required for Semantica AGI?

The project requires Python 3.9 or higher as specified in the `requires-python` field of [`pyproject.toml`](https://github.com/semantica-agi/semantica/blob/main/pyproject.toml). Several core dependencies like `numpy` (≥2.0.2) and `pandas` (≥1.3.0) enforce additional compatibility constraints that ensure stable operation on supported Python versions.

### Can I install Semantica AGI without GPU dependencies?

Yes. GPU support is completely optional and isolated in the `gpu` extra, which installs `faiss-gpu` and `cupy`. The default `faiss-cpu` package handles vector similarity search on standard hardware. Install the core library or use the `all` extra to avoid GPU-specific packages entirely.

### How do I install only the backend API without the React frontend?

Install the `explorer` extra, which provides the FastAPI backend (`fastapi`, `uvicorn`) defined in the optional dependencies. The React frontend in the `explorer/` directory is a separate Node.js application that you can choose to build and serve independently, or you can interact with the API directly via HTTP clients like `requests` or `httpx`.

### What is the difference between `explorer` and `explorer-lite` extras?

The `explorer` extra installs a full FastAPI-based backend suitable for production deployments with WebSocket support (`websockets`, `python-multipart`). The `explorer-lite` extra installs a minimal Streamlit-based interface (`streamlit`, `streamlit-agraph`) for quick local prototyping without the overhead of a Node.js build process or separate frontend server.