Skip to main content

Folder-based agentic AI pipeline framework

Project description

pipelinex

Folder-based agentic AI pipeline framework. No programming required to use.

pip install folpipe
folpipe run ./my-pipeline --watch

The idea

A pipeline is a folder. Instructions live in plain-English markdown files. Tools are drop-in folders. The model is swappable with one line.

my-pipeline/
├── pipeline.yaml       ← steps, model, routing
├── SKILL.md            ← global instructions (plain English)
├── .env                ← API keys
├── input/              ← drop files here
├── output/             ← results land here
├── tools/              ← drop-in custom tools
├── step-01-ingest/
│   └── SKILL.md        ← what this step does
└── step-02-process/
    ├── SKILL.md
    └── sub-01-chunk/   ← sub-steps, recursively
        └── SKILL.md

Zip the folder, share it, version it in git. No server, no database, no cloud account.


Quick start

1. Install

pip install pipelinex

2. Create a pipeline

pipelinex new my-pipeline
cd my-pipeline

3. Configure the model — edit .env:

DEEPSEEK_API_KEY=sk-...

4. Write your step — edit step-01-start/SKILL.md:

# Summarise input

Read the file from input/ and write a 3-paragraph summary to output/summary.md.

## Task

Use read_file to read the input file.
Use write_file to write output/summary.md.
Leave a handoff note when done.

5. Run it

cp myfile.txt input/
pipelinex run . --watch

What it can do

Linear pipelines — steps run in order, each hands off to the next via shared state.

Agent branching — the model decides which step comes next from a declared whitelist:

- id: step-03-validate
  can_goto: [step-04-output, step-05-partial-output]

Parallel dispatch — the model fires multiple dispatch_task calls in one response; the runner detects the batch and executes them concurrently:

## Task
Process all documents at once — send them all for chunking
in the same breath rather than one at a time.

Sub-steps — steps contain named sub-step folders with their own SKILL.md and tools:

dispatch_task(task="chunk intro-to-ml.txt", substep="sub-01-chunk", context={...})

Human-in-the-loop — steps can pause for console input, file review, or a custom tool (Slack, email, webhook):

- id: step-03-review
  human_input:
    mode: console
    prompt: "Approve this output? (yes/no):"

Model-driven context — each step's ## Context section tells the model what state to pay attention to and what to ignore. Skip signals are respected; the model never sees irrelevant data.

Any model — DeepSeek, Anthropic, OpenAI, Ollama, Groq, or any OpenAI-compatible endpoint. Change one line in pipeline.yaml. Optional per-step overrides for cost optimisation.


Custom tools

Drop a folder into tools/:

tools/
└── send_slack/
    ├── tool.json    ← MCP-compatible schema + deps declaration
    └── run.py       ← stdin JSON in, stdout JSON out
{
  "name": "send_slack",
  "description": "Post a message to a Slack channel. Use for approvals and failures that need human eyes.",
  "inputSchema": { ... },
  "deps": ["slack-sdk"]
}

Dependencies declared in deps are installed automatically before the first run. No manual pip install.

Any language works — run.py, run.sh, or run.js.


Example pipelines

doc-pipeline

Ingests documents → chunks → embeds → indexed output.

pipelinex run ./doc-pipeline --watch

Demonstrates: parallel dispatch, sub-steps, agent branching, partial-failure routing.

cv-pipeline

Job URL → developer profile → tailored CV + styled PDF.

pipelinex run ./cv-pipeline --input "https://example.com/jobs/engineer" --watch

Demonstrates: custom tools (fetch_page, render_pdf), linear pipeline, HTML→PDF via Edge headless.


CLI

pipelinex run ./my-pipeline               # run
pipelinex run ./my-pipeline --watch       # run with live output
pipelinex run ./my-pipeline --from step-03  # resume after failure
pipelinex run ./my-pipeline --dry-run     # validate config without running
pipelinex new my-pipeline                 # scaffold new pipeline
pipelinex new step step-05-review --in ./my-pipeline
pipelinex new tool send_email --in ./my-pipeline/tools
pipelinex validate ./my-pipeline          # check config
pipelinex tools list --pipeline ./my-pipeline
pipelinex tools install ./my-pipeline     # pre-install tool deps
pipelinex log ./my-pipeline               # show run log
pipelinex log ./my-pipeline --errors      # show last error report

Documentation


Requirements

  • Python 3.10+
  • A model with tool calling support (DeepSeek, Claude, GPT-4, Llama 3.1+)
  • For PDF rendering in cv-pipeline: Edge or Chrome installed

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

folpipe-0.1.0.tar.gz (63.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

folpipe-0.1.0-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file folpipe-0.1.0.tar.gz.

File metadata

  • Download URL: folpipe-0.1.0.tar.gz
  • Upload date:
  • Size: 63.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for folpipe-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4b3eaebb5e25ddeb644f961738835da19869b48141275988e1b00dacba152c93
MD5 1017ab497e9165ea34328ee20a776298
BLAKE2b-256 90b5abeb895198f3822c6ef599f4fa1b9e269a8fa52b31aec5d94f7e5e104b24

See more details on using hashes here.

File details

Details for the file folpipe-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: folpipe-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for folpipe-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e2b2c1f70bd9af800d5ef39d831eb016368c4dbc443e1a54c14e8e49deeafbf
MD5 fabf81d91f69e95bda744668f8ac8b48
BLAKE2b-256 ee5a6c963e8baee0777cd9f4229c771f3d088974319b0a355aa77384dd96130f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page