Standalone observed-fact graph substrate for code and document structure.
pragmagraph is a standalone observed-fact graph substrate for code and
document structure. The name comes from Greek pragma (πρᾶγμα), meaning a
deed, matter, fact, or thing done; in this package it frames the third brain as
a graph of reproducible structure: files, symbols, document sections, artifacts,
references, commits, and other facts an indexer can recover from source.
This semantic alpha provides a small local source-graph MVP: deterministic DTOs, JSON snapshots, a local code/document indexer, lexical and structural query helpers, CLI commands, and fixture handoff artifacts for future OpenMinion adapter work.
- Sophiagraph owns inferred, judged, lossy durable memory.
- PragmaGraph owns observed, indexer-extracted, reproducible facts and deeds.
- Graphify remains the first third-brain adapter. PragmaGraph is the future native package, not a relabeling of Graphify.
Practical rule: if a parser, static analyzer, doc walker, git reader, or shell
command can reproduce the fact without an LLM, it belongs in PragmaGraph. If it
depends on a preference, operator pin, summary, design judgment, or memory
consolidation decision, it belongs in Sophiagraph. Sophiagraph may cite
PragmaGraph with pragma://... evidence references; PragmaGraph never stores
Sophiagraph's judgments.
- Official GitHub:
https://github.com/openminion/pragmagraph - Official PyPI:
https://pypi.org/project/pragmagraph/ - Official website:
https://www.openminion.com - Official X account:
https://x.com/OpenMinion
pragmagraph has no official token, coin, NFT, airdrop, staking program,
treasury product, or investment offering. Any claim otherwise is unauthorized
and should be treated as a scam.
- Source code license:
Apache-2.0 - Brand/trademark grant:
none
The software license grants rights to use, modify, and redistribute the code. It does not grant rights to use the PragmaGraph, Sophiagraph, or OpenMinion names, logos, branding, website identity, or social identity except for truthful attribution. Forks, clones, and derivative distributions must not present themselves as the official PragmaGraph project or imply affiliation, endorsement, or maintenance by PragmaGraph or OpenMinion contributors unless that is actually true.
The package currently provides:
- package metadata and Apache-2.0 release files
- stable alpha import roots:
pragmagraphpragmagraph.contractspragmagraph.modelspragmagraph.querypragmagraph.storagepragmagraph.adapterspragmagraph.portability
- immutable DTOs for source refs, graph nodes, graph edges, snapshots, query hits, omitted diagnostics, path results, and health summaries
- deterministic JSON snapshot load/save helpers
- a local indexer for directories, files, Markdown headings, Python AST definitions/imports, and lexical snippets
- query, neighborhood, path, and health helpers over loaded snapshots
- CLI commands for
index,query,neighborhood,path, andhealth - a semantic smoke entrypoint for install validation
- package-local tests, lint, and release-check workflow
- API compatibility and release docs
This package does not currently provide:
- SQLite, KuzuDB, Neo4j, hosted, vector, or typed-edge storage
- Graphify runtime API wrapping or Graphify replacement behavior
- file watchers, git hooks, daemons, or scheduled refresh
- OpenMinion runtime provider wiring
- prompt context merging
- semantic inference from prose or model output
- automatic Sophiagraph memory writes or promotion
Those features belong to follow-on releases or to OpenMinion's provider adapter layer.
Install from PyPI:
python3.11 -m pip install pragmagraphEditable install during local development:
python3.11 -m pip install -e .Install with development tools:
python3.11 -m pip install -e ".[dev]"Wheel build:
python3.11 -m buildSource-root smoke:
PYTHONPATH=src python3.11 -m pragmagraph --jsonInstalled-console-script smoke:
pragmagraph-smoke --jsonExpected output is deterministic JSON with the package name, version, status,
stable import roots, and semantic_contract: true.
Index a local code/docs root into a deterministic JSON snapshot:
pragmagraph index . --out .pragmagraph/snapshot.json --namespace my-project --jsonQuery the snapshot:
pragmagraph query .pragmagraph/snapshot.json "RuntimeGraph" --jsonInspect nearby graph facts:
pragmagraph neighborhood .pragmagraph/snapshot.json \
"pragma://my-project/file/src/app.py" --jsonCheck health:
pragmagraph health .pragmagraph/snapshot.json --jsonMinimal standalone flow for another framework or service:
import pragmagraph
snapshot = pragmagraph.index_path(".", namespace="example")
pragmagraph.save_snapshot(snapshot, ".pragmagraph/snapshot.json")
print(pragmagraph.PACKAGE_STATUS)The package can also be checked from a shell:
python3.11 -m pragmagraph --jsonSee API_COMPATIBILITY.md for the public import-root policy and RELEASING.md for package-local release checks.
