From 7df43bb451089b2928916928d001c0ae0b396465 Mon Sep 17 00:00:00 2001 From: Louis Choquel <8851983+lchoquel@users.noreply.github.com> Date: Mon, 15 Jun 2026 02:19:18 +0200 Subject: [PATCH 1/3] chore: track pipelex keyword-only refactor + migrate to PipelexMTHDSProtocol Pin pipelex to the keyword-only-arguments refactor branch (git rev) and migrate the sample app off the removed PipelexRunner class. - pyproject/uv.lock: pin pipelex to git rev 529b9082 (keyword-only branch) - hello_world.py: PipelexRunner -> PipelexMTHDSProtocol, execute_pipeline() -> execute() make agent-check and agent-test pass; uv lock --locked is consistent. Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 5 +++++ my_project/hello_world.py | 6 +++--- pyproject.toml | 4 ++++ uv.lock | 23 ++++++++++------------- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebb5da6..e96bd51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [Unreleased] + +- Track the `pipelex` keyword-only-arguments refactor branch via a temporary `[tool.uv.sources]` git pin (non-subject function parameters across the `pipelex/` public surface are now keyword-only). +- Migrate `my_project/hello_world.py` to the renamed runtime API: `PipelexRunner` → `PipelexMTHDSProtocol`, `execute_pipeline()` → `execute()` (`PipelexRunner` was removed upstream when the runner became the MTHDS Protocol implementation). + ## [v0.9.0] - 2026-06-06 - Bump `pipelex` to `v0.32.0`: See `Pipelex` changelog [here](https://docs.pipelex.com/latest/changelog/) diff --git a/my_project/hello_world.py b/my_project/hello_world.py index 3737deb..c9f6e63 100644 --- a/my_project/hello_world.py +++ b/my_project/hello_world.py @@ -2,7 +2,7 @@ from pipelex import pretty_print from pipelex.pipelex import Pipelex -from pipelex.pipeline.runner import PipelexRunner +from pipelex.pipeline.runner import PipelexMTHDSProtocol async def hello_world(): @@ -10,8 +10,8 @@ async def hello_world(): This function demonstrates the use of a super simple Pipelex pipeline to generate text. """ # Run the pipe - runner = PipelexRunner() - response = await runner.execute_pipeline( + runner = PipelexMTHDSProtocol() + response = await runner.execute( pipe_code="hello_world", ) pipe_output = response.pipe_output diff --git a/pyproject.toml b/pyproject.toml index 4e17a9c..efa16fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,6 +50,10 @@ Documentation = "https://docs.pipelex.com/" [tool.uv] required-version = ">=0.7.2" +[tool.uv.sources] +# Temporary: track the keyword-only-arguments refactor branch of pipelex until it is released to PyPI. +pipelex = { git = "https://github.com/Pipelex/pipelex.git", rev = "529b908255e0eb513038a2d92a58730185a22b74" } + [tool.mypy] packages = ["my_project"] check_untyped_defs = true diff --git a/uv.lock b/uv.lock index cbafecf..1a18a96 100644 --- a/uv.lock +++ b/uv.lock @@ -1284,14 +1284,15 @@ wheels = [ [[package]] name = "kajson" -version = "0.6.0" +version = "0.7.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pydantic" }, + { name = "tzdata" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8d/54/83c3b00f270c39037b699398e42e16837ef1109c8af47ac668fe3c14a817/kajson-0.6.0.tar.gz", hash = "sha256:7544a544e6f135f129015c9475ff2cc0a7fc8e76d6eea1d8d37f2e438ab4d936", size = 22567, upload-time = "2026-05-30T19:06:08.084Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d2/a4/da91af6dac42516e45a9897ba901d8ec2ee2b13b135caf6ce120867aac2b/kajson-0.7.0.tar.gz", hash = "sha256:1c8f80d157f980c9adb9fda0e77c1cc0078f50547d84ef548a5e19b5a84d8d37", size = 25071, upload-time = "2026-06-10T10:00:56.097Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/fb/e325ef3bd84f2d40286a09fe78447a0a20e3a6ec12ce28e0d4ecc8bce620/kajson-0.6.0-py3-none-any.whl", hash = "sha256:77ddb0e12b274479ced061d84da091a250fdeb3f4dd7444ae0c6ca929ba73431", size = 29024, upload-time = "2026-05-30T19:06:06.645Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1c/8251c0dadd1843e020edf4ef162aaa7dd0e98cbd2e1fe33d843807cd7ce9/kajson-0.7.0-py3-none-any.whl", hash = "sha256:d9903327bc7f182ec481ffafd074765347365600592e5f9f67866d5b0ae4f939", size = 31524, upload-time = "2026-06-10T10:00:54.952Z" }, ] [[package]] @@ -1576,7 +1577,7 @@ wheels = [ [[package]] name = "mthds" -version = "0.3.0" +version = "0.4.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "backports-strenum", marker = "python_full_version < '3.11'" }, @@ -1587,9 +1588,9 @@ dependencies = [ { name = "tomlkit" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5b/3c/eea615b49c011657246ff61371ca4a95ab3baa94d4b79541bd4b0f816ae5/mthds-0.3.0.tar.gz", hash = "sha256:de479f977b2ec3614b23bdb53ed3e28e2332a2f1653ee92e118c530fe3d5d820", size = 112693, upload-time = "2026-04-29T12:50:11.426Z" } +sdist = { url = "https://files.pythonhosted.org/packages/46/fc/7822e39bc733f5f62577ea1d064c7283d84b97493e5372ceb430ce0c1027/mthds-0.4.1.tar.gz", hash = "sha256:1aa43860fef97aeab561473e45552ea619dee7c624bc4acad806dd960bb2fe5f", size = 132336, upload-time = "2026-06-11T21:46:28.332Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/86/1184f31583d3089baea9316853b329720cb786d8e01f38f303a17f1e3f4c/mthds-0.3.0-py3-none-any.whl", hash = "sha256:3f9822c23beb82607ec4bafcff99717fb6531eed8d19b86086dc9deb7825b06b", size = 49356, upload-time = "2026-04-29T12:50:09.734Z" }, + { url = "https://files.pythonhosted.org/packages/5a/92/8d6521c63e71fc4b782d7a875b27ad5b61cf1af718eb3321a3522aa33391/mthds-0.4.1-py3-none-any.whl", hash = "sha256:fdbf4ec25f4139b620cf5771fb8dc9fa27c2c249c161ca96afac389f2cfc6d4f", size = 61176, upload-time = "2026-06-11T21:46:26.978Z" }, ] [[package]] @@ -1760,7 +1761,7 @@ dev = [ requires-dist = [ { name = "boto3-stubs", marker = "extra == 'dev'", specifier = ">=1.35.24" }, { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.11.2" }, - { name = "pipelex", extras = ["mistralai", "anthropic", "google", "google-genai", "bedrock", "fal"], specifier = ">=0.32.0" }, + { name = "pipelex", extras = ["mistralai", "anthropic", "google", "google-genai", "bedrock", "fal"], git = "https://github.com/Pipelex/pipelex.git?rev=529b908255e0eb513038a2d92a58730185a22b74" }, { name = "pipelex-tools", marker = "extra == 'dev'", specifier = ">=0.3.2" }, { name = "pyright", marker = "extra == 'dev'", specifier = ">=1.1.410" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.1" }, @@ -2243,8 +2244,8 @@ wheels = [ [[package]] name = "pipelex" -version = "0.32.0" -source = { registry = "https://pypi.org/simple" } +version = "0.33.0" +source = { git = "https://github.com/Pipelex/pipelex.git?rev=529b908255e0eb513038a2d92a58730185a22b74#529b908255e0eb513038a2d92a58730185a22b74" } dependencies = [ { name = "aiofiles" }, { name = "backports-strenum", marker = "python_full_version < '3.11'" }, @@ -2285,10 +2286,6 @@ dependencies = [ { name = "typing-extensions" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7d/1d/dd5a2a3a6d32b1bfb21704d70725f63c2777e54884545ef4238baf804fd4/pipelex-0.32.0.tar.gz", hash = "sha256:b2345ea2bedf1d37271bb5f2b70a4ed2e05f00288e5f05428bf5eb6d0223dacf", size = 973434, upload-time = "2026-06-09T11:04:45.623Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c8/4a/099b5d494754f3b778ff1bd0f322dd638b6dd2b734bb1ab7a82a36773b42/pipelex-0.32.0-py3-none-any.whl", hash = "sha256:0accfd957e25922209a1a79d78c53891bef16515ad527d73e86ed838a6afb205", size = 1394760, upload-time = "2026-06-09T11:04:43.306Z" }, -] [package.optional-dependencies] anthropic = [ From 18f3810715a52c111d9e7b8b00dfa68ef35752ea Mon Sep 17 00:00:00 2001 From: Louis Choquel <8851983+lchoquel@users.noreply.github.com> Date: Mon, 15 Jun 2026 11:11:45 +0200 Subject: [PATCH 2/3] chore: bump pinned pipelex rev to 755b8211 (keyword-only arg reorderings) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tracks the latest pipelex keyword-only refactor commit, which reorders several function signatures to keyword-only. No call-site changes needed here — every call site already passes the affected args by keyword. agent-check + agent-test green. Co-Authored-By: Claude Opus 4.8 --- pyproject.toml | 2 +- uv.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index efa16fd..374fc93 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,7 +52,7 @@ required-version = ">=0.7.2" [tool.uv.sources] # Temporary: track the keyword-only-arguments refactor branch of pipelex until it is released to PyPI. -pipelex = { git = "https://github.com/Pipelex/pipelex.git", rev = "529b908255e0eb513038a2d92a58730185a22b74" } +pipelex = { git = "https://github.com/Pipelex/pipelex.git", rev = "755b82117fd4c26ba090455cfd571099cf05708b" } [tool.mypy] packages = ["my_project"] diff --git a/uv.lock b/uv.lock index 1a18a96..ace783b 100644 --- a/uv.lock +++ b/uv.lock @@ -1761,7 +1761,7 @@ dev = [ requires-dist = [ { name = "boto3-stubs", marker = "extra == 'dev'", specifier = ">=1.35.24" }, { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.11.2" }, - { name = "pipelex", extras = ["mistralai", "anthropic", "google", "google-genai", "bedrock", "fal"], git = "https://github.com/Pipelex/pipelex.git?rev=529b908255e0eb513038a2d92a58730185a22b74" }, + { name = "pipelex", extras = ["mistralai", "anthropic", "google", "google-genai", "bedrock", "fal"], git = "https://github.com/Pipelex/pipelex.git?rev=755b82117fd4c26ba090455cfd571099cf05708b" }, { name = "pipelex-tools", marker = "extra == 'dev'", specifier = ">=0.3.2" }, { name = "pyright", marker = "extra == 'dev'", specifier = ">=1.1.410" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.1" }, @@ -2245,7 +2245,7 @@ wheels = [ [[package]] name = "pipelex" version = "0.33.0" -source = { git = "https://github.com/Pipelex/pipelex.git?rev=529b908255e0eb513038a2d92a58730185a22b74#529b908255e0eb513038a2d92a58730185a22b74" } +source = { git = "https://github.com/Pipelex/pipelex.git?rev=755b82117fd4c26ba090455cfd571099cf05708b#755b82117fd4c26ba090455cfd571099cf05708b" } dependencies = [ { name = "aiofiles" }, { name = "backports-strenum", marker = "python_full_version < '3.11'" }, From fbf69befbf58cf84cf346e079fae5a32eb7e8a55 Mon Sep 17 00:00:00 2001 From: Louis Choquel <8851983+lchoquel@users.noreply.github.com> Date: Mon, 15 Jun 2026 13:04:17 +0200 Subject: [PATCH 3/3] chore: re-pin pipelex to 0e32c8c0 (positional-subject consolidation) Bumps the pinned pipelex git rev 755b8211 -> 0e32c8c0. That commit makes all remaining non-subject params keyword-only (no reordering); all call sites here already pass by keyword, so this is a no-op bump. agent-check + agent-test green. Co-Authored-By: Claude Opus 4.8 --- pyproject.toml | 2 +- uv.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 374fc93..1d96d4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,7 +52,7 @@ required-version = ">=0.7.2" [tool.uv.sources] # Temporary: track the keyword-only-arguments refactor branch of pipelex until it is released to PyPI. -pipelex = { git = "https://github.com/Pipelex/pipelex.git", rev = "755b82117fd4c26ba090455cfd571099cf05708b" } +pipelex = { git = "https://github.com/Pipelex/pipelex.git", rev = "0e32c8c02600e17bbe146331f9b701ccc03a1ca1" } [tool.mypy] packages = ["my_project"] diff --git a/uv.lock b/uv.lock index ace783b..ee477b0 100644 --- a/uv.lock +++ b/uv.lock @@ -1761,7 +1761,7 @@ dev = [ requires-dist = [ { name = "boto3-stubs", marker = "extra == 'dev'", specifier = ">=1.35.24" }, { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.11.2" }, - { name = "pipelex", extras = ["mistralai", "anthropic", "google", "google-genai", "bedrock", "fal"], git = "https://github.com/Pipelex/pipelex.git?rev=755b82117fd4c26ba090455cfd571099cf05708b" }, + { name = "pipelex", extras = ["mistralai", "anthropic", "google", "google-genai", "bedrock", "fal"], git = "https://github.com/Pipelex/pipelex.git?rev=0e32c8c02600e17bbe146331f9b701ccc03a1ca1" }, { name = "pipelex-tools", marker = "extra == 'dev'", specifier = ">=0.3.2" }, { name = "pyright", marker = "extra == 'dev'", specifier = ">=1.1.410" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.1" }, @@ -2245,7 +2245,7 @@ wheels = [ [[package]] name = "pipelex" version = "0.33.0" -source = { git = "https://github.com/Pipelex/pipelex.git?rev=755b82117fd4c26ba090455cfd571099cf05708b#755b82117fd4c26ba090455cfd571099cf05708b" } +source = { git = "https://github.com/Pipelex/pipelex.git?rev=0e32c8c02600e17bbe146331f9b701ccc03a1ca1#0e32c8c02600e17bbe146331f9b701ccc03a1ca1" } dependencies = [ { name = "aiofiles" }, { name = "backports-strenum", marker = "python_full_version < '3.11'" },