Skip to content

Install

pip install openodke
pip install "openodke[neo4j,yaml]"   # with extras
pip install "openodke[all]"          # every extra
uv add openodke                      # with uv

openodke runs on Python 3.11, 3.12, 3.13 and 3.14. The package is openodke; the command it installs is odke.

To install what is on main but not yet released: pip install "openodke @ git+https://github.com/deepskandpal/odke".

The base install

The base install depends on pydantic and typer alone, and runs offline: no model provider, no database driver, no network. Everything on these pages works on it except what the extras below add.

Extras

Extra Installs Needed for
llm litellm>=1.55,<2 Model strings the built-in client does not serve
neo4j neo4j>=5.20,<7 Neo4jSink connecting to a server; Ontology.from_neo4j given a URI
rdf rdflib>=7.0,<8 RdfSink; Ontology.from_owl
networkx networkx>=3.2,<4 NetworkXSink
docs pypdf>=5.0,<7, python-docx>=1.1,<2 PdfLoader and DocxLoader together
pdf pypdf>=5.0,<7 PdfLoader
docx python-docx>=1.1,<2 DocxLoader
yaml pyyaml>=6,<7 Ontology.from_yaml; YAML run configs
parquet pyarrow>=15 ParquetLoader
bench nltk>=3.8,<4 odke bench on Text2KGBench (its hallucination metrics)
otel opentelemetry-api>=1.24,<2 Spans per job, stage and model call
all every extra above

Nothing fails at import. A feature used without its extra raises an error that names the install line; DirectoryLoader warns and skips the file instead.

Which model strings need llm, and which key each provider reads, is on Models and providers.

To work on openodke itself, see CONTRIBUTING.