The Agent Provenance Graph for AI agents. Timestamped facts, auditable decisions, deterministic trust. Prove what agents knew, trace why they knew it, coordinate without an LLM in the loop. $0 per operation.
Project description
🃏 HyperStack Python SDK
The Agent Provenance Graph for AI agents — the only memory layer where agents can prove what they knew, trace why they knew it, and coordinate without an LLM in the loop. $0 per operation at any scale.
Timestamped facts. Auditable decisions. Deterministic trust. Build agents you can trust at $0/operation.
Install
pip install hyperstack-py
Current version: v1.5.3
Quick Start
from hyperstack import HyperStack
hs = HyperStack("hs_your_key")
# Store a memory
hs.store("project-api", "API", "FastAPI 3.12 on AWS", stack="projects", keywords=["fastapi", "python"])
# Search memories
results = hs.search("python")
# Get a single card
card = hs.get("project-api")
# List all cards
cards = hs.list()
# Delete a card
hs.delete("project-api")
# Graph traversal (what blocks X? what does X affect?)
blockers = hs.blockers("deploy-prod")
impact = hs.impact("use-clerk")
# Time-travel: graph at a past timestamp
graph = hs.graph("auth-api", at="2026-02-01T00:00:00Z")
# Utility-weighted edges (report success/failure)
hs.feedback(card_slugs=["use-clerk"], outcome="success")
# Git-style branching
branch = hs.fork(branch_name="experiment")
hs.diff(branch_workspace_id=branch["branchWorkspaceId"])
hs.merge(branch_workspace_id=branch["branchWorkspaceId"], strategy="branch-wins")
# Agent identity + trust
hs.identify(agent_slug="research-agent")
profile = hs.profile(agent_slug="research-agent")
# Ingest conversation transcript into cards
hs.auto_remember("Alice is a senior engineer. We decided to use FastAPI over Django.")
# Memory hub: working (TTL) / semantic (permanent) / episodic (30-day decay)
cards = hs.hs_memory(surface="semantic")
# Batch store multiple cards
hs.bulk_store([{"slug": "p1", "title": "Project A", "body": "..."}, {"slug": "p2", "title": "Project B", "body": "..."}])
# Parse markdown/logs into cards (CLI + programmatic)
hs.parse("# DECISIONS.md content or log output", source="decisions")
# Agentic routing: deterministic, no LLM
can_do = hs.can("auth-api", action="deploy") # Can this card do X?
steps = hs.plan("auth-api", goal="add 2FA") # Plan steps for goal
API Reference
| Method | Description |
|---|---|
store(slug, title, body, ...) |
Create/update a card |
bulk_store(cards) |
Batch store multiple cards |
get(slug) |
Get one card |
search(query) |
Search cards |
list(stack=None) |
List all cards |
delete(slug) |
Delete a card |
graph(from_slug, depth, at, reverse) |
Forward/reverse traversal + time-travel |
blockers(slug) |
What blocks a card |
impact(slug) |
Blast radius of a change |
feedback(card_slugs, outcome) |
Report success/failure, updates utility scores on edges |
fork(branch_name) |
Git-style branch |
diff(branch_workspace_id) |
Compare branch to parent |
merge(branch_workspace_id, strategy) |
Merge branch |
discard(branch_workspace_id) |
Delete branch |
identify(agent_slug) |
Register agent identity |
profile(agent_slug) |
Get agent trust score |
can(slug, action) |
Agentic routing: can this card do X? (deterministic, no LLM) |
plan(slug, goal) |
Agentic routing: plan steps for goal |
auto_remember(text) |
Ingest conversation transcript into cards |
hs_memory(surface) |
Memory hub: working / semantic / episodic |
parse(text, source) |
Parse markdown/logs into cards |
Card Fields
| Field | Description |
|---|---|
confidence |
0.0–1.0 confidence score |
truthStratum |
draft | hypothesis | confirmed |
verifiedBy |
e.g. "human:deeq" |
verifiedAt |
Auto-set server-side |
memoryType |
working | semantic | episodic |
ttl |
Working memory expiry (seconds) |
sourceAgent |
Auto-stamped after identify() |
Backend Features
- Conflict detection — structural, no LLM, auto-detects contradicting cards
- Staleness cascade — upstream changes mark dependents stale
- Three memory surfaces — working (TTL), semantic (permanent), episodic (30-day decay)
- Decision replay — reconstruct agent state at decision time + hindsight detection
- Time-travel —
graph()withat=timestamp - Self-hosting — Docker +
HYPERSTACK_BASE_URLenv var
Why HyperStack?
- Provenance tracking — timestamped facts, auditable decisions
- Decision replay — reconstruct what agents knew at decision time
- Deterministic trust — no LLM in the loop for coordination
- $0 per operation — at any scale
- Zero dependencies — just Python stdlib
- 30-second setup — get key at cascadeai.dev/hyperstack
Pricing
| Plan | Cards | Price |
|---|---|---|
| Free | 50 | $0/mo — ALL features including graph |
| Pro | 500+ | $29/mo |
| Team | 500, 5 API keys | $59/mo |
| Business | 2,000, 20 members | $149/mo |
Get a free key: cascadeai.dev/hyperstack
License
MIT © CascadeAI
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 hyperstack_py-1.5.4.tar.gz.
File metadata
- Download URL: hyperstack_py-1.5.4.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8ed918c715d6a352b14a6e522be9c97ac464becbc9d33bb1eb9e3ca64c22d9a
|
|
| MD5 |
eccff76989f93e8242616de57370806a
|
|
| BLAKE2b-256 |
12bffe5da64b89d6d82c50d42adb26f55570c78cd3b6622d4fedf8c526fca5ee
|
File details
Details for the file hyperstack_py-1.5.4-py3-none-any.whl.
File metadata
- Download URL: hyperstack_py-1.5.4-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
074d9c7eaa9a168e365ca6e9f34466b50893b88e713b1caa9d28532af13f2015
|
|
| MD5 |
098541ede1cb2d7a7424a7b7fe299ea9
|
|
| BLAKE2b-256 |
e37dade330bfd04f4ec34c4ef8835e1a5855fbb41355a0fff9f1341bb8b411c2
|