Reusable graph viewer and provider contract for agent memory, source graphs, and knowledge graph workbenches
Project description
GraphFakos
Standalone provider-neutral graph lens for shared package viewers.
graphfakos is a reusable graph lens for agent memory and source knowledge
graphs. It provides provider-neutral graph DTOs, adapter protocols, static HTML
rendering, local preview serving, and test helpers for package-owned graph
viewers.
GraphFakos exists so packages such as Sophiagraph, PragmaGraph, OpenMinion, and third-party graph providers can share a visual graph workbench without sharing their internal graph truth or lifecycle semantics.
The name comes from Greek fakós (φακός), meaning lens; in this package it
frames the shared graph workbench as a provider-neutral lens over nodes, edges,
provenance, citations, and package-owned graph semantics rather than as a graph
builder or memory store.
Initial Release Status
GraphFakos is a 0.0.1 semantic-alpha package. The initial public release is
intended for local package integrations, adapter development, and visual graph
inspection. The stable starting contract is the provider-neutral DTO model,
GraphFakosProvider, static HTML export, local preview serving, console
scripts, and reusable viewer assertions.
Trust and Brand Safety
- Official GitHub:
https://github.com/openminion/graphfakos - Official website:
https://www.openminion.com - Official X account:
https://x.com/OpenMinion
graphfakos 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.
graphfakos is a viewer and adapter-contract package. It does not infer facts,
extract memories, ingest repositories, enforce OpenMinion runtime policy, or
decide which graph items are true. Providers own their graph semantics and pass
explicit nodes, edges, provenance, citations, and provider payloads into
GraphFakos.
At a Glance
- package name:
graphfakos - console scripts:
graphfakos,graphfakos-smoke,graphfakos-ui - core contract:
GraphFakosProvider - graph envelope:
GraphFakosGraph - type marker:
py.typed - local viewer: static HTML and local preview server
- compatibility proof: fake third-party provider plus package viewer tests
Installation
python3.11 -m pip install graphfakos
For sibling-package development before the first PyPI release, install from a local checkout:
python3.11 -m pip install -e .
What the Package Provides
- provider-neutral graph DTOs for nodes, edges, provenance, citations, visual hints, and viewer requests
- a provider protocol that graph packages can implement without importing Sophiagraph, PragmaGraph, or OpenMinion
- a local graph workbench with explore, neighborhood, path, provenance, timeline, provider-status, and context-preview screens
- a public screen manifest with provider-neutral routes, labels, and summaries
- provider-neutral graph diagnostics for orphan nodes, duplicate edges, missing provenance/citation references, and provider warnings
- dependency-free navigation for node selection, edge inspection, query search, node-kind, edge-kind, tag, source, and score filters
- depth-aware neighborhood expansion and path source/target controls
- static HTML export for portable inspection
- a local HTTP preview server for interactive package development
- a fake fixture provider for tests and third-party adapter examples
- shared test assertions for graph viewer contracts
What the Package Does Not Provide
- durable memory persistence
- source ingestion
- fact extraction
- graph construction
- OpenMinion runtime policy
- Sophiagraph trust semantics
- PragmaGraph freshness or source semantics
Provider Adapter Contract
Providers implement GraphFakosProvider:
from graphfakos import GraphFakosProvider, GraphFakosRequest, GraphFakosGraph
class MyProvider:
provider_id = "my_provider"
provider_label = "My Provider"
graph_role = "third_party"
capabilities = ("search", "neighborhood", "path", "provenance")
def load_graph(self, request: GraphFakosRequest) -> GraphFakosGraph:
...
GraphFakos understands how to display graph-shaped data. Providers own what their data means.
Package UI Wrappers
GraphFakos is the shared viewer implementation. Package-local *-ui commands
should stay thin:
sophiagraph-uimaps durable second-brain memory records into GraphFakos DTOs through Sophiagraph's adapter, then calls the shared viewer.pragmagraph-uimaps source/document/code graph snapshots into GraphFakos DTOs through PragmaGraph's adapter, then calls the shared viewer.- future packages should implement a
GraphFakosProvideradapter instead of copying viewer HTML, local-server behavior, navigation screens, or tests.
This keeps the visual workbench consistent while preserving each package's own storage, trust, freshness, and lifecycle semantics.
Examples
Render the built-in third-party fixture:
graphfakos-ui --screen explore --html-out graphfakos-ui-preview.html --json
Serve the local viewer:
graphfakos-ui --screen neighborhood --serve --open
Filter a graph and inspect an edge:
graphfakos-ui \
--screen explore \
--node-kind provider \
--edge-kind serves \
--selected-edge-id edge:provider-serves-spec \
--html-out graphfakos-filtered.html \
--json
Sophiagraph should expose a second-brain adapter that maps durable memories, candidates, trust signals, structural links, and provenance into GraphFakos DTOs. PragmaGraph should expose a third-brain adapter that maps source files, documents, symbols, chunks, citations, freshness, and provider status into the same DTOs.
Docs and Release
- API compatibility
- Release process
- Package docs
- Custom provider example
- UI contracts
- Source tree owner map
Run local release checks:
.venv/bin/python3.11 scripts/release_check.py --skip-twine --skip-wheel-smoke
License and Brand-use Boundary
GraphFakos is distributed under the Apache License 2.0. The license covers code use and contribution terms. It does not grant rights to imply endorsement by OpenMinion, Sophiagraph, PragmaGraph, or related project brands.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graphfakos-0.0.1.tar.gz.
File metadata
- Download URL: graphfakos-0.0.1.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d1d897febbd66a964f624a39dc28b10b8badd5d87a0c1fcf6e40d2b04eac592
|
|
| MD5 |
821f1d90175e19bf1da969342a94f249
|
|
| BLAKE2b-256 |
8909d4cf8dac2451fd54d5850822dab8470f7fbb48366fabb234017b1a1b6f6e
|
File details
Details for the file graphfakos-0.0.1-py3-none-any.whl.
File metadata
- Download URL: graphfakos-0.0.1-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47d360b55535360f5955347df8a8868cc4783527bdbe390ce76b08f2a93bcef5
|
|
| MD5 |
720d1de795ef8b86cffff7c4e0470e22
|
|
| BLAKE2b-256 |
08aa4d8486a7e7b98bbd0a4acab67037e223057554b64a13380116b197cec582
|