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.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.
- Repository: github.com/stevereiner/flexible-graphrag
- Full README: README.md on GitHub
- Documentation: stevereiner.github.io/flexible-graphrag
Metadata
Release files for flexible-graphrag 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| flexible_graphrag-0.9.0.tar.gz | 1.1 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flexible_graphrag-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.3 MB
Release files / flexible_graphrag-0.9.0.tar.gz
| Download URL | flexible_graphrag-0.9.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5de03bf877861bc1103b992fd52608af8f26f4cf3ae843121de9218c9b96e1df
|
|
BLAKE2b-256 checksum How to use checksums |
3e6978c61b3c88d143ee5e6d4ac91eb219e7942e48c967a3916705e09c7b3e5f
|
| 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.9.0-py3-none-any.whl
| Download URL | flexible_graphrag-0.9.0-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f1740a339eaec2d2d6f8f6aa7adfb6dbe7d54766c1f173634a39e15af50a69e0
|
|
BLAKE2b-256 checksum How to use checksums |
c12c4048bc48f5449ec565a57f5dc26a00bd8e2271072b2b326d8bd6d6288bbe
|
| 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.9.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.