Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Traversal

Concurrent DAG execution for Python, powered by Rust. Free, MIT licensed, in-process, and built for ordinary Python functions and tool calls.

Traversal owns dependencies, readiness, concurrency limits, and structured node outcomes. Your functions own the work. Use an external scheduler to start runs. No service, account, telemetry, or Python runtime dependency is required.

Install

python -m pip install 'traversal==0.1.0a2'

This is an early prerelease: graph execution is implemented; persistent history, caching and resume are still in development. Conventional CPython 3.11–3.14 is CI-tested. Release wheels target Linux x86_64 (glibc 2.28+), macOS Apple Silicon, and Windows x86_64. Source builds require Rust and Maturin.

A graph in a few lines

from traversal import Graph

graph = Graph("report")
source = graph.add("source", lambda: 5)
left = graph.add("left", lambda n: n * 2, source)
right = graph.add("right", lambda n: n + 3, source)
total = graph.add("total", sum, [left, right])

plan = graph.compile(total)
print(plan.describe())
report = plan.run(max_concurrency=2).raise_for_status()
print(report.outputs["total"])  # 18

Left and right are independently eligible after source completes. Total waits for both. Only requested targets and their ancestors run. Nested lists, tuples, and dictionary values can contain Node references. after=[node] adds an ordering dependency without passing a result. after is a reserved API keyword.

Async functions run on the event loop; ordinary functions use a bounded thread pool. Inside an event loop, use await plan.arun(). Rust scheduling does not bypass the GIL for CPU-bound Python. Cancellation stops new admission and drains blocking work; tasks should set their own I/O timeouts.

Inspect report.states, report.outputs, and report.failures. Failures include exception type, message and traceback. Independent branches continue; descendants of a failed node are blocked. Calling raise_for_status() is optional.

Plans freeze topology and binding containers. Arbitrary Python objects remain references; shared mutation requires caller coordination. Reports retain all successful intermediate outputs until released. Rerunning performs work again: there is no exactly-once guarantee for external actions.

Install the agent skill

The version-matched skill ships in the wheel:

python -m traversal skill --output ~/.codex/skills/traversal

Use your agent's skill directory, or export to any new directory. The command refuses to overwrite an existing folder. The canonical skill teaches PyPI setup, graph construction, execution, and failure inspection. Its examples are executed in CI against the installed wheel. A standalone download is also available in the CI run's traversal-skill artifact.

Develop

Install Rust and uv, then:

uv sync --locked --no-install-project
uv run --no-sync maturin develop --release
uv run --no-sync pytest
cargo test --locked -p traversal-core

Rust topology/state and PyO3 bindings are separate crates. Python adapters have no third-party runtime dependency. PyPy, free-threaded CPython, process pools, distributed workers, connectors and calendar scheduling are outside this release.

Owner: Trevor Ewert / KWIP LLC. MIT license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

