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 Python 3.12+ Licence: AGPL-3.0 Your plugins: any licence Docs

Installing BaselithCore from PyPI into a fresh virtualenv, then scaffolding a project with the CLI — empty directory to running skeleton

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 and Terraform deployment — built in, self-hosted, 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 and sandboxed code execution, every seam fail-closed by default — plus opt-in EU AI Act, GDPR, NIS2 and DORA primitives with evidence trails.

Quick start

Kick the tyres without installing anything:

uvx --from baselith-core baselith --version

Then take it as a library, in one command. The distribution is baselith-core on PyPI:

uv pip install baselith-core        # or: 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.

Or the whole runtime — API, PostgreSQL, FalkorDB and Qdrant, with migrations applied at startup. From a checkout of this repository, with Docker running:

uv pip install -e .             # installs the `baselith` CLI
baselith setup docker-core      # writes .env and configs/.env.docker.core
docker compose --env-file configs/.env.docker.core -f docker-compose.core.yml up -d --wait
baselith doctor                 # environment and configuration diagnostics

--wait returns only once every health check is green, so the next line can assume the stack is serving:

curl --fail http://localhost:8000/health

The Compose stack coming up — the api, postgres, redis and qdrant containers each reaching Healthy, then /health answering ok

In a project generated by baselith init, baselith up does all of this for you: it writes the runtime files, builds and waits for /health in one command.

Optional capabilities (RAG, browser automation, OCR, extra model providers, vector backends, …) install as extras — the installation guide lists them, and the Docker Core guide covers the checkout-based runtime in full.

Plugins

Everything domain-specific is a plugin, and the CLI does the plumbing. Scaffold one, check it, run it — without leaving the terminal:

baselith plugin create my_plugin --type agent               # manifest.yaml, plugin.py, agent.py
baselith plugin validate my_plugin                          # syntax, manifest, schema, deps, env vars
baselith plugin add my_plugin --name my_plugin --docker     # build, rebuild the API image, probe HTTP

Scaffolding an agent plugin and validating it — three commands, no boilerplate

--type picks the shape: agent, router or graph. Running someone else's plugin is the same add command with a Git URL, and the marketplace is one command away:

baselith plugin add https://github.com/your-org/plugin-example --docker
baselith plugin marketplace search browser
baselith plugin marketplace install <plugin-id>

baselith plugin list, status and logs cover day-to-day work; sign writes the integrity hash a hardened deployment verifies before it imports anything.

The first-plugin tutorial walks one end to end · creating plugins · packaging · marketplace

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"]
        GOV["Governance<br/>(autonomy gating · human-in-the-loop · budgets · compliance evidence)"]
    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
    A -.->|gated by| GOV

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

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. Every pull request runs 8,924 tests behind a 78% branch-coverage floor, strict typing, architecture-boundary and docs-consistency gates. Report vulnerabilities through SECURITY.md; release history lives in CHANGELOG.md.

Licence

AGPL-3.0-only — see LICENSE. LICENSE.exception adds a permission under AGPL section 7: a plugin that uses the framework as a library — rather than patching files under core/ — may be licensed under any terms you choose, including closed ones, and section 13 never reaches it. Offered to everyone on identical terms; your plugin carries the notice described in section 3(c), and plugin packaging says what it must say.


Copyright © 2026 BaselithCore Team.

Metadata

Release files for baselith-core 0.36.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for baselith-core 0.36.0
File Size Uploaded
baselith_core-0.36.0.tar.gz 3.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for baselith-core 0.36.0
File Interpreter ABI Platform
baselith_core-0.36.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.6 MB

Release files / baselith_core-0.36.0.tar.gz

Download URL baselith_core-0.36.0.tar.gz
Size 3.5 MB
Tags Source
SHA-256 checksum
How to use checksums
0c86d41533e0ed1b9125672739a0977b9a273b885e2feac9247b62a536a29c26
BLAKE2b-256 checksum
How to use checksums
76e9d6922d576a38e5b8c64d296c8e4b6c56efc5b2465a9f4adb7b5f1813ece3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / baselith_core-0.36.0-py3-none-any.whl

Download URL baselith_core-0.36.0-py3-none-any.whl
Size 4.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e5527ab3d92e2e45929345582099ccb3ef225345148951754ec65f35553e018e
BLAKE2b-256 checksum
How to use checksums
1ba94ef93eaada77d0e983c01e12b7c31474551b8e8e8407e819ebaa3a0df0b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.40.2

2 release files

0.40.1

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.2

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.0

2 release files

This release

0.36.0 This release

2 release files

0.35.1

2 release files

0.35.0

2 release files

0.34.0

2 release files

0.33.1

2 release files

0.33.0

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release 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