Skip to main content

Unified installer and documentation hub for the AbstractFramework ecosystem

Project description

AbstractFramework

Write once. Generate everything.

A modular, open-source ecosystem for building durable, observable, multimodal AI systems. Text, voice, image, video, music — one unified interface, any provider, any model, local or cloud.

AbstractFramework is an ecosystem of composable packages for building AI systems that work in operational reality:

  • Durable by default: workflows pause and resume safely (survive crashes and restarts)
  • Observable: an append-only ledger so any UI can reconstruct state by replaying history
  • Controlled actions: explicit boundaries for tool execution, approvals, and evidence
  • Multimodal: capability plugins (voice, vision, music) that stay out of your way until you need them

Think of it as an agentic OS: durable runs + replay-first observability + multimodal capabilities — write once, run across providers and deployment modes.

Prerequisites: Python 3.10+. Node.js 18+ for browser UIs. An LLM backend (Ollama, LM Studio, vLLM, or a cloud API key).


Two entrypoints

Start lightweight with just the LLM library, or go all-in with a production gateway. Both paths lead to the same ecosystem.

1) AbstractCore — LLM SDK + OpenAI-compatible /v1 server

Start here if you need a lightweight LLM library for scripts, notebooks, or existing applications. No infrastructure required — just pip install and call. Add multimodal capabilities with plugins as you grow.

  • 9+ providers with identical API (local + cloud)
  • Universal tool calling, structured output, streaming
  • Media handling (images, PDFs, audio, video)
  • OpenAI-compatible HTTP server mode (/v1)
  • Multimodal via capability plugins (Voice, Vision, Music)
pip install abstractcore
from abstractcore import create_llm

llm = create_llm("ollama", model="qwen3:4b-instruct")
resp = llm.generate("Explain durable execution in 3 bullets.")
print(resp.content)

AbstractCore gives you one interface for provider switching, tools, structured output, and media — as a Python SDK or via /v1 for any OpenAI-compatible client.

2) AbstractGateway — durable run control plane (HTTP/SSE APIs)

Start here if you're building persistent AI applications — agents that run for hours, workflows that survive crashes, scheduled tasks. The gateway is your AI control plane: durable runs with ledger replay/streaming and thin clients that can attach/detach across devices.

  • Durable execution that survives crashes and restarts
  • Append-only ledger (replay-first) for auditability
  • Scheduled workflows (cron-style, recurring)
  • Multi-client: terminal, browser, tray, Telegram, email
  • Start on one device, continue on another
pip install abstractgateway

export ABSTRACTGATEWAY_AUTH_TOKEN="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"
export ABSTRACTGATEWAY_ALLOWED_ORIGINS="http://localhost:*,http://127.0.0.1:*"
export ABSTRACTGATEWAY_WORKFLOW_SOURCE=bundle
export ABSTRACTGATEWAY_FLOWS_DIR="$PWD/bundles"
export ABSTRACTGATEWAY_DATA_DIR="$PWD/runtime/gateway"

abstractgateway serve --host 127.0.0.1 --port 8080

Monitor runs from a browser:

npx @abstractframework/observer   # open http://localhost:3001

Author once, run everywhere (AbstractFlow)

AbstractFlow lets you author complex agentic orchestration as portable .flow bundles:

  1. Open the Flow Editor (npx @abstractframework/flow)
  2. Build a workflow: LLM steps, tool steps, branching, loops, subflows
  3. Export a .flow bundle and copy it to ABSTRACTGATEWAY_FLOWS_DIR
  4. Run it from any gateway-backed client (Observer, AbstractAssistant, Code Web UI, your app)

AbstractAgent provides ready-made agent patterns (ReAct, CodeAct, MemAct) that can be used inside flows or standalone.


Monitor and schedule with AbstractObserver

  • Observe: replay the full ledger of any run, or watch one live over SSE
  • Control: cancel, resume, or inspect runs from the browser
  • Schedule: durable schedules (cron-style) owned by the gateway — they survive restarts

Example apps

App What it does Install
AbstractCode Terminal agentic dev client — durable sessions, tool approvals, /workflow support pip install abstractcode
AbstractAssistant macOS tray client — gateway-first, workflow picker per session, voice support pip install abstractassistant
AbstractObserver Browser UI — monitor, control, and schedule gateway runs npx @abstractframework/observer
Code Web UI Browser coding assistant (gateway-backed) npx @abstractframework/code

Install the pinned ecosystem profile

Light / Apple / GPU profiles

Choose how the framework runs based on your hardware and constraints. All profiles keep the same interfaces; they mainly change which local inference stacks are available.

Light (default) — endpoint-only inference (cloud APIs or local OpenAI-compatible servers), no in-process ML engine stacks:

pip install abstractframework

Apple — native Apple Silicon local stacks (MLX/Metal) in addition to endpoint providers:

pip install "abstractframework[apple]"

GPU — native GPU local stacks (CUDA/ROCm) in addition to endpoint providers:

pip install "abstractframework[gpu]"

See docs/install.md for the full install chooser, uv/venv guidance, abstractframework doctor, and the generated installer manifest contract.


Documentation

Page What it covers
docs/README.md Documentation hub — pick your starting point
docs/install.md Light / Apple / GPU install chooser and first checks
docs/getting-started.md Two entry points + first end-to-end run
docs/architecture.md Layered model, durable execution primitives, comparisons
docs/configuration.md Minimal config, where defaults live, Core vs Gateway
docs/glossary.md Shared terminology (run, ledger, effect, wait, bundle, …)
docs/faq.md Common questions, comparisons, troubleshooting
docs/api.md Meta-package API (pins, helpers, re-exports)

Developer setup (from source)

Clone all sibling repos and build everything in editable mode:

./scripts/clone.sh           # clone 14 repos as siblings
source ./scripts/build.sh    # editable installs into .venv (use `source` to stay in the venv)

Then configure:

abstractcore --config
abstractcore --install

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

abstractframework-0.1.7.tar.gz (585.0 kB view details)

Uploaded Source

Built Distribution

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

abstractframework-0.1.7-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file abstractframework-0.1.7.tar.gz.

File metadata

  • Download URL: abstractframework-0.1.7.tar.gz
  • Upload date:
  • Size: 585.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for abstractframework-0.1.7.tar.gz
Algorithm Hash digest
SHA256 e8fcfa23e147afcd3fceec33fbabd2a2c6e2160d1108cbb13dd518179fd3ac9f
MD5 982a4970719833d865a2870617d9960f
BLAKE2b-256 5e38ffb4951aca02ef32c3c3bf2bc02dd4b14cd4aff064216570452c4e158307

See more details on using hashes here.

Provenance

The following attestation bundles were made for abstractframework-0.1.7.tar.gz:

Publisher: release.yml on lpalbou/AbstractFramework

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file abstractframework-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for abstractframework-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 012f0be37af5d519bb686773aa9ad39d7c37eab7671b0df40dbcd5d3a2b203c7
MD5 11d85b2f57dfc4bd306322faf0d95c84
BLAKE2b-256 80c481911de3f0665c54e02fbf188b5bc1fbb7678cdb0e1c3aec02c1594d6b30

See more details on using hashes here.

Provenance

The following attestation bundles were made for abstractframework-0.1.7-py3-none-any.whl:

Publisher: release.yml on lpalbou/AbstractFramework

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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