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.
- How-to — workflows that combine operations
- Examples — Working with responses
- API reference — per-method JSON wire shape and Processing the result
- Models — field types
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¶
- How-to — generated
- Authentication — hand-written
- Examples — generated
- API reference (every public method) — generated
- Models — generated
- Inventory from a SDK — hand-written.
eveiac.oob.inventory.render_project