Files
REAgraph/pyproject.toml
safishamsiandClaude Opus 4.8 d1323011ea demo: reagraph demo — the byte-agnostic diff, one command, zero setup
The killer demo as a command. Two REAL rea-agents analyses of the same Electron
app one build apart (an exfil endpoint added) ship in the wheel, so
`pip install reagraph && reagraph demo` prints the contrast with no REA, Docker,
or network:

    REA raw id-diff :  59 of 56 nodes "changed"   <- the #4520 problem
    reagraph diff   :  1 changed
      + endpoint  "network endpoint"  src/main.js

- reagraph/demo/{base,feat}.json: the two real-REA graphs, shipped as package-data.
- cli.py: `reagraph demo` loads them via importlib.resources, runs the raw id-diff
  vs the signature diff, and prints the contrast + the one real change.
- examples/demo.tape: a charmbracelet/vhs script to record the GIF (`vhs
  examples/demo.tape`) for the README.
- tests: demo runs offline and shows the contrast; registered subcommand.

Verified from a clean wheel install. 1320 tests pass.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-10-19 20:58:38 +01:00

48 lines
1.7 KiB
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "reagraph"
version = "0.1.0"
description = "A persistent, queryable knowledge graph for reverse engineering (memory + structural diff for REA-style findings)."
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.9"
keywords = ["reverse-engineering", "knowledge-graph", "mcp", "rea", "graphify", "binary-analysis"]
authors = [{ name = "Graphify Labs" }]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Security",
"Topic :: Software Development :: Disassemblers",
"Topic :: Software Development :: Quality Assurance",
]
# Core is stdlib-only on purpose, so it installs and runs anywhere.
dependencies = []
[project.optional-dependencies]
# The live `pull` / `serve` paths speak MCP; install this to reach a REA MCP server.
live = ["mcp>=1.0"]
# query/path/explain over the accumulated graph are delegated to graphify.
graphify = ["graphifyy"]
[project.urls]
Homepage = "https://github.com/Graphify-Labs/REAgraph"
Repository = "https://github.com/Graphify-Labs/REAgraph"
Issues = "https://github.com/Graphify-Labs/REAgraph/issues"
[project.scripts]
reagraph = "reagraph.cli:main"
[tool.setuptools]
packages = ["reagraph"]
[tool.setuptools.package-data]
# Ship the agent skill (for `reagraph install-skill`) and the two real-REA demo
# graphs (for `reagraph demo`) inside the wheel, so both work without a checkout.
reagraph = ["skill/SKILL.md", "demo/*.json"]