Skip to main content

eigenpal

Trigger and inspect Eigenpal automations from Python.

pypi downloads license

Install

pip install eigenpal

Requires Python 3.10+. Get an API key at studio.eigenpal.com -> Settings -> API Keys.

Quick Start

import os
from pathlib import Path
from eigenpal import EigenpalClient

client = EigenpalClient(api_key=os.environ["EIGENPAL_API_KEY"])

result = client.run_and_wait(
    "workflows.extract-invoice",
    input={"contract_document": Path("contract.pdf")},
)

print(result.finished, result.output)

target is always typed: workflows.<slug> or agents.<slug>. That keeps workflow and agent slugs unambiguous.

Automations

Workflows and agents are exposed as automations.

listing = client.automations.list(search="invoice", folder_id="fldr_…")
automation = client.automations.get("workflows.extract-invoice")
client.automations.move("workflows.extract-invoice", folder_path="billing/invoices")
client.automations.delete("workflows.extract-invoice")

list(folder_id="null") returns unfiled YAML workflows at the tenant root. Agent automations have no folder model.

Workflow delete archives the automations parent and keeps execution history. Agent delete removes the agent implementation and history, matching the dashboard, with best-effort leftover storage cleanup.

Folders

Workflow and template trees are a first-class resource. Nested agent directories in Git are source organization only.

tree = client.folders.list(type="workflow", tree="true")
folder = client.folders.create(name="invoices", type="workflow")
client.folders.update(folder.id, name="billing")
client.folders.delete(folder.id)  # unfiles workflows; does not delete them

Runs

started = client.run("agents.invoice-agent", input={"invoice": Path("invoice.pdf")})

run = client.runs.get(started.id, expand=["usage", "execution"])
usage = client.runs.usage(started.id)
steps = client.runs.steps(started.id)
events = client.runs.events(started.id)
trace = client.runs.trace.get(started.id)

client.runs.cancel(started.id)
client.rerun(started.id, wait_for_completion=60)

List calls use the same run API for workflows, agents, manual runs, and eval runs:

recent_failures = client.runs.list(
    type="workflow",
    status="failed,cancelled",
    limit=50,
)

Files And Artifacts

Use client.files for reusable upload-first blobs. When referenced by a run input, Eigenpal snapshots the file into run-scoped artifacts.

uploaded = client.files.upload(Path("contract.pdf"))

started = client.run(
    "workflows.extract-invoice",
    input={"contract_document": {"$fileId": uploaded.id}},
)

artifacts = client.runs.artifacts.list(started.id)
content = client.runs.artifacts.download(started.id, artifacts.artifacts[0].path)

You can also pass a Path, file handle, or {"content": bytes, "filename": str, "mime_type": str} directly to client.run; the SDK sends multipart form data automatically. Durable run inputs and dataset examples store scoped {"$file": "input/..."} artifact refs after ingestion.

Errors

Every non-2xx response raises a typed subclass of EigenpalError:

HTTP Class
400 EigenpalValidationError
401 EigenpalAuthError
403 EigenpalForbiddenError
404 EigenpalNotFoundError
429 EigenpalRateLimitError
5xx EigenpalServerError
timeout EigenpalTimeoutError

Reference

Topic What is in it
Automations List, inspect, move, delete, versions, triggers, folders.
Runs Start, poll, cancel, rerun, usage, steps, events, traces, reviews.
File inputs Multipart upload from Path, file handle, or bytes.
Errors Typed exceptions, retries, request ids.
Configuration API key, base_url, timeouts, headers.
Full API reference Every method, generated from OpenAPI.

License

Apache-2.0.

Metadata

Release files for eigenpal 0.20.35

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eigenpal 0.20.35
File Size Uploaded Provenance
eigenpal-0.20.35.tar.gz 153.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for eigenpal 0.20.35
File Interpreter ABI Platform
eigenpal-0.20.35-py3-none-any.whl Python 3 none any Details

Total release size: 620.0 kB

Release files / eigenpal-0.20.35.tar.gz

Download URL eigenpal-0.20.35.tar.gz
Size 153.3 kB
Tags Source
SHA-256 checksum
How to use checksums
babf1439ff3ac0e53cc7c15c96285b8d8b9ba5af14178c591ad54b327100ec77
BLAKE2b-256 checksum
How to use checksums
c5aed32c605dddd2bafbc6ad2092f34dce557bb54c32c67ea7350541f9e7dfe0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / eigenpal-0.20.35-py3-none-any.whl

Download URL eigenpal-0.20.35-py3-none-any.whl
Size 466.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f1e45a222e9bd1deb61093129637f239682945c1120a6505a110306df259364
BLAKE2b-256 checksum
How to use checksums
8eb092b6741cfd026679d194b3e1d94e69e6ea32b6db3ebdb23ad96616ad1fad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Security for eigenpal 0.20.35

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for eigenpal-0.20.35.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.20.35 This release

2 release files Full provenance

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