traversal-0.1.0a2.tar.gz (30.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

traversal-0.1.0a2-cp314-cp314-win_amd64.whl (153.9 kB view details)

Uploaded CPython 3.14Windows x86-64

traversal-0.1.0a2-cp314-cp314-manylinux_2_28_x86_64.whl (298.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

traversal-0.1.0a2-cp314-cp314-macosx_11_0_arm64.whl (259.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

traversal-0.1.0a2-cp313-cp313-win_amd64.whl (152.9 kB view details)

Uploaded CPython 3.13Windows x86-64

traversal-0.1.0a2-cp313-cp313-manylinux_2_28_x86_64.whl (298.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

traversal-0.1.0a2-cp313-cp313-macosx_11_0_arm64.whl (257.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

traversal-0.1.0a2-cp312-cp312-win_amd64.whl (153.5 kB view details)

Uploaded CPython 3.12Windows x86-64

traversal-0.1.0a2-cp312-cp312-manylinux_2_28_x86_64.whl (297.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

traversal-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl (258.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

traversal-0.1.0a2-cp311-cp311-win_amd64.whl (156.0 kB view details)

Uploaded CPython 3.11Windows x86-64

traversal-0.1.0a2-cp311-cp311-manylinux_2_28_x86_64.whl (301.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

traversal-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl (263.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file traversal-0.1.0a2.tar.gz.

File metadata

  • Download URL: traversal-0.1.0a2.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for traversal-0.1.0a2.tar.gz
Algorithm Hash digest
SHA256 3dbe5e956192986d310f6e8a7d51b4fd49294874ab9cba304c1827b1571a4186
MD5 a102521dd9f1416380bbc6f4f1935d7f
BLAKE2b-256 84666e170364e13f3697a9fd4e80ccccf637b5b4aade619f3b3323c988a92825

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2.tar.gz:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: traversal-0.1.0a2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 153.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for traversal-0.1.0a2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e771cfd5d7ae20a316c55ac3950defcd0e666f27bfbfef4f44851ec67fef095a
MD5 007efac9f311f8bb6f49ce7656aa77c4
BLAKE2b-256 f85a5c9f2b74479ca0fce35700d7ef0fce5daf4f70e49dc9f01034732a2466fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a0ee800784b50995265c2af270bd852724615917308349551238a30c349f1419
MD5 538987034478e168d9c48b4d0488fc0c
BLAKE2b-256 d52c922864ae3277e4b23dffd038946621970a570a152a78646b38e2e94b48bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e2ccccc7b8c060db7ab4872cce2f487f2641057857019c0fcc0d17ec5bf1e5e
MD5 62c84f7993ac0c8ab6600742169e5bbd
BLAKE2b-256 b6b7e7de3ff8ac9a371c60790947ab20dd62cf5f677f3db664f2f57614ef463e

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: traversal-0.1.0a2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 152.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for traversal-0.1.0a2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e831fbd4612e0eb88de1fa25bd5ee675c003cce10947650ec2cf9e52dc8f86f8
MD5 2d63ff0260cb7968e6a40409b0935871
BLAKE2b-256 2f5efa5e0f3ac34e03c5987965a7fab79de7b728e8452f99dedadb66c2de55cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf560a637a487a739803b75be68d9b6c80e43afec51ffedf2e09a953478b3a84
MD5 5b77e09d3a8219815d122007db377fca
BLAKE2b-256 9f8cd3c8c33456175bd3ad1990d3fca5b73cd8f3eb6e67b6c8cd613a57ac9c99

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f04cc3c21265a113f8d0013c622a708a48df198dd0b4ffa71728af477ebb839
MD5 053f60f7747d87ab29fa48477970624c
BLAKE2b-256 7355007e98a984cb6adb594943de9463a9f1317d960e6dad1a5563450caf58f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: traversal-0.1.0a2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 153.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for traversal-0.1.0a2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dd6b2ddb57c7df1cda345eb38698a068feb598365ce1fc8820a640936dcf70e7
MD5 56b3a093b39bdbd5911cb6de59a68bd2
BLAKE2b-256 f64d33125629763932851ecfde772191fa194588c53e6a4cb463c458fd60a0f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 145e4a104f4fabd4a4a456634cedcf5bef3793f7d2b3260df260f785c2f65f0c
MD5 951164bcdb74f3ba7b18d44ae9b58bdd
BLAKE2b-256 3afc446b6fb30e376560144c478d1380e273b820eb6cb9eb54f5281ad999514a

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3d0f8e4e618ca5f303be85d0b59d4c7842295030d24f799cecccb125167ac52
MD5 11814acc0dd3a6bb421efcd4d67f7059
BLAKE2b-256 2abcc0ff505d2e5a4e03110d600069007dffed0e01c58ce97f040e65726dc18a

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: traversal-0.1.0a2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 156.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for traversal-0.1.0a2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d3a552c2bec36e9d7e887bfb807e38f3d6b8e81a6d3655786aa32788102f41b5
MD5 7f358605e2ee351aa8ebd43136d22e96
BLAKE2b-256 8be900fb69eb431f91a57be3bfde4273291bf367371b7be3b5ac0cfba997ab30

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26c127226e26e217792b376ed08e767fa8f11f18cded2ce3927eb46fcf09e186
MD5 01e85d48ede9c1425071b4c673713dc0
BLAKE2b-256 d00e4248bbca38371335e5abf3eae882c65314dd650b8ac1ee75714ac9b35945

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file traversal-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traversal-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a636d37cf2446c0f53da8391c127f7d14334770a3c4cf58d05317879702536f
MD5 ffda686ad8f58578506a264df4a376c1
BLAKE2b-256 ef1a834b89b17b39da857b3417d79b67ebf59aba563e576179668290138a8eec

See more details on using hashes here.

Provenance

The following attestation bundles were made for traversal-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on kwip-info/traversal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.0

16 files

0.1.0

13 files

This release

0.1.0a2 This release

13 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