Repository navigation
Installation
Noema requires Python 3.13 or newer.
pip install noema-ragThe 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_smThe 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.
| 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.
git clone <repository-url>
cd noema
uv syncAdd extras with --extra, for example uv sync --extra rdf --extra neo4j. Run commands with
uv run, for example uv run pytest.
python -c "import noema; print(noema.compress('Larry Page founded Google in 1998.').notation)"
noema --helpIf the first command fails on a missing spaCy model, see Troubleshooting.