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.1.0.tar.gz (353.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.1.0-py3-none-any.whl (127.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agyloop-0.1.0.tar.gz
  • Upload date:
  • Size: 353.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.1.0.tar.gz
Algorithm Hash digest
SHA256 3a82cd3923dd36dbe68c45781a8584c305c122c5733380ca2a9bc86790c8c374
MD5 bc103d3734a0c027b1bddb7b10c8d6d4
BLAKE2b-256 cd46976bcda0aa3d54bbc0e100e6c985eefae2442385719b0a90c4a047a87245

See more details on using hashes here.

Provenance

The following attestation bundles were made for agyloop-0.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: agyloop-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 127.0 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f61b8b44af9d62578a563583547d3bbf7699f1b2fb37acb4a38b94661b5ba521
MD5 5ae06f553ff846abba6ae22a721ff738
BLAKE2b-256 3227cfde31332171c2347445b462db52379e7188c326d8737928949580c6e114

See more details on using hashes here.

Provenance

The following attestation bundles were made for agyloop-0.1.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