Skip to main content

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-travelgraph() with at= timestamp
  • Self-hosting — Docker + HYPERSTACK_BASE_URL env 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyperstack_py-1.5.4.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hyperstack_py-1.5.4-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

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

Hashes for hyperstack_py-1.5.4.tar.gz
Algorithm Hash digest
SHA256 c8ed918c715d6a352b14a6e522be9c97ac464becbc9d33bb1eb9e3ca64c22d9a
MD5 eccff76989f93e8242616de57370806a
BLAKE2b-256 12bffe5da64b89d6d82c50d42adb26f55570c78cd3b6622d4fedf8c526fca5ee

See more details on using hashes here.

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

Hashes for hyperstack_py-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 074d9c7eaa9a168e365ca6e9f34466b50893b88e713b1caa9d28532af13f2015
MD5 098541ede1cb2d7a7424a7b7fe299ea9
BLAKE2b-256 e37dade330bfd04f4ec34c4ef8835e1a5855fbb41355a0fff9f1341bb8b411c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page