Skip to main content

Beadle

Build an AI employee without building an agent platform.

Most of any job is noticing, not thinking — scanning, comparing against a baseline, concluding nothing changed. Noticing is constant and answerable in SQL. Judgment is rare, expensive, and the only part a model is good at. Most agent systems fuse the two and pay judgment prices for noticing. Beadle keeps them apart.

pip install beadle
beadle init my-employees
cd my-employees
./beadle doctor
./beadle run example-site-watch uptime-check

Every task is the same five steps:

GATHER   deterministic — SQL, an API call, a shell command. No model.
GATE     plain Python. Did anything happen? If not, stop here — silently.
JUDGE    one model call. Tools disabled, max-turns 1.
DELIVER  gated. Silence is the correct output most days.
RECORD   journal, archive.

There is no agent loop. On the production fleet this was extracted from — 21 live tasks — 10 never call a model at all, 18 can exit before the model is invoked, and the busiest task runs 144 times a day for zero tokens.

Beadle is a workspace you own and edit. beadle init fetches it and gets out of the way. Full docs, four working example employees, and a complete worked build (including the bug hit along the way) are in the workspace itself.

Or import it into a codebase you already have

If you already have a repo with scheduled scripts in it, you do not need a second workspace:

from beadle import lib          # BEADLE_HOME=/path/to/your/repo

BEADLE_HOME decides where .env, logs/ and employees live; BEADLE_EMPLOYEES overrides the employee root on its own, so an existing layout keeps working (lib.journal("teams/sre", ...)) without moving a single folder. Everything else is identical, because it is the same lib.py.

The workspace remains the recommended way in: reading the four example employees teaches the shape faster than any API docs, and editing your own copy of lib.py is a feature, not a violation. Import it when you have an existing fleet to fold in rather than a new one to start.

MIT · https://github.com/agentropicai/beadle

Download files

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

Source Distribution

beadle-0.2.1.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

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

beadle-0.2.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file beadle-0.2.1.tar.gz.

File metadata

  • Download URL: beadle-0.2.1.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for beadle-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f07b555bc30aaf1bc4547f57c203a261b3ea20efcccdc0e63454ed149a18e283
MD5 5a43ff38ef8d4811dd1b8f6a085bc6ff
BLAKE2b-256 08597ea6c70fac9a3618f97322f8e5a6631ef269ded6cb9f2f18a42bef119102

See more details on using hashes here.

File details

Details for the file beadle-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: beadle-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for beadle-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5179369e2fc1886a0827a90f4ed8d4abeb5ba97ed3d443c6f3fa059a6ccaac41
MD5 91d0ee2173e69436aed2d66daa5b62a7
BLAKE2b-256 7e17d2810062580446c4ea8fb8cbc595ca942f3464349c6e4abe82100b61a8e7

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 Sentry Error logging StatusPage Status page