strands-zero
Strands Agents tools for the Zero programming language.
Wraps the official zero CLI as a set of @tool-decorated Python functions
so AI agents (Claude, Strands, anything compatible) can write, type-check,
compile, run, ship, and inspect Zero programs with structured JSON feedback.
Zero is the programming language for agents — small native tools, explicit effects, predictable memory, and machine-readable compiler output.
Install
pip install strands-zero
This installs the Python wrappers. You also need the Zero compiler binary:
# one-shot from the package
strands-zero-install
# or manually
curl -fsSL https://zerolang.ai/install.sh | bash
export PATH="$HOME/.zero/bin:$PATH"
strands-zero finds the binary in this order:
$ZERO_BINenv varzeroon$PATH~/.zero/bin/zero
Quick start
from strands import Agent
from strands_zero import (
zero_write, zero_check, zero_run, zero_build,
zero_explain, zero_fix, zero_doctor, zero_skills,
zero_graph, zero_size, zero_test, zero_version,
)
agent = Agent(
tools=[
zero_write, zero_check, zero_run, zero_build,
zero_explain, zero_fix, zero_doctor, zero_skills,
],
system_prompt="You are a Zero language expert. Use zero_skills('get','zero-language',full=True) when unsure of syntax.",
)
agent("Write a Zero program that prints the first 10 fibonacci numbers, type-check it, then run it.")
Tools
| Tool | Purpose |
|---|---|
zero_version |
Compiler version + host info |
zero_install |
Install/upgrade the Zero compiler |
zero_doctor |
Diagnose the toolchain |
zero_skills |
Access built-in language/diagnostics/builds/agent skill docs |
zero_targets |
List supported compilation targets |
zero_write |
Write .0 source to disk (or temp file) |
zero_new |
Scaffold a new cli / lib / package |
zero_check |
Type-check; returns structured diagnostics JSON |
zero_explain |
Explain a diagnostic code |
zero_fix |
Get a structured fix plan |
zero_run |
Compile and run a program (with stdin/args) |
zero_build |
Build to exe / obj / wasm |
zero_ship |
Release-grade build (release-small / tiny / audit) |
zero_test |
Run test blocks |
zero_fmt |
Format source |
zero_graph |
Module / dep graph |
zero_size |
Binary size breakdown |
zero_mem |
Static memory layout |
zero_routes |
List declared web routes |
zero_clean |
Clean .zero/ cache |
All tools accept a cwd arg; build/run tools accept timeout.
JSON-capable tools default to json_output=True and parse stdout into
result["json"].
Manual usage (no agent)
from strands_zero import zero_write, zero_run
write = zero_write('''
pub fun main(world: World) -> Void raises {
check world.out.write("hello\\n")
}
''')
run = zero_run(write["path"])
print(run["stdout"]) # hello
Why?
Zero exposes everything an agent needs through --json flags
(check --json, fix --plan --json, graph --json, size --json, doctor --json, ...).
This package gives that surface area to a Strands agent verbatim, so an agent
can iterate on Zero code with the same explicit, machine-readable feedback the
language is designed for.
License
Apache-2.0
Metadata
Release files for strands-zero 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| strands_zero-0.1.0.tar.gz | 9.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| strands_zero-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.4 kB
Release files / strands_zero-0.1.0.tar.gz
| Download URL | strands_zero-0.1.0.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
392a25ef06fab259e803f55009718099bb06b7affa4d2a4c43538b220809e71b
|
|
BLAKE2b-256 checksum How to use checksums |
07aebbd53518522ea58664ac36637febb75d4d6a8d2cea6917bf58811c3d88a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / strands_zero-0.1.0-py3-none-any.whl
| Download URL | strands_zero-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4176761cf9853c592697d68f2cc849c67afbe21f8edf8fce88fcb58ef3166467
|
|
BLAKE2b-256 checksum How to use checksums |
7d433227c74931ed06ca3ecfaeebe25988a54d2f36793975a84eac7839d1f2fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for strands-zero 0.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.