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

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.3
File Size Uploaded
kpipeliner-1.12.3.tar.gz 249.9 kB Details

Built distribution (wheel)

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

Total release size: 509.4 kB

Release files / kpipeliner-1.12.3.tar.gz

Download URL kpipeliner-1.12.3.tar.gz
Size 249.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4ec14e92b4b8de83f8be1ca2edb84813e1f0e65cde1a4560fcce4796416aff9a
BLAKE2b-256 checksum
How to use checksums
fcf65f9a6127db787cc4e8234094e6655545488f4c6003675091e8d9cd4c3f76
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.3-py3-none-any.whl

Download URL kpipeliner-1.12.3-py3-none-any.whl
Size 259.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf0c70d1883981a3e4a7b143b2bc664af408c2ca866f7175773b027956f699e5
BLAKE2b-256 checksum
How to use checksums
5464d022331be373753eb649332a44d1996eb6c3b8519c7934538da42f02c54c
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

This release

1.12.3 This release

2 release files

1.12.2

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