This page is for framework development. If you are writing an agent or dataset package, start with integrate an agent or integrate a dataset.

Prerequisites

  • Python 3.11 or newer
  • Docker for end-to-end sandbox tests
  • Agentix is one monorepo uv workspace — the runtime and provider plugins live under plugins/ (e.g. plugins/runtime-basic, plugins/providers/docker) and are installed editable by uv sync --all-packages. There are no sibling repos to check out.

Setup

The PyPI distribution is named agentixx; the import package is agentix.

Run the Runtime Locally

You can run the runtime server without Docker while iterating on client, server, or worker code. There’s no console script — the bundle starts it via /nix/runtime/bootstrap.sh, but during dev you can launch the ASGI app directly with uvicorn:
The server exposes /health; remote calls use /socket.io/.

Bundles, Not a Base Image

There is no separate runtime base image to build. agentix build produces a bundle, staging the Dockerfile shipped at agentix/builder/Dockerfile and running every heavy step inside the build container. Providers then overlay that bundle onto any task image at /nix via Docker’s --mount type=image, so the same bundle works across task images with no rebuild.

Build a Bundle

The build installs the project and its dependency closure into /nix/runtime. If the project includes default.nix, the build also splices system binaries into the final bundle.

Smoke Test a Sandbox

Lint and Test

Codebase Map

Design Rules

  • Keep the user model centered on client.remote(fn, ...).
  • Keep bundle behavior dependency-driven through pyproject.toml.
  • Prefer composition over inheritance outside lifecycle protocols.
  • Do not add compatibility shims for old API shapes unless there is a concrete external constraint.