Skip to main content

agyloop

CI PyPI Python versions License: MIT Docs

Autonomous Google Antigravity / Gemini session runner. Same job as claudeloop: never block on a human, and never treat billing / daily-quota exhaustion as a short waitable RPM/TPM blip.

Install

Python 3.12+.

pip install agyloop
pipx install agyloop

TestPyPI (contributor dry run; runtime deps still come from PyPI):

pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ agyloop

Auth is either GOOGLE_API_KEY (Gemini Developer API) or Application Default Credentials with a Vertex/Enterprise flag. agyloop doctor reports the lane; it never guesses. See the usage guide.

Quickstart

agyloop doctor                  # pre-flight: auth lane, no interactive hooks
agyloop run handoff.md          # seed a session from a plan and run unattended
agyloop resume --last           # resume the most recent .agyloop/ run
agyloop resume --conversation <id>
agyloop sessions                # local .agyloop/runs registry only

# Mid-run (second terminal, same cwd):
agyloop prompt --now "Also cover the error path"
agyloop prompt --at-break "Then write tests"
agyloop stop                    # soft-stop the active run
agyloop snapshot
agyloop api --help

Generated Gemini REST is agyloop api (ADR 0015). Pace cold Enterprise runs with --ramp N. Drive a live agy binary with --gateway cli.

Capacity model (RPM vs RPD vs credits)

A 429 RESOURCE_EXHAUSTED is not one thing:

State Meaning Waiting helps?
RPM / TPM / IPM window Per-minute throttle Yes — short probe cadence
RPD window Daily quota Yes — next Pacific midnight, not a short sleep
Credits / spend / billing cap No balance, spend cap No clock reset. Probe until a human tops up
Auth failure Bad or revoked credentials Never — abort

--no-probe waits only to computed quota boundaries and issues zero probe requests. --max-turns, --max-wait, and --max-tokens bound a run. Details: usage.

Never block on a human

ask_question is denied with guidance. Interactive SDK hooks are never registered. Operator stop / prompt write the run inbox; they do not wait on stdin. See SECURITY.md.

Permissions

Default SDK path: allow_all() + workspace scope + destructive-command denies. --safe limits tools; --yolo drops workspace/destructive scopes.

--unsafe-skip-permissions is a CLI-adapter argv opt-in for agy --dangerously-skip-permissions. agyloop run (--gateway sdk, the default) refuses the flag. --gateway cli honors it after the usual gates. agyloop never emits that flag together with --sandbox (antigravity-cli#36).

Tests

pytest                          # skips system/live
pytest -m system                # real FS/git/control + scripted agent; no Google account

Links

Document URL
Documentation https://adammatthewsteinberger.github.io/agyloop/
Installation https://adammatthewsteinberger.github.io/agyloop/getting-started/installation/
Contributing https://github.com/adammatthewsteinberger/agyloop/blob/main/CONTRIBUTING.md
Changelog https://github.com/adammatthewsteinberger/agyloop/blob/main/CHANGELOG.md
Security https://github.com/adammatthewsteinberger/agyloop/blob/main/SECURITY.md
Source https://github.com/adammatthewsteinberger/agyloop
PyPI https://pypi.org/project/agyloop/

Naming

Item Value
PyPI / CLI agyloop
Env prefix AGYLOOP_*
State dir .agyloop/
Done marker AGYLOOP_TASK_FULLY_COMPLETE

Download files

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

Source Distribution

agyloop-0.4.0.tar.gz (409.9 kB view details)

Uploaded Source

Built Distribution

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

agyloop-0.4.0-py3-none-any.whl (145.4 kB view details)

Uploaded Python 3

File details

Details for the file agyloop-0.4.0.tar.gz.

File metadata

  • Download URL: agyloop-0.4.0.tar.gz
  • Upload date:
  • Size: 409.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agyloop-0.4.0.tar.gz
Algorithm Hash digest
SHA256 30e73a9735f8eb1c1782b1aa6fbb479825c47011d211db2a93054f887feb7a31
MD5 53f1fb5fb21dd4998cf094de735ed235
BLAKE2b-256 39558485ca80712fef32cb81a78fdcad543388fa3bbb718fdf8176f3262cbaab

See more details on using hashes here.

Provenance

The following attestation bundles were made for agyloop-0.4.0.tar.gz:

Publisher: publish-to-pypi.yml on adammatthewsteinberger/agyloop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agyloop-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: agyloop-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 145.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agyloop-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 781044c7e921dbde2b4fa307b27ab5f17cafb1b8c85ec934477f635304d1415b
MD5 40eadbcde54ea4a32a7997a52d42018e
BLAKE2b-256 0fb9c3788187fb6ad3b9bbdb2a8014892575460faf5915f565096981ae4ed66a

See more details on using hashes here.

Provenance

The following attestation bundles were made for agyloop-0.4.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on adammatthewsteinberger/agyloop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page