Metadata-Version: 2.5
Name: graqle
Version: 0.84.0
Summary: Persistent organisational intelligence for AI agents. Turn codebases, documents, policies and decisions into a knowledge graph so Claude Code, Cursor and Copilot reason over architecture, dependencies and prior lessons — with confidence scores and evidence. 13 LLM backends + custom, fully offline capable.
Project-URL: Homepage, https://graqle.com
Project-URL: Documentation, https://github.com/quantamixsol/graqle#readme
Project-URL: Repository, https://github.com/quantamixsol/graqle
Project-URL: Changelog, https://github.com/quantamixsol/graqle/releases
Project-URL: Bug Tracker, https://github.com/quantamixsol/graqle/issues
Project-URL: Patent Notice, https://quantamixsolutions.com/patents
Author-email: Harish Kumar <harish.kumar@quantamixsolutions.com>
License: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: agent-memory,ai-assistant,ai-coding,ai-governance,architecture,claude-code,cli,code-analysis,code-intelligence,code-quality,code-understanding,codebase-reasoning,context-engineering,copilot,cursor,dependency-analysis,dev-intelligence,development-tools,document-intelligence,governance,governed-autonomy,graph-reasoning,graqle,impact-analysis,institutional-memory,knowledge-graph,mcp,mcp-server,model-agnostic,multi-agent,organisational-intelligence,organizational-intelligence,persistent-memory,rag-alternative,reasoning,refactoring,static-analysis,vscode
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.10
Requires-Dist: cryptography>=42.0
Requires-Dist: fastapi>=0.100
Requires-Dist: jinja2>=3.1
Requires-Dist: jsonschema>=4.0
Requires-Dist: networkx>=3.0
Requires-Dist: numpy>=1.24
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rfc8785==0.1.4
Requires-Dist: rich>=13.0
Requires-Dist: typer[all]>=0.9
Requires-Dist: uvicorn[standard]>=0.20
Provides-Extra: all
Requires-Dist: anthropic>=0.18; extra == 'all'
Requires-Dist: boto3>=1.28; extra == 'all'
Requires-Dist: fastapi>=0.100; extra == 'all'
Requires-Dist: httpx>=0.25; extra == 'all'
Requires-Dist: jinja2>=3.1; extra == 'all'
Requires-Dist: neo4j>=5.0; extra == 'all'
Requires-Dist: openai>=1.0; extra == 'all'
Requires-Dist: openpyxl>=3.1; extra == 'all'
Requires-Dist: pdfplumber>=0.9; extra == 'all'
Requires-Dist: pillow>=10.0; extra == 'all'
Requires-Dist: playwright>=1.40; extra == 'all'
Requires-Dist: pyjwt[crypto]>=2.8; extra == 'all'
Requires-Dist: pyshacl>=0.25.0; extra == 'all'
Requires-Dist: python-docx>=0.8; extra == 'all'
Requires-Dist: python-pptx>=0.6; extra == 'all'
Requires-Dist: rdflib>=7.0.0; extra == 'all'
Requires-Dist: sentence-transformers<3.0,>=2.2; extra == 'all'
Requires-Dist: uvicorn[standard]>=0.20; extra == 'all'
Provides-Extra: all-gpu
Requires-Dist: anthropic>=0.18; extra == 'all-gpu'
Requires-Dist: boto3>=1.28; extra == 'all-gpu'
Requires-Dist: fastapi>=0.100; extra == 'all-gpu'
Requires-Dist: httpx>=0.25; extra == 'all-gpu'
Requires-Dist: jinja2>=3.1; extra == 'all-gpu'
Requires-Dist: neo4j>=5.0; extra == 'all-gpu'
Requires-Dist: openai>=1.0; extra == 'all-gpu'
Requires-Dist: openpyxl>=3.1; extra == 'all-gpu'
Requires-Dist: pdfplumber>=0.9; extra == 'all-gpu'
Requires-Dist: peft<0.14,>=0.7; extra == 'all-gpu'
Requires-Dist: pillow>=10.0; extra == 'all-gpu'
Requires-Dist: playwright>=1.40; extra == 'all-gpu'
Requires-Dist: pyjwt[crypto]>=2.8; extra == 'all-gpu'
Requires-Dist: pyshacl>=0.25.0; extra == 'all-gpu'
Requires-Dist: python-docx>=0.8; extra == 'all-gpu'
Requires-Dist: python-pptx>=0.6; extra == 'all-gpu'
Requires-Dist: rdflib>=7.0.0; extra == 'all-gpu'
Requires-Dist: sentence-transformers<3.0,>=2.2; extra == 'all-gpu'
Requires-Dist: torch<2.5,>=2.0; extra == 'all-gpu'
Requires-Dist: transformers<4.50,>=4.35; extra == 'all-gpu'
Requires-Dist: uvicorn[standard]>=0.20; extra == 'all-gpu'
Requires-Dist: vllm>=0.3; extra == 'all-gpu'
Provides-Extra: api
Requires-Dist: anthropic>=0.18; extra == 'api'
Requires-Dist: boto3>=1.28; extra == 'api'
Requires-Dist: httpx>=0.25; extra == 'api'
Requires-Dist: neo4j>=5.0; extra == 'api'
Requires-Dist: openai>=1.0; extra == 'api'
Requires-Dist: pyjwt[crypto]>=2.8; extra == 'api'
Requires-Dist: pyshacl>=0.25.0; extra == 'api'
Requires-Dist: rdflib>=7.0.0; extra == 'api'
Provides-Extra: cpu
Requires-Dist: llama-cpp-python>=0.2; extra == 'cpu'
Requires-Dist: sentence-transformers<3.0,>=2.2; extra == 'cpu'
Provides-Extra: dev
Requires-Dist: boto3>=1.28; extra == 'dev'
Requires-Dist: coverage>=7.0; extra == 'dev'
Requires-Dist: httpx>=0.25; extra == 'dev'
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pyjwt[crypto]>=2.8; extra == 'dev'
Requires-Dist: pyshacl>=0.25.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest-env>=1.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.10; extra == 'dev'
Requires-Dist: pytest-xdist>=3.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: rdflib>=7.0.0; extra == 'dev'
Requires-Dist: requests>=2.28; extra == 'dev'
Requires-Dist: ruff>=0.1; extra == 'dev'
Provides-Extra: docs
Requires-Dist: openpyxl>=3.1; extra == 'docs'
Requires-Dist: pdfplumber>=0.9; extra == 'docs'
Requires-Dist: python-docx>=0.8; extra == 'docs'
Requires-Dist: python-pptx>=0.6; extra == 'docs'
Provides-Extra: embeddings
Requires-Dist: sentence-transformers<3.0,>=2.2; extra == 'embeddings'
Provides-Extra: gpu
Requires-Dist: peft<0.14,>=0.7; extra == 'gpu'
Requires-Dist: sentence-transformers<3.0,>=2.2; extra == 'gpu'
Requires-Dist: torch<2.5,>=2.0; extra == 'gpu'
Requires-Dist: transformers<4.50,>=4.35; extra == 'gpu'
Requires-Dist: vllm>=0.3; extra == 'gpu'
Provides-Extra: lite
Provides-Extra: neo4j
Requires-Dist: neo4j>=5.0; extra == 'neo4j'
Provides-Extra: phantom
Requires-Dist: boto3>=1.28; extra == 'phantom'
Requires-Dist: pillow>=10.0; extra == 'phantom'
Requires-Dist: playwright>=1.40; extra == 'phantom'
Provides-Extra: scorch
Requires-Dist: boto3>=1.28; extra == 'scorch'
Requires-Dist: pillow>=10.0; extra == 'scorch'
Requires-Dist: playwright>=1.40; extra == 'scorch'
Provides-Extra: security
Requires-Dist: cyclonedx-bom>=4.0; extra == 'security'
Requires-Dist: pip-audit>=2.6; extra == 'security'
Requires-Dist: sigstore<4.0,>=3.0; extra == 'security'
Provides-Extra: server
Requires-Dist: fastapi>=0.100; extra == 'server'
Requires-Dist: uvicorn[standard]>=0.20; extra == 'server'
Provides-Extra: studio
Requires-Dist: fastapi>=0.100; extra == 'studio'
Requires-Dist: jinja2>=3.1; extra == 'studio'
Requires-Dist: uvicorn[standard]>=0.20; extra == 'studio'
Provides-Extra: watch
Requires-Dist: watchdog<5.0,>=3.0; extra == 'watch'
Description-Content-Type: text/markdown

