Skip to main content

Pipeline Toolkit

A small functional pipeline toolkit for Python.

pipeline-toolkit provides a simple way to build sequential pipelines from ordinary Python callables.

It also provides small utilities for composing functions, configuring callable steps, applying side effects, and managing pipeline state.

Features

  • Zero dependencies.
  • Sequential functional pipeline execution.
  • Asynchronous execution using a worker thread.
  • Configurable pipeline steps and default values.
  • Positional and keyword arguments for pipeline steps.
  • Optional automatic execution during initialization.
  • Stop, skip, wait, and rerun execution.
  • Context manager support for pipeline execution and cleanup.
  • Synchronous execution of individual pipeline steps.
  • Optional execution delays and configurable daemon worker threads.
  • Optional stop-on-error behavior.
  • Result and error history using a LIFO stack.
  • Convenient access to the most recent result or error.
  • Pipeline modification and standard sequence-style operations.
  • Shallow and deep pipeline copying.
  • Pipeline composition, repetition, comparison, and in-place modification with standard operators.
  • Sequential callable composition with compose() and chain().
  • Configurable callable steps with pipe and step.
  • Side-effect operations with tap() and mut().
  • LIFO Stack container with optional maximum capacity.

Installation

Install from PyPI:

pip install pipeline-toolkit

Or install directly from GitHub:

pip install git+https://github.com/Hoang-Long2012/pipeline-toolkit.git

Quick Start

A pipeline is created from an iterable of steps. Each step is a tuple containing a callable and optional arguments.

from pipeline import Pipeline

def add(value, amount):
	return value + amount

def multiply(value, factor):
	return value * factor

pipeline = Pipeline([
	(add, (5,)),
	(multiply, (2,)),
])

pipeline.run(10).wait()

print(pipeline.result)  # 30

The value flows through each step sequentially:

10
 ↓
add(10, 5)
 ↓
15
 ↓
multiply(15, 2)
 ↓
30

Documentation

See the documentation for the complete guide and API reference.

Requirements

  • Python 3.8 or newer

Changelog

See the changelog.

Contributing

Contributions are welcome.

  • Submit a pull request for improvements or fixes.
  • Open an issue to report a bug or request a feature.

See the contributing guide for more information.

License

This project is licensed under the MIT License.

See the license for details.

Copyright (C) 2026 Hoàng Long

Metadata

Release files for pipeline-toolkit 0.5.7

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

Source distribution (sdist)

Source distribution for pipeline-toolkit 0.5.7
File Size Uploaded
pipeline_toolkit-0.5.7.tar.gz 35.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pipeline-toolkit 0.5.7
File Interpreter ABI Platform
pipeline_toolkit-0.5.7-py3-none-any.whl Python 3 none any Details

Total release size: 54.9 kB

Release files / pipeline_toolkit-0.5.7.tar.gz

Download URL pipeline_toolkit-0.5.7.tar.gz
Size 35.9 kB
Tags Source
SHA-256 checksum
How to use checksums
817691729a640c9a9a3346e9c9e07f7ffe86e3e397683c2fc507793a22dff776
BLAKE2b-256 checksum
How to use checksums
8840585959d65b93fb7d4ce61afd205aaf3d1694606969470b3367e3f5f5287c
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 14, 2026.

Transparency log

Release files / pipeline_toolkit-0.5.7-py3-none-any.whl

Download URL pipeline_toolkit-0.5.7-py3-none-any.whl
Size 19.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0eeaa65ef7f823a4524ca76de01131dc87721b3c5560efe4c7eb821efb2da328
BLAKE2b-256 checksum
How to use checksums
e959059295744896b44e96ba0a96828920a7cb52e3b55a4cf12ebbb3512c6afc
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.8

2 release files

This release

0.5.7 This release

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.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

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