Skip to main content

Rivlet

English | 简体中文

Rivlet is an explicit, composable DAG declaration and execution library with a Python API and a Rust execution core.

It provides steps, subgraphs, conditional dependencies, thread-based and async execution, result access, execution state, and graph rendering. Logging, terminal integration, and request-level control belong to the host application and are connected through explicit interfaces.

When to use it

  • Compose build or automation tasks with explicit dependencies.
  • Run independent data-processing or validation tasks concurrently, then join them.
  • Reuse subgraphs inside a larger workflow while keeping execution observable.

This is an in-process task graph library, not a distributed workflow service. Your application owns the actions and integration; the library handles dependency ordering and execution state.

Architecture

On main, Rust implements declaration compilation, execution-graph validation, and the scheduling state machine. Python retains graph declarations, arbitrary callables, result objects, and host integration. Complete Rust-native subgraphs can join the same execution graph and concurrency budget.

See Rust architecture for implementation boundaries.

Local development

Install the published package with pip install rivlet. The Python import name is also rivlet; there is no rivetoo_graph compatibility package. See release policy for wheel coverage and publishing.

You need Python 3.13 or later, a Rust toolchain, and maturin. With a virtual environment activated, install the native extension into that environment:

maturin develop

The native extension is required. There is no pure-Python execution fallback.

Quick example

from rivlet import GraphExecution, Step, ThreadGraphRunOptions

prepare = Step(lambda: print("prepare"), label="prepare")
validate = Step(lambda: print("validate"), label="validate")
test = Step(lambda: print("test"), label="test")
finish = Step(lambda: print("finish"), label="finish")

checks = (validate | test).graph(label="checks")
graph = (prepare >> checks >> finish).graph(label="example")
GraphExecution(graph=graph).run(ThreadGraphRunOptions(workers=2))

After prepare, the checks subgraph can run validate and test concurrently. finish waits for both to succeed; their print order is not guaranteed.

>> declares ordering; | composes independent branches. Run options determine actual concurrency. An ordinary action failure blocks dependent work while unrelated branches continue; the run ultimately reports the failures.

See the documentation for the model, composition API, and execution rules.

License

This project is licensed under the MIT License.

Metadata

Release files for rivlet 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 rivlet 0.1.0
File Size Uploaded Provenance Actions
rivlet-0.1.0.tar.gz 118.1 kB With provenance Details for rivlet-0.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for rivlet 0.1.0
File Actions
rivlet-0.1.0-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details for rivlet-0.1.0-cp315-cp315-manylinux_2_28_x86_64.whl
rivlet-0.1.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for rivlet-0.1.0-cp315-cp315-macosx_11_0_arm64.whl
rivlet-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for rivlet-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
rivlet-0.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for rivlet-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
rivlet-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for rivlet-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
rivlet-0.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for rivlet-0.1.0-cp313-cp313-macosx_11_0_arm64.whl

Total release size: 4.1 MB

Release files / rivlet-0.1.0.tar.gz

Download URL rivlet-0.1.0.tar.gz
Size 118.1 kB
Tags Source
SHA-256 checksum
How to use checksums
dde62c92bb90bb7fc8cc8669a62211275b76df7600838d5e724288d7e71faf61
BLAKE2b-256 checksum
How to use checksums
fb011af136836f958696f80be46aefaeb0ef357c1fe41d772975ba5a5b5bf490
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Release files / rivlet-0.1.0-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL rivlet-0.1.0-cp315-cp315-manylinux_2_28_x86_64.whl
Size 691.5 kB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eb7460b1dfd225d8e92863ff52515d3fe12bb7062dd253ef8f40098a7d5b37d0
BLAKE2b-256 checksum
How to use checksums
8c4f729d0e620bb820fa3278aaa47b0f5ac2acb1caa4f76a989ab3d7ce19993d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Release files / rivlet-0.1.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL rivlet-0.1.0-cp315-cp315-macosx_11_0_arm64.whl
Size 622.7 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b82a35281383fe57097738f22d9757c6c8346e6e1421c3568eb3efaa57c65fc6
BLAKE2b-256 checksum
How to use checksums
ed464bde43fbb88e0db01b00ff3402dabaf5ac0cecc5e60a77db78b033cee6b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Release files / rivlet-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL rivlet-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 690.8 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
480f666c12fea8791fcd281e77eb666a629086e91925c6a88610cd3702f7cdf8
BLAKE2b-256 checksum
How to use checksums
c13391fb60d9f63a9b1953b7bed095d8186a62e35b2d397166d7eb29c4c7667d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Release files / rivlet-0.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL rivlet-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 621.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fb3c3746cee6e5c45e4d166b13a289691e74f003ac4b9abf93e1889f4aeed0e7
BLAKE2b-256 checksum
How to use checksums
a22df35a169f03fa4e3ae5f41b3de74d3ad4137a123e4ba206300494fff35a70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Release files / rivlet-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL rivlet-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 687.9 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
50002c89b78faa7c6cfcc90ddba932ae37e05217ad9724902923fd4ceb28272e
BLAKE2b-256 checksum
How to use checksums
c1ce54476fc0613f8b91aa925648d1668292b283f7f02af1933a18089d8decac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Release files / rivlet-0.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL rivlet-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 619.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
727922f2a763653e4a95d8178378c154a1c3a5272a47800741b3cdaac1fc371f
BLAKE2b-256 checksum
How to use checksums
5716687d5224a9410883b4ef8d61dd4fc88d264faa56d97e0374d1b07a7007e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Security for rivlet 0.1.0

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 7 files in this release have been uploaded with provenance metadata.

Select from 7 files

Attestation for rivlet-0.1.0.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 27, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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