Skip to main content

strands-zero

PyPI

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:

  1. $ZERO_BIN env var
  2. zero on $PATH
  3. ~/.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)

Source distribution for strands-zero 0.1.0
File Size Uploaded Provenance
strands_zero-0.1.0.tar.gz 9.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for strands-zero 0.1.0
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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