Python SDK

Install (canonical name; this GitLab project, not the public Python index):

pip install eve-iac --index-url https://gitlab.com/api/v4/projects/eve-ng-dev%2Feve-iac/packages/pypi/simple

Or pip install eve-iac after that index is configured, or install the wheel from a GitLab Release / out/python/ (make pack-sdk). Details: Install packages.

Imports

from eveiac import EveIacClient, LoginRequest, PlanProjectRequest, pack_lab, AgentError

EveIacClient is the public client. Generated models (PlanProjectRequest, PlanData, ImportProjectRequest, …) are re-exported from eveiac. Helpers: pack_lab, commit_pulled, UNSET, as_wire.

Create a client

from eveiac import EveIacClient

client = EveIacClient(
    url="https://eve.example:8787",
    token="",
    ca_pem=open("ca.pem", encoding="utf-8").read(),
    timeout_ms=None,
)

url is required unless you inject transport=. timeout_ms on the constructor is the transport default; each method also accepts timeout_ms to override the per-operation semantics timeout.

HTTPS is required. Pin the agent CA with ca_pem.

Responses

Each API method returns a typed model (PlanData, BulkResult, …). Failures raise AgentError. The CLI --json flag prints the same object shape to stdout.

Documentation map

Page Hand-written (site/pages/…) Generated (sdk/generated/site/…)
Getting started developers/python/index.md —
Authentication developers/python/authentication.md —
How-to, Examples, API, Models — developers/python/howto.md, examples.md, api.md, models.md

Relative links below work on the built site. In Git, open generated files under sdk/generated/site/developers/python/. Run make sdk-generate after spec or generator changes.

Next