Placeholder for AbstractRuntime: a durable graph runner designed to pair with AbstractCore.
Project description
AbstractRuntime
Status: placeholder package (planning stage). No runtime implementation yet.
AbstractRuntime is intended to be a durable graph runner designed to pair with AbstractCore (unified LLM interface: website, GitHub).
Problem this package is meant to solve
Agentic systems are inherently multi-step and frequently interruptible:
- External calls (LLM providers, tools, jobs) can fail transiently, time out, or be rate-limited.
- Human-in-the-loop steps require pausing, collecting input, and resuming later.
- Long-running workflows must survive process restarts and redeploys.
AbstractRuntime’s goal is to provide a general-purpose execution substrate that can:
- Interrupt → checkpoint → resume at any step boundary
- Support heterogeneous step types (LLM call, tool call, wait-until time, wait-job, ask-user, subgraph, etc.)
- Maintain a durable step ledger (append-only history of attempts and outcomes)
Design targets (intended capabilities)
-
Durable execution model
- Steps are executed with durable state transitions persisted to storage.
- A run can be safely resumed after crash/restart without losing progress.
- Clear semantics for retries and backoff without “double-applying” effects.
-
Interrupt / resume primitives
- Explicit “pause points” for ask-user / wait steps.
- Resume via a stable run identifier + persisted checkpoint.
-
Step ledger (audit + debugging)
- Append-only records for: step identity, inputs, outputs, errors, timestamps, attempt numbers, and metadata.
- Designed to support observability, replay analysis, and compliance/audit needs.
-
Step type extensibility
- A common “step contract” that can represent:
- LLM calls (with AbstractCore)
- Tool calls (side-effecting or pure)
- Wait-until (time-based scheduling)
- Wait-job (external job orchestration)
- Ask-user (HITL)
- Subgraph / dynamic branching
- A common “step contract” that can represent:
-
Storage backends (planned)
- Pluggable persistence for checkpoints + ledgers (e.g., SQLite/Postgres/file).
- Strong focus on correctness and durability over early optimization.
Relationship to AbstractCore
AbstractCore provides a provider-agnostic LLM interface and media/tooling primitives (see AbstractCore website and AbstractCore GitHub). AbstractRuntime is intended to orchestrate when and how those calls happen in larger workflows, with durability guarantees.
Non-goals (initially)
- A full workflow DSL or UI.
- A distributed queue system replacement.
- A specific persistence backend mandate (storage will be abstracted).
Installation
This package is currently a placeholder for PyPI name reservation and documentation.
License
MIT (see LICENSE).
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
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 abstractruntime-0.0.0.tar.gz.
File metadata
- Download URL: abstractruntime-0.0.0.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
139c722f8c3c88f9d94d66af5adad58fedee352c3983b68a14b3ad0500082ba4
|
|
| MD5 |
042660fc9c03fb3b106fa31f6de25c63
|
|
| BLAKE2b-256 |
17d6181b6a68dd3eb0fd6bc16a79d787b2745d75d35a18e6b4dec8b2eb777c28
|
File details
Details for the file abstractruntime-0.0.0-py3-none-any.whl.
File metadata
- Download URL: abstractruntime-0.0.0-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22a9f003ff98ae79e9c1a18e30640207fe3c7acde1d25ea4a9782ac1f12f88dd
|
|
| MD5 |
316cc932233bf8d385a7efc283eb3501
|
|
| BLAKE2b-256 |
c6db2fd66f3b052d70d93cd28d635bc717c8f5b23921430615261c7dc8a3d976
|