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.

License

Apache License 2.0 — see LICENSE.

Metadata

Release files for kpipeliner 1.12.2

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.2
File Size Uploaded
kpipeliner-1.12.2.tar.gz 249.0 kB Details

Built distribution (wheel)

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

Total release size: 507.9 kB

Release files / kpipeliner-1.12.2.tar.gz

Download URL kpipeliner-1.12.2.tar.gz
Size 249.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4063d4e3b1c584a58833d81df2a62379d6294a239127fcc4615fda54e74677e7
BLAKE2b-256 checksum
How to use checksums
0784d61fb63955cb2f85da2501576e1ba1ae23587cf33297450c64fc81cb02ee
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.2-py3-none-any.whl

Download URL kpipeliner-1.12.2-py3-none-any.whl
Size 258.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e557b228bb36b4a22e0b7cb79cc588e78ecc4ee7e5b6c0f1bfcc25b2bf04a12
BLAKE2b-256 checksum
How to use checksums
c8f4e66ebe1e143b70e0864303341a60fb0a0a6c573d8a174dbc327c8602e3a0
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

This release

1.12.2 This release

2 release files

1.12.1

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