A nano code agent built in pure Python.
"What I cannot create, I do not understand." — Richard Feynman, 1988
nanoPyCodeAgent requires Python 3.13 or newer.
There are a few ways to run it — pick whichever fits your workflow.
Use uvx to run the latest release without installing anything:
uvx nanoPyCodeAgentInstall it as a persistent command-line tool, then run it from anywhere:
uv tool install nanoPyCodeAgent # or: pipx install nanoPyCodeAgent
nanoPyCodeAgentGive it a task and it works through it on its own, with no prompt and nothing to confirm — the shape a script or a benchmark harness needs:
nanoPyCodeAgent -p "add a --version flag and run the tests"The task runs in the current directory and the command exits when the run ends. See the complete CLI reference for all task input methods, options, exit statuses, trajectory output, and Event Journal behavior.
Run an unreleased branch or a specific release tag straight from GitHub:
# latest commit on a branch
uvx --from "git+https://github.com/minixalpha/nanoPyCodeAgent@main" nanoPyCodeAgent
# a specific tag
uvx --from "git+https://github.com/minixalpha/nanoPyCodeAgent@v0.1.0" nanoPyCodeAgentSet ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN before running the agent.
You can also configure the endpoint and model through environment variables or
~/.nanoPyCodeAgent/settings.json. See the configuration reference
for supported variables, defaults, file format, precedence, and empty-value
handling.
Upgrade an installed tool to the latest release:
uv tool upgrade nanoPyCodeAgent # or: pipx upgrade nanoPyCodeAgentFor maintainers: see docs/RELEASING.md for the release process and prerequisites.