Skip to main content

BaselithCore Logo

BaselithCore

Agents that survive production. Durable execution, enforced budgets, and EU AI Act evidence — self-hosted, with no companion SaaS.

CI PyPI Version 0.30.0 Tests: 6443 passing Coverage 79% Python 3.12+ Licence: AGPL-3.0 Your plugins: any licence Docs

BaselithCore is a Python orchestration engine for agentic AI. Execution state is checkpointed as a run proceeds, so an interrupted process resumes from its last completed step instead of replaying side effects. Every request carries a budget that caps iterations, tool calls, tokens and USD spend, and every step emits OpenTelemetry spans and Prometheus metrics with real cost attached. The audit trail a regulated deployment has to produce is written while the system runs, not reconstructed from logs afterwards.

Writing a plugin? You keep your source. The plugin exception lets any plugin that uses the framework as a library ship under any licence you like, including a closed one. Same terms for everyone.


Why BaselithCore

  • Agents that survive production. Durable execution with checkpoint/resume, replayable tool steps, state history and fork/rewind — a SIGKILL mid-run recovers without repeating a single side effect.
  • Everything included, nothing rented. Evaluation suites, LLM-as-judge, red-teaming, OpenTelemetry tracing, Prometheus metrics with real USD cost, Helm/Terraform deployment — built in and self-hosted, with no companion SaaS to subscribe to.
  • Brakes, not just horsepower. Autonomy gating, durable human-in-the-loop approvals, per-request cost budgets, prompt-injection guardrails, sandboxed code execution — every seam fail-closed by default, plus opt-in EU AI Act / GDPR / NIS2 / DORA primitives with evidence trails.

Sixty seconds

pip install baselith-core
from core.agent import Agent, Crew, Task

researcher = Agent(system_prompt="You are a meticulous researcher.")
writer = Agent(system_prompt="You write crisp executive summaries.")

crew = Crew(agents=[researcher, writer], tasks=[
    Task("Research {topic} and list the key facts.", agent=researcher),
    Task("Write a summary from the research.", agent=writer),
])
report = (await crew.run(inputs={"topic": "vector databases"})).final

Typed, budgeted and observable from the first line — the quickstart adds tools, structured output and a checkpoint store.

Architecture at a glance

graph TD
    subgraph SC["Sacred Core (Agnostic Engine)"]
        A["Core Orchestrator<br/>(intent · routing · adaptive loop · durable checkpoint/resume)"]
        F["Flow Handlers"]

        subgraph COG["Cognitive Layer"]
            RE["Reasoning<br/>(MCTS · Tree-of-Thoughts)"]
            WM["World Model<br/>(risk · rollback · simulation)"]
            SW["Swarm<br/>(auction protocols)"]
            PL["Planning"]
            MT["Meta · Reflection · Adversarial"]
        end

        LP["Engineered Loops<br/>(verifier · stall guard · escalation)"]
        M["Memory Hierarchy<br/>(STM → MTM → LTM)"]
        S["Storage Layer<br/>(Postgres · Qdrant/pgvector · Redis)"]
        R["Plugin Registry"]
        RES["Resilience · Observability · Guardrails"]
    end

    A --> COG
    A --> F
    A --> LP
    A --> M
    M --> S
    COG --> M

    R --> C["Custom Agent Plugins"]
    R --> D["Capability Extensions"]
    R -.->|Inject Handlers| A
    R -.->|Inject Routers| G["API Gateway"]

    A --> H["LLM Layer<br/>(Anthropic · OpenAI · Gemini · Ollama · HF)<br/>native tool-calling · typed output · cross-provider fallback"]
    F --> H

    A --> I["Interop<br/>(MCP · A2A streaming · AP2 mandates · realtime duplex)"]
    A -.->|wrapped by| RES

Two rules hold the shape: core/ stays domain-agnostic, and everything domain-specific is a plugin. The architecture docs go deeper.

