Skip to main content

a13n Envd Client

a13n-envd-client is the low-level Python client for Envd's Environment Interaction Protocol (EIP). The import package is a13n_envd_client. Python 3.13 or later is required.

Use this package when implementing an Environment Provider or a trusted EIP integration. Most applications should start with a13n-environment, which owns Provider adaptation and target lifecycle.

Public surface

  • Generated EIP 0.1 models, codecs, method metadata, and typed EIPClient operations for all 35 protocol methods in a13n_envd_client.eip.v1.
  • EIPSession: identity/protocol/descriptor validation, initialization and readiness, monotonic descriptor refresh, clean close, abort, and transfer helpers.
  • StdioTransport, HttpTransport, and AcceptedWebSocketTransport over trusted Host-provided pipes, an authenticated HTTP(S) endpoint, or an already-authenticated reverse-WebSocket connection.
  • EIPFileReader and EIPFileWriter: bounded binary transfer, integrity evidence, explicit commit, and staged-writer abort.
  • EIPOutputReader and EIPOutputPage: contiguous retained-output paging and producer/completeness evidence.
  • RequestCoordinator: bounded concurrent request correlation, data-frame routing, cancellation, and typed errors.
  • EIPTransport, frame types, and WebSocketConnection for custom carrier adapters.

The package does not install or launch Envd, allocate its required private runtime directory, issue credentials, or start a WebSocket listener. Those responsibilities belong to the Provider or Host.

Connect to an existing daemon

import asyncio
import os

from a13n_envd_client import EIPSession, HttpTransport


async def main() -> None:
    transport = HttpTransport(
        endpoint=os.environ["ENVD_ENDPOINT"],
        credential=os.environ["ENVD_CREDENTIAL"],
    )
    session = await EIPSession.initialize(
        transport,
        expected_environment_id=os.environ["ENVD_ENVIRONMENT_ID"],
        required_methods=("environment.describe", "session.close"),
    )
    async with session:
        descriptor = await session.describe()
        print(descriptor.generation)


if __name__ == "__main__":
    asyncio.run(main())

This example requires an existing configured daemon and its credential. The endpoint is its base URL. Initialization performs the initial readiness check; closing the client does not destroy the external workspace or daemon.

The Python EIP client guide covers every transport/session option, all error classes, explicit writer commit, output paging, timeout semantics, and the complete generated method reference. The Envd operator guide owns standalone bootstrap, including A13N_ENVD_RUNTIME_DIR.

Failure semantics

A carrier timeout, cancellation, or connection failure does not prove an already dispatched mutation failed or was absent. The client does not automatically retry ambiguous operations. Reconcile with the same operation ID and semantic request where permitted, a receipt, or native-state inspection.

Operations with context.timeout_ms get their operation budget plus response allowance; without a configured coordinator timeout the allowance is 30 seconds. HTTP control reads follow the same operation-plus-allowance model while retaining their separate connect/write/pool timeouts. Initialization and readiness have their own enclosing deadlines.

Validate

uv run --locked pytest packages/a13n-envd-client/tests

Versioning and generation

The client and native daemon share one Envd stable X.Y.Z or RC X.Y.Z-rc.N release identity. Python metadata uses PEP 440 X.Y.ZrcN; native artifacts retain SemVer spelling. EIP's negotiated major/minor is independent of the package release.

The IDL and repository generator own the wire artifacts. Do not hand-edit generated Python models or methods. See protocol source and generation.

License

Apache License 2.0.

Download files

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

Source Distribution

a13n_envd_client-0.0.10.tar.gz (78.4 kB view details)

Uploaded Source

Built Distribution

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

a13n_envd_client-0.0.10-py3-none-any.whl (52.0 kB view details)

Uploaded Python 3

File details

Details for the file a13n_envd_client-0.0.10.tar.gz.

File metadata

  • Download URL: a13n_envd_client-0.0.10.tar.gz
  • Upload date:
  • Size: 78.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for a13n_envd_client-0.0.10.tar.gz
Algorithm Hash digest
SHA256 97f98b06bba0f3a82ce0b0ccd7453a45b770b200c4ef61e492f17e5d06837efc
MD5 d37d82f5d02fb0592f57e46833c6adf7
BLAKE2b-256 c93b46d6428f31a9239d4805177050be9c32b5bdf02f02d08e31214f3323657c

See more details on using hashes here.

File details

Details for the file a13n_envd_client-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: a13n_envd_client-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 52.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for a13n_envd_client-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 cc3a74b4af7873c749000abed5b7f986fd347510a6f069714d95dc8c356b00b3
MD5 741552b81ef0558f8dd0fd37767180fc
BLAKE2b-256 debc5c7c3afbb46fd1614889fdf19c9e8e45390655b46cbf51f554e1b13c770a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.10 This release

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page