Skip to content

Installation

Rishu edited this page Oct 22, 2026 · 2 revisions

Installation

Noema requires Python 3.13 or newer.

Install

pip install noema-rag

The package is named noema-rag on PyPI, and you still import noema. Do not install the separate noema package from PyPI. It is an unrelated project that uses the same import name.

Noema parses text with spaCy. If the English model is not already present in your environment, install it:

python -m spacy download en_core_web_sm

The core install includes torch and sentence-transformers, because fact deduplication and retrieval both use embeddings. Model weights download on first use, so the first call to compress() or kb.ingest() needs network access and takes longer than later calls.

Optional extras

Extra Install Adds
advanced-nlp pip install "noema-rag[advanced-nlp]" Coreference resolution (fastcoref). See Advanced NLP
langchain pip install "noema-rag[langchain]" NoemaRetriever. See Integrations
llamaindex pip install "noema-rag[llamaindex]" NoemaLlamaIndexRetriever
anthropic pip install "noema-rag[anthropic]" Exact Claude token counts
neo4j pip install "noema-rag[neo4j]" Neo4jBackend. See Large Datasets and Backends
rdf pip install "noema-rag[rdf]" RDFBackend

Combine extras with commas: pip install "noema-rag[langchain,neo4j]".

Each optional module imports its third-party package only when you create the class that needs it, so import noema works without any extra installed. Creating NoemaRetriever, Neo4jBackend and so on without the matching extra raises an ImportError that names the install command.

Install from source with uv

git clone <repository-url>
cd noema
uv sync

Add extras with --extra, for example uv sync --extra rdf --extra neo4j. Run commands with uv run, for example uv run pytest.

Verify the install

python -c "import noema; print(noema.compress('Larry Page founded Google in 1998.').notation)"
noema --help

If the first command fails on a missing spaCy model, see Troubleshooting.

Next

Quick Start

Clone this wiki locally