Skip to main content

kpipeliner

A node-based pipeline manager. A pipeline is a graph of nodes; each node is a standalone Python program (its own subprocess, optionally its own venv/conda/pixi environment) with typed inputs and outputs declared in YAML. Build and run pipelines from the CLI (kpl), a visual web GUI, or hand them over to an LLM through MCP.

kpipeliner GUI

Highlights

  • Graph = YAML. Connections are just strings (nodes.<name>.<output>) — no hidden edge list, easy to read, easy to script.
  • Subprocess isolation. Every node runs on its own, with its own Python environment if it needs one; a crash in one node never takes down another.
  • Caching by default. Node outputs are cached per run-UUID; re-running a pipeline only recomputes what actually changed.
  • CLI + GUI + MCP. Script it, click through it in the browser, or connect an MCP client and let an LLM design/inspect/run it for you.
  • Groups & reusable components. Bundle nodes in the GUI and export them as drag-and-drop components for other pipelines.

Install

kpipeliner is a normal Python package — installing it is the whole installation (dependencies, the prebuilt web GUI and the kpl command; no Node.js, no installer script). With uv:

uv tool install kpipeliner          # `kpl` ends up on your PATH
kpl --help

or into an environment of your own: uv pip install kpipeliner (or pip install kpipeliner).

Optional extras — nothing imports them unless you use the feature, so leaving them out is fine:

uv tool install "kpipeliner[mcp]"    # `kpl mcp` / `kpl gui --mcp` (LLM client access)
uv tool install "kpipeliner[kwui]"   # `kpl run --kwui` (a web UI per node)
uv tool install "kpipeliner[all]"    # both

Configuration lives in a config.yaml that ships with the package; the first run copies it to ~/.config/kpipeliner/config.yaml (or $KPL_HOME/config.yaml) so your edits survive upgrades. kpl config prints its location.

Developing kpipeliner itself: clone the repository and run uv pip install -e . (or uv sync --all-extras) — an editable install; the checkout's own config.yaml is used. To build the package: uv build (rebuild the GUI first with npm run build in kpipeline_gui/frontend if the frontend changed — the built dist/ is what ships).

Quick start

mkdir my_pipeline && cd my_pipeline
kpl init                 # creates graph_config.yaml, data/, cache/
kpl list                 # see available node types
kpl add <node_type>      # add a node instance
kpl tree                 # inspect the graph
kpl run                  # run it (or: kpl gui to do all of this visually)

Commands

Command Description
kpl init Initialize a pipeline in the current directory
kpl gui Launch the web GUI (port 8601+)
kpl gui --mcp GUI + an MCP endpoint at /mcp, same port
kpl mcp Headless MCP server only — no GUI/REST API
kpl list List available node types
kpl add <type> [name] Add a node instance to the graph
kpl run [node] Run the declared outputs (or one node) + dependencies
kpl run_debug [node] Same, with full log output
kpl run --kwui Run behind a per-node web UI (kwebui)
kpl tree Print the graph with dependencies and I/O
kpl status Show cached/frozen state per node
kpl clean [node] Clear cache (all nodes, or one)
kpl kwui init Create workflow.py for kwui mode in this pipeline
kpl base_node create Scaffold a new node type in the current directory
kpl base_node install [--node_name N] Install the current directory as a node type
kpl base_node uninstall <name> Remove an installed node type
kpl node_env install [--node_type T] Install a node's Python environment
kpl uninstall Remove kpl from your PATH

Run any command with --help for its full option list.

Documentation

  • User Guide — the full walkthrough: CLI and GUI workflows, groups, custom nodes, MCP, kwui mode, and the graph_config.yaml/node_config.yaml/config.yaml reference.
  • kpipeliner.md — a self-contained agent guide for building pipelines/nodes (also installed as a Claude Code skill).
  • Readme — version history / changelog.

Metadata

Release files for kpipeliner 1.12.1

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

Source distribution (sdist)

Source distribution for kpipeliner 1.12.1
File Size Uploaded
kpipeliner-1.12.1.tar.gz 245.1 kB Details

Built distribution (wheel)

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

Total release size: 499.7 kB

Release files / kpipeliner-1.12.1.tar.gz

Download URL kpipeliner-1.12.1.tar.gz
Size 245.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ef153f1910b7360f04de08315d7eee3f0367228c170511c65f6a011d92b5055c
BLAKE2b-256 checksum
How to use checksums
671d4f1f0e573feafb6428bb28d87647a1ae6f12eaa176a29f6eb5ecaacc0276
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / kpipeliner-1.12.1-py3-none-any.whl

Download URL kpipeliner-1.12.1-py3-none-any.whl
Size 254.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9505d722fb7dbbceffd0dbe47ec1946907ad34de7035c7c7c2723e511f77c715
BLAKE2b-256 checksum
How to use checksums
ad2d6683dbe27d91c62a83ab34729e85829debf0025af0c6dfe5baa3fa1e7066
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

1.12.3

2 release files

1.12.2

2 release files

This release

1.12.1 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