Skip to main content

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
  • 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

abstractruntime-0.0.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

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

abstractruntime-0.0.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

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

Hashes for abstractruntime-0.0.0.tar.gz
Algorithm Hash digest
SHA256 139c722f8c3c88f9d94d66af5adad58fedee352c3983b68a14b3ad0500082ba4
MD5 042660fc9c03fb3b106fa31f6de25c63
BLAKE2b-256 17d6181b6a68dd3eb0fd6bc16a79d787b2745d75d35a18e6b4dec8b2eb777c28

See more details on using hashes here.

File details

Details for the file abstractruntime-0.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for abstractruntime-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22a9f003ff98ae79e9c1a18e30640207fe3c7acde1d25ea4a9782ac1f12f88dd
MD5 316cc932233bf8d385a7efc283eb3501
BLAKE2b-256 c6db2fd66f3b052d70d93cd28d635bc717c8f5b23921430615261c7dc8a3d976

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