# GraQle — give your AI a memory of how your organisation actually works

**Turn policies, decisions, documents and codebases into a persistent knowledge graph, so your AI agents reason over what your organisation already knows instead of rebuilding a partial picture every session.**

```bash
pip install graqle
```

Models change. Tools change. Your institutional knowledge should not.

---

## 60-second proof — no code required

Works on a folder with no code in it at all.

```bash
# 1. Turn organisational documents into a typed graph
graq scan docs ./policies
# → 3 files → 12 nodes: 3 Document + 9 Section, linked by SECTION_OF

# 2. Teach it a rule that lives in nobody's file
graq learn knowledge "vendor DPA must be signed before any data access" --domain policy
# → auto-links the rule to the vendor-onboarding doc AND its "Due diligence" section

# 3. Ask across the whole body of knowledge
graq run "what approval is needed for a large refund?"
# → answer + confidence + evidence trail + the sections consulted

# 4. Audit what the organisation has taught it
graq learned
```

Step 2 is the one that compounds — and the one prompt engineering cannot replace, because it needs a persistent typed graph as the substrate. GraQle worked out where that rule belonged on its own.

### The same graph, for code

```bash
graq scan repo .                                    # functions, classes, imports, calls
graq run "what breaks if I change the payment module?"
graq impact payments.py                             # blast radius
```

