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")
automation = client.automations.get("workflows.extract-invoice")
versions = client.automations.versions("workflows.extract-invoice")
triggers = client.automations.triggers("workflows.extract-invoice")

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, versions, triggers.
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.

Release files for eigenpal 0.16.6

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.16.6
File Size Uploaded
eigenpal-0.16.6.tar.gz 127.4 kB Details

Built distribution (wheel)

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

Total release size: 514.2 kB

Release files / eigenpal-0.16.6.tar.gz

Download URL eigenpal-0.16.6.tar.gz
Size 127.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e42a6839180fefd6706d10bbf0efd4df5a6973e09660a317d4c332a3c6e28eea
BLAKE2b-256 checksum
How to use checksums
a619feec7b11b87a27316471bedf2c37d1cd2a1326c6d2b02e4710569ac2c99f
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 Sep 9, 2026.

Transparency log

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

Download URL eigenpal-0.16.6-py3-none-any.whl
Size 386.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e04eb77dcc95f065eb273f38452f93d1956edfdc0bb5592586a66a2532d06f1c
BLAKE2b-256 checksum
How to use checksums
934014176d92a2c080170cba4cf8cd9564f20c095740dcc4460546d16b1a2039
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 Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.20.9

2 release files

0.20.8

2 release files

0.20.7

2 release files

0.20.6

2 release files

0.20.5

2 release files

0.20.4

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.9

2 release files

0.16.8

2 release files

0.16.7

2 release files

This release

0.16.6 This release

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.3

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.17

2 release files

0.6.16

2 release files

0.6.15

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.11

2 release files

0.5.10

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.4.17

2 release files

0.4.16

2 release files

0.4.15

2 release files

0.4.14

2 release files

0.4.13

2 release 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