Releases: Pipelex/pipelex-starter-python
Releases · Pipelex/pipelex-starter-python
Release list
v0.13.0
[v0.13.0] - 2026-07-07
- Breaking: renamed the starter's placeholder project from
my-project/my_project/My Projecttopiper/Piper. The console command is nowuv run piper ..., the template package ispiper/,pyproject.tomlpoints atpiper.cli:app, and the e2e extract-entities test file no longer carries the project placeholder in its name. - Reworked
/bootstrapfor the single-token placeholder. It now derives distribution, package, and title forms frompiper, applies context-aware replacements for command vs import/path positions, editspyproject.tomlby key, and aborts before writing if any placeholder tokens survive. - Overhauled the README DevX. The quick start now explains
uv runbefore the first command, shows real expected output, groups the demos around copy-pasteable commands, explains durable vs blocking execution, and adds Mermaid diagrams for hosted-run flow and execution modes. - Added demo methods so the starter matches the JS starter.
summarize-pdfsummarizes a document (PDF) into{ title, doc_type, key_points }and demonstrates a file input:piper/file_input.build_document_input()encodes a local file as a base64data:URL wrapped in aDocumentenvelope.generate-imagegenerates an image from a text prompt and is the slow case that overruns the hosted ~30s blocking cap, making the durable-vs-blocking split concrete. Each is a self-contained "copy me" module underpiper/examples/with a matchingmain.mthdsbundle and its own unit + e2e tests. Shipssamples/sample-invoice.pdfto trysummarize-pdfon.
v0.12.0
[v0.12.0] - 2026-07-06
- Breaking: dropped Python 3.10 support.
pipelex-sdk0.4.0 no longer supports 3.10, so the starter now requires Python 3.11+ (requires-python = ">=3.11,<3.15"). Removed thePython :: 3.10classifier and dropped 3.10 from the CI lint/test matrices. - Bumped
pipelex-sdkto 0.4.0 (pulls inmthds0.8.1). Re-lockeduv.lockand refreshed the dev-tooling pins (ruff, mypy, pyright, pytest).
v0.11.0
[v0.11.0] - 2026-07-05
- Fixed: the demo bundle's list fields (
people/orgs/dates) now declareitem_type = "text"so the output is typed aslist[str], matching theExtractedEntitiesmodel. Without it the runtime built the fields asList[Any]. - Read a run's output with
results.main_stuff. Bumped topipelex-sdk0.3.0, which resolves the main output for you on both execution modes:executereturns aPipelexExecuteResultand the durable path aRunResults, and both expose a resolved.main_stuff. The starter's whole output-extraction module (my_project/run_output.py—find_main_contentshape-guessing + theto_run_resultsadapter) is gone; the CLI and the narrower readresults.main_stuffdirectly, and the blockingexecuteresult is adapted ontoRunResultsinline in the runner. A completed run that delivers no main stuff raises the SDK'sMissingMainStuffErrorinstead of yieldingNone. - Breaking: renamed the env var
PIPELEX_API_URLtoPIPELEX_BASE_URLfor consistency with the SDK'sbase_urlnaming. There is no read alias — update your.env/ environment. - Fixed: rewrote the README and
CLAUDE.mdaround the actualmy-projectCLI (theextract-entitiescommand, the durable/blocking execution modes, and theruns status|result|waitlifecycle). They still described the removedhello_worldmodule,start_and_waitusage, and thefind_main_contentnormalizer, so the quick start's first command errored out for a fresh user. - Repository: removed internal-only planning docs (
TODOS.md,wip/) that must not ship in a "Use this template" repo.
v0.10.0
[v0.10.0] - 2026-07-01
- Breaking: run methods through the hosted Pipelex API instead of the local
pipelexruntime. Thepipelexpackage (and its[tool.uv.sources]git pin) is dropped; the starter now depends onpipelex-sdk(PipelexAPIClient) andpython-dotenv. - Rewrite
my_project/hello_world.pyto read the.mthdsbundle from disk and run it viaclient.start_and_wait(pipe_code=..., mthds_contents=[...]), reading the output out ofmain_stuff/pipe_output. - Configuration is now
PIPELEX_API_URL/PIPELEX_API_KEY(see.env.example);.envis loaded viapython-dotenv. - Repoint
make validatetoplxt lint(offline bundle validation, waspipelex validate --all). - Rewrite the test suite to be API-based: offline boot/bundle checks plus API
validate(pipelex_api) and a full run (inference). CI no longer runspipelex init, andmake gha-tests/make codex-testsexclude thepipelex_apimarker. - Prune AWS/doc type-stub dev dependencies that were only needed by the
pipelexruntime. - Add a
/bootstrapskill (.claude/skills/bootstrap/) that turns a fresh clone of this template into a real project. It collects the project name, description, author, repository URL, and license, then renames the package directory and e2e test file, substitutes every placeholder name spelling (dash / underscore / Title Case / CamelCase), applies the chosen license (MIT, proprietary, or another SPDX id) acrossLICENSE,pyproject.toml, and the README, regeneratesuv.lock, and runs the lint/type checks and tests
v0.9.0
[v0.9.0] - 2026-06-06
- Bump
pipelextov0.32.0: SeePipelexchangelog here - Update
tests/integration/test_fundamentals.pyto use the newBundleValidator().acquire_and_validate()API (replaces the removeddry_run_pipes/get_library_managerdry-run path)
v0.8.0
[v0.8.0] - 2026-05-06
- Bump
pipelextov0.26.4: SeePipelexchangelog here - Add
pipelex-toolsdev dependency - Update
tests/integration/conftest.pyto use the newneeds_inferencekwarg onPipelex.make()(replaces deprecateddisable_inference)
v0.7.0
v0.6.7
[v0.6.7] - 2025-12-01
- Bump
pipelextov0.17.3: SeePipelexchangelog here
v0.6.6
[v0.6.6] - 2025-12-01
- Bump
pipelextov0.17.2: SeePipelexchangelog here
v0.6.5
[v0.6.5] - 2025-11-26
- Bump
pipelextov0.17.1: SeePipelexchangelog here