What's inside — the full capability list
Typed agents & declarative crews Single-import Agent, sequential/parallel/manager-led Crew, free-form group chat → Agent API
Durable execution & time-travel Checkpoint/resume (Postgres, SQLite or in-memory), replayable tool steps, state history, fork/rewind → Orchestration
Loop engineering Verifier-owned loops with stall detection, feed-forward lessons, escalation and resumable outcomes → Loops
Structured event streaming Per-run agent events in-process or over SSE, plus async run submission with completion webhooks → Orchestration
Cognitive layer MCTS, Tree-of-Thoughts, world model, swarm auctions & bounded handoffs → Reasoning · Swarm
Governance & safety Autonomy gating, durable human-in-the-loop, plan approval, loop & tool budgets, layered guardrails, sandboxed code → Autonomy & Safety
Memory & RAG STM→MTM→LTM hierarchy, hybrid search, hierarchical chunking, full RAG pipeline, Qdrant or pgvector backends → Memory
Multimodal Vision, native PDF and audio content blocks, duplex realtime voice with barge-in → Realtime
Interoperability Native dual-era MCP (server + client + declarative registry), A2A peer interop, AP2 signed-mandate commerce → MCP · A2A
Self-improvement, governed Skill evolution, prompt compilation and evolutionary search — every change eval-gated, audited and human-approvable → Skill Evolution
Evaluation & observability Trajectory eval in CI, multi-model bake-off, LLM-as-judge, red-team, OTel + Prometheus with USD cost metrics → Evaluation
Regulatory toolkit Opt-in EU AI Act / GDPR / NIS2 / DORA primitives with evidence trails → Regulatory Compliance
Production deployment Docker, Helm, Terraform, SLO rules, typed SDKs → Deployment

Quick start

pip install baselith-core       # core engine
docker compose up -d            # Redis, PostgreSQL, Qdrant (optional)
baselith doctor                 # validate environment and configuration

Optional capabilities (RAG, browser automation, OCR, extra model providers, vector backends, …) install as extras — the installation guide has the full list.

Contributing

Contributions are welcome, and the on-ramps are deliberately marked:

CONTRIBUTING.md covers the dev setup, the quality gates your PR has to pass, and the review turnaround you can expect.

Version 0.30.0 ships 6,443 tests at 79% branch coverage, gated in CI at a 75% floor alongside strict typing, architecture-boundary and docs-consistency checks.

Licence

BaselithCore is licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only) — see LICENSE.

LICENSE.exception grants an additional permission under AGPL section 7: a plugin that uses the framework as a library — rather than modifying it — may be licensed under any terms you choose, including closed ones, and section 13 never reaches it. The permission is offered to everyone on identical terms. Two conditions come with it: your plugin must carry the notice described in section 3(c), and patching files under core/ makes it a modified framework rather than a plugin, in which case AGPL-3.0-only applies in full. See plugin packaging for what the notice has to say.


Copyright © 2026 BaselithCore Team.

Download files

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

Source Distribution

baselith_core-0.30.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

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

baselith_core-0.30.0-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file baselith_core-0.30.0.tar.gz.

File metadata

  • Download URL: baselith_core-0.30.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for baselith_core-0.30.0.tar.gz
Algorithm Hash digest
SHA256 8a65a3c61afb6f82d473cba1be79bc19cf5b3452ebf6f84a62e90f7f93a60ef0
MD5 0874eefcb4ddf0b9f97408a430acbbca
BLAKE2b-256 0800f89b6542443419e4b0879ae960525441f5b2352ebd6dc7b72d48fc600dec

See more details on using hashes here.

Provenance

The following attestation bundles were made for baselith_core-0.30.0.tar.gz:

Publisher: ci.yml on baselithcore/baselithcore

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

File details

Details for the file baselith_core-0.30.0-py3-none-any.whl.

File metadata

  • Download URL: baselith_core-0.30.0-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for baselith_core-0.30.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df381d08921616ac5fc3e5f80fc02e6cad23fbc6f19c093327c186b9f0dea7eb
MD5 8b51509d5147c6bd6b51fc1c332ff0bf
BLAKE2b-256 1b43013aee732955cc15d438a8c58a2f0455dc3ca43cd3bf75616e1bb4fd9760

See more details on using hashes here.

Provenance

The following attestation bundles were made for baselith_core-0.30.0-py3-none-any.whl:

Publisher: ci.yml on baselithcore/baselithcore

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

Release history Release notifications | RSS feed

0.31.1

2 files

0.31.0

2 files

This release

0.30.0 This release

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

0.25.0

2 files

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page