Skip to main content

sdax-hamilton

A typed Hamilton frontend for Python SDAX's dependency execution and resource lifecycle runtime.

Import the real supported Hamilton decorators, then add execution policies and shutdown declarations. The frontend compiles Hamilton's resolved graph into one reusable SDAX plan. Each invocation gets its own values and acquisition records. SDAX owns scheduling, retries, timeouts and reverse dependency shutdown.

Status: experimental release 0.1.0. The API is not frozen. Before 1.0, breaking API changes use a new minor version; patch versions preserve the documented API except for corrections to incorrect behavior. See the implementation status for validation and the compatibility limits before adopting it.

Install

Python 3.11 or later is required. This alpha pins sdax==0.7.2 and apache-hamilton==1.90.0.

python -m pip install sdax-hamilton==0.1.0

Define an application module, for example nodes.py:

from hamilton.function_modifiers import inject, value
from sdax_hamilton import execution


@execution(timeout=5.0, retries=2)
@inject(prefix=value("Hello"))
async def greeting(name: str, prefix: str) -> str:
    return f"{prefix}, {name}"

Prepare once and execute inside your application's event loop:

import nodes
from sdax_hamilton import Driver

plan = Driver(nodes).prepare(["greeting"])


async def greet(name: str) -> str:
    result = await plan.execute(inputs={"name": name})
    return result["greeting"]

Use plan.open(...) when a requested result is an owned resource: its lifetime then includes the caller's async with body. See the API guide for acquisition, cleanup, cancellation and retry contracts.

This is a whole-graph translator, not an adapter for Hamilton's AsyncDriver. The minimal SDAX core API remains unchanged. Declared parameter/result bindings are checked; this does not prove Python function bodies or give result dictionaries per-key static types.

Development

python -m pip install '.[test]'
python -m ruff check --no-cache src tests examples
python -m mypy src/sdax_hamilton tests/typing/authoring.py
python -m pytest -q -p no:cacheprovider

Public tests run from this repository without the workspace, private evidence or ignored scratch/ prototypes. The historical design and comparison documents explain the decisions; the current API guide describes the implemented surface.

MIT licensed; see LICENSE.

Metadata

Release files for sdax-hamilton 0.1.0

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

Source distribution (sdist)

Source distribution for sdax-hamilton 0.1.0
File Size Uploaded
sdax_hamilton-0.1.0.tar.gz 32.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sdax-hamilton 0.1.0
File Interpreter ABI Platform
sdax_hamilton-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.8 kB

Release files / sdax_hamilton-0.1.0.tar.gz

Download URL sdax_hamilton-0.1.0.tar.gz
Size 32.2 kB
Tags Source
SHA-256 checksum
How to use checksums
210a4ec3b89eed3b0e73a52f10bfd36ab737814253b5670673d7f0df560f6e1f
BLAKE2b-256 checksum
How to use checksums
134cda7c031a7e451f84c788a4c238639dec6344af5b03d10d728a6249f29bac
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 17, 2026.

Transparency log

Release files / sdax_hamilton-0.1.0-py3-none-any.whl

Download URL sdax_hamilton-0.1.0-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9f1abbc4d420c597e0e5d1a7ca701b51f5574ed35d71f89b93d4b037d22728e
BLAKE2b-256 checksum
How to use checksums
59d86e49b2bca1ee7366164031aac848e5d58e89e3d8c2960354d6e327130421
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 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

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