elan-agentkit-contracts
The models the Elan platform and its clients both read: the event envelopes, the
agent manifest, the elan.yaml deploy spec, the artifact scope vocabulary and
the naming rules every derived identifier follows.
You almost certainly do not need to install this directly. elan-sdk and
elan-cli depend on it, and installing either brings it along.
uv add elan-agentkit-contracts
Requires Python 3.12 or newer. Its only dependencies are pydantic and
pyyaml.
Why it is a separate package
The SDK validates an artifact filename before asking for an upload ticket, and
the CLI's elan validate answers the same question the deploy service will.
Both are only worth anything while there is one copy of each rule — a client
that reimplements a predicate passes its own tests against its own copy, and
nothing compares the copies.
So these modules are shared rather than mirrored. What is not shared is everything that verifies, mints or connects: the token verifiers, the ticket minter, the database layer, the broker and the push transports stay in the platform's own package. A client has no business holding a verifier, and your application image has no business carrying a Pub/Sub SDK.
What is in it
| Module | What it holds |
|---|---|
envelopes |
AgentEventEnvelope, InvocationEnvelope, ResumeEnvelope, EventKind |
manifest |
AgentManifest, WorkflowManifest, ActionPolicy, Rule, Billing, Limits |
deploy_spec |
DeploySpec, spec_from_yaml, cross_check, Problem |
identity |
slug rules and every name derived from (tenant, project, agent) |
artifacts |
the four artifact scopes, and what a filename may say |
pricing |
the price grammar and tier arithmetic |
tickets |
TICKET_ISSUER, TICKET_QUERY_PARAM, stream_url |
subjects |
END_USER_PREFIX, TENANT_SCOPE, end_user_of |
oauth |
token_scope — the one non-standard part of an OAuth request here |
templates |
what elan new agent scaffolds |
Stability
Pre-1.0 and versioned with the rest of the platform's client packages. These are wire contracts, so a field is added far more often than one changes meaning; when one does, it goes in the changelog with the version that introduced it.
Documentation
Licence
Apache-2.0. See LICENSE.
Metadata
Release files for elan-agentkit-contracts 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| elan_agentkit_contracts-0.1.1.tar.gz | 84.1 kB | Without provenance | Details for elan_agentkit_contracts-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| elan_agentkit_contracts-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for elan_agentkit_contracts-0.1.1-py3-none-any.whl |
Total release size: 177.2 kB
Release files / elan_agentkit_contracts-0.1.1.tar.gz
| Download URL | elan_agentkit_contracts-0.1.1.tar.gz |
|---|---|
| Size | 84.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b7adf6d9028790afe5fddaeed2e94bfb56d2796647a291ae4fb9c921825471c9
|
|
BLAKE2b-256 checksum How to use checksums |
1814ca44cd6211ed8c8820da4bc2bddb07b46ebd935367a75ffd910eb0eac7f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / elan_agentkit_contracts-0.1.1-py3-none-any.whl
| Download URL | elan_agentkit_contracts-0.1.1-py3-none-any.whl |
|---|---|
| Size | 93.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bfacb12f5a120ddb81453b7264a004f644e7ad8c50015559876f9ac58215c8bd
|
|
BLAKE2b-256 checksum How to use checksums |
d087c21d6d1cface297c8e273c8b7ac4859ec4fb053c2ff72d5d9adbff031bd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for elan-agentkit-contracts 0.1.1
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.