Software architecture is the deepest-mapped domain today — a wedge, not the boundary.

---

## Why this matters now

Agents are getting far more capable and still start from zero every session. Models are becoming cheaper and interchangeable, which makes the intelligence layer above them — not the model itself — the thing worth owning.

GraQle sits above the model:

- **Relationships, not files.** Assistants see documents and files. GraQle sees how a policy, a decision and the code implementing it relate.
- **Memory that compounds.** Policies, decisions and lessons become durable graph nodes, not chat history.
- **Model independence.** Switch providers or IDEs without rebuilding the intelligence layer.

---

## What you get

| Capability | Command |
|:---|:---|
| Blast radius before a change | `graq impact payments.py` |
| Cross-file security audit | `graq run "find every auth bypass risk"` |
| Architecture Q&A for onboarding | `graq run "how does checkout work end to end?"` |
| Persistent lessons | `graq learn knowledge "..."` |
| Audit what the graph has been taught | `graq learned` |
| Documents, policies, ADRs into the graph | `graq scan docs ./docs` |
| Pre-change safety check | `graq preflight "refactor the auth layer"` |
| CI/CD governance gate | `graq predict "..." --fail-below-threshold` |

---

## Beyond code

```bash
pip install "graqle[docs]"          # PDF / DOCX / PPTX / XLSX parsers

graq scan docs ./docs               # architecture docs, runbooks, specs
graq learn doc ./policies/          # policies, ADRs, decision records
```

Documents become Document and Section nodes, linked by `SECTION_OF` — and to any code that implements them. Markdown, text, RST and AsciiDoc work with the base install; the richer formats need the `[docs]` extra and are reported — never silently skipped — when it's missing.

---

## Works with your stack

**13 LLM backends + any custom HTTP endpoint** — Anthropic, OpenAI, AWS Bedrock, Ollama, Gemini, Groq, DeepSeek, Together, Mistral, OpenRouter, Fireworks, Cohere, llama.cpp.

```yaml
# graqle.yaml
model:
  backend: ollama          # or: anthropic, openai, bedrock, gemini, groq...
  model: llama3
```

Runs fully offline with Ollama or llama.cpp. **Local-first: no telemetry, and your source never leaves your machine.**

**Works with every AI IDE** — Claude Code, Cursor, VS Code + Copilot, Windsurf, via **85 MCP tools** your agent uses automatically.

```bash
graq init    # detects your IDE and wires the tools
```

---

## Trusted answers

Every result carries `confidence`, `graph_health`, `active_nodes` and evidence pointers. Below the confidence floor, GraQle refuses rather than guesses. With no LLM configured it labels output as a placeholder and attaches no confidence score.

---

## Governed autonomy

When agents move from reading to writing, `graq gate-install` routes write/edit/bash operations through governance gates: plans required for risky changes, secret scanning on commits, full audit trail. For deployed systems, `GovernedRuntime.attest()` records what your AI decided, anchored to the public Sigstore Rekor transparency log — verifiable by any third party.

Optional compliance surfaces for regulated deployments cover the EU AI Act, SOX/COSO, ISO/IEC 42001 and GDPR claim limits; compliance frameworks are authorable as data.

→ [Full documentation on GitHub](https://github.com/quantamixsol/graqle)

---

## Pricing

| | Free | Pro ($19/mo) | Team ($29/dev/mo) |
|:--|:--:|:--:|:--:|
| CLI + SDK + 85 MCP tools | Unlimited | Unlimited | Unlimited |
| 13 LLM backends + custom | ✅ | ✅ | ✅ |
| Graph nodes | 1,000 | 25,000 | Unlimited |
| Cloud sync | 1 project | 3 projects | Unlimited |
| Shared team graphs + lessons | — | — | ✅ |

[**graqle.com →**](https://graqle.com)

---

*Built by Quantamix Solutions B.V. · Patent pending EP26167849.4 · Local by default · Your code never leaves your machine*
