AGL
AGL runs AI agent workflows against a code repository. A workflow is ordinary Python that asks for a worktree, hands roles to agents and lands what comes back — with fingerprinted replay, git worktree isolation, preflight checks and exit codes supplied by the framework rather than written into the workflow.
This release ships no workflows. The ones AGL runs are the ones you write. agl new <name>
writes a workflow into your own workspace under AGL_HOME — a directory holding a module and a
pyproject.toml, which runs as it stands — and agl run <name> runs it against a repository, which
agl init registers from inside once; agl workflows lists what that workspace declares. AGL
reads workflows from there and from nowhere else: the agl.workflows entry-point group is the
table key each workflow directory's own pyproject.toml writes, rather than a group a distribution
installed beside AGL registers into.
A workflow that imports nothing beyond agl needs no environment of its own and runs as it stands.
One declaring third-party dependencies in its own pyproject.toml just works too: AGL keeps the
workspace's environment current with what its workflows declare, and does it as part of running
them. agl new installs on its way out, and agl run and agl resume each install before they
import anything, so there is no install command to remember and no moment at which you would have
had to remember it. What is installed is your workflows' dependencies and never the workflows
themselves, so importing a workflow still resolves from the source you are editing. This needs
uv on your PATH. An install
that succeeds says nothing at all; one that is refused stops the command on uv's own words, unless
your workspace already has an environment, in which case AGL warns and carries on against what the
last successful install left.
agl new also writes one line about AGL itself into the workflow it scaffolds —
[tool.agl] requires = "agents-gl>=<version>", naming the AGL that wrote it. AGL reads that line
back and refuses a workflow written against a newer AGL than the one you are running, before
importing the workflow, so what you are told about is a version rather than whichever name moved
inside your own file. It is a floor and not a pin, so any later AGL satisfies it. The table is
[tool.agl] and deliberately not [project] dependencies: uv walks past a [tool] table it does
not own, so nothing ever goes off to an index looking for that version.
Install
uv tool install agents-gl
The distribution on PyPI is agents-gl; the command it installs and the package you import are
both agl.
Python 3.14 or newer
This is the one thing most likely to trip you up. AGL declares requires-python = ">=3.14", so a
plain pip install agents-gl on an older interpreter refuses before it downloads anything, and it
reports that as not finding a version rather than as your interpreter being too old. uv tool install sidesteps it by fetching a matching interpreter itself.
Status
Early, and the surface may still change.
Licence
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agents_gl-0.0.5.tar.gz.
File metadata
- Download URL: agents_gl-0.0.5.tar.gz
- Upload date:
- Size: 171.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8128d390abe9561c38af53fee9f8633876136ee3a116aab458a0ea45332d05e
|
|
| MD5 |
9d47cfe2855bb5defcfd2b69502b0ef1
|
|
| BLAKE2b-256 |
4c8dbe8c0ba227439d986c27e41e70441a0fbfdc116db2ff797bf77bfff6b8da
|
Provenance
The following attestation bundles were made for agents_gl-0.0.5.tar.gz:
Publisher:
publish.yml on jashioq/AGL
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agents_gl-0.0.5.tar.gz -
Subject digest:
c8128d390abe9561c38af53fee9f8633876136ee3a116aab458a0ea45332d05e - Sigstore transparency entry: 2776221095
- Sigstore integration time:
-
Permalink:
jashioq/AGL@aae720f63d413ea0a6e46d6bdad3f23ac69b9e0e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jashioq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@aae720f63d413ea0a6e46d6bdad3f23ac69b9e0e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file agents_gl-0.0.5-py3-none-any.whl.
File metadata
- Download URL: agents_gl-0.0.5-py3-none-any.whl
- Upload date:
- Size: 183.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa8bc42755d71967e72975e1113388eafa05be5cbac8574163d5540121bc50cb
|
|
| MD5 |
248b827461306907539c49bf680669ce
|
|
| BLAKE2b-256 |
c355a06dc2fdca55f5820612fd9a46c07c78d0707d4abb8f570301a92254d244
|
Provenance
The following attestation bundles were made for agents_gl-0.0.5-py3-none-any.whl:
Publisher:
publish.yml on jashioq/AGL
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agents_gl-0.0.5-py3-none-any.whl -
Subject digest:
fa8bc42755d71967e72975e1113388eafa05be5cbac8574163d5540121bc50cb - Sigstore transparency entry: 2776221132
- Sigstore integration time:
-
Permalink:
jashioq/AGL@aae720f63d413ea0a6e46d6bdad3f23ac69b9e0e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jashioq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@aae720f63d413ea0a6e46d6bdad3f23ac69b9e0e -
Trigger Event:
workflow_dispatch
-
Statement type: