Skip to main content

Flexible GraphRAG

Flexible GraphRAG is an open source AI context platform supporting a document processing pipeline (Docling, LlamaParse, or LiteParse), knowledge graph auto-building, ontologies, schemas, many LLM providers, GraphRAG and RAG, hybrid semantic search (fulltext, vector, property graph, RDF/SPARQL), AI query, and AI chat. The backend is Python with LlamaIndex and LangChain as peer frameworks. LlamaIndex is the default for each pipeline stage; LangChain can be selected per stage in environment configuration. The API is a REST FastAPI service. Angular, React, and Vue TypeScript frontends and an MCP server are included. The stack supports 14 data sources: 10 with incremental auto-sync (Alfresco, Nuxeo, SharePoint, OneDrive, Box, Google Drive, Amazon S3, Google Cloud Storage, Azure Blob Storage, Filesystem) and 4 without (CMIS, Web Pages, Wikipedia, YouTube); 15 property graph databases, 4 RDF triple stores (Apache Jena Fuseki, Ontotext GraphDB, Oxigraph, Amazon Neptune RDF), 10 vector databases, OpenSearch / Elasticsearch / BM25 search, Alfresco, and Nuxeo. With per-user sign-in, search and AI answers use only the documents each user may read. Databases and dashboards can be enabled with the provided Docker Compose layout. Optionally, the ingest pipeline, hybrid search, and AI query can run through customizable Langflow visual flows (12 custom Langflow components). As a further option, ingest can run on a CocoIndex (Rust engine) pipeline (PIPELINE_BACKEND=cocoindex) that reuses the same sources, targets, parsers and KG extractors, adding step-level memoization, automatic delete reconciliation, custom KG extractors, and entity resolution. A meeting-notes example is included. And optionally, Hyland OpenArch, an AI-ready content repository for documents with their extracted text and vector embeddings, can be the search + vector store and the store for data sources and document state.

New in 0.10.0: a Graph tab in the UIs showing the entities and relationships extracted from an ingest, search results, or AI answer sources. Also an Ollama fix that keeps models on the GPU (new OLLAMA_CONTEXT_WINDOW, default 8192) (see Ollama configuration).

New in 0.9.1: OpenArch in the Docker Compose stack; faster KG extraction by raising KG_EXTRACTION_WORKERS (default 4; 8-16 with cloud LLMs); security fixes (see SECURITY.md): REST / MCP filesystem ingest only reads paths under uploads/, SOURCE_PATHS or the new INGEST_ALLOWED_PATHS; query injection fixed in several graph adapters and the RDF converter; graph Q&A runs only read queries. Also preparatory work for Python 3.15 (see Python 3.15).

New in 0.9.0: optional Hyland OpenArch as the search + vector store (ENABLE_OPENARCH) and as the store for data sources and document state, with no PostgreSQL (INCREMENTAL_STATE_STORE=openarch) (see usage); separate Graph and RDF choices per ingest (DEFAULT_ENABLED_GRAPH / DEFAULT_ENABLED_RDF).

Quick install (PyPI):

uv pip install flexible-graphrag

Then copy env-sample.txt to .env, set your LLM API key (e.g. OPENAI_API_KEY=...) and any other provider config, and run flexible-graphrag to start the API server. If you use ontology schemas, the schemas/ directory lives at the repository root (one level above flexible-graphrag/), so .env paths use ../schemas/... — matching env-sample.txt. For a PyPI install, copy schemas/ to the parent of your working directory so the same paths apply. See the RDF Ontology Examples and Configuration docs page for path options and examples. This gives you a LlamaIndex-only setup; for LangChain or mixed LlamaIndex/LangChain per-stage configuration see the Prerequisites, Setup, and Framework Config sections of the full README, or the Framework Configuration docs page.

Optional dependency groups (langchain, RDF extras, observability, and more) are available. For Docker services, frontend installs, source checkout setup, and optional extras (which involve extras-overrides.txt), refer to the Prerequisites and Setup sections of the full README and documentation linked below.

Metadata

Release files for flexible-graphrag 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flexible-graphrag 0.10.0
File Size Uploaded Provenance Actions
flexible_graphrag-0.10.0.tar.gz 1.1 MB Without provenance Details for flexible_graphrag-0.10.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for flexible-graphrag 0.10.0
File Interpreter ABI Platform Actions
flexible_graphrag-0.10.0-py3-none-any.whl Python 3 none any Details for flexible_graphrag-0.10.0-py3-none-any.whl

Total release size: 2.4 MB

Release files / flexible_graphrag-0.10.0.tar.gz

Download URL flexible_graphrag-0.10.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
87e5ec2ad5d4e1b3abae0bbb3c01feeb65457e20fb7cb464eafb9523f651daca
BLAKE2b-256 checksum
How to use checksums
49d3ac7d5ce1ec1bf560e9edbbd8097521822fdca1f7e678e6d0269535c29231
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / flexible_graphrag-0.10.0-py3-none-any.whl

Download URL flexible_graphrag-0.10.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0dfdbbf2567c35fc8aba2addf71fa4ce93471517b5168909533b5dae482a2cf9
BLAKE2b-256 checksum
How to use checksums
067280a4c1115682a686c73862c32933420dd14c053310c8de8c7c98bf45dc0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for flexible-graphrag 0.10.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page