Release v0.11.0: read output via results.main_stuff - #58
Merged
Merged
Conversation
…istency chore: update pipelex-sdk to version 0.2.0 and adjust related documentation
- Added `extract_entities.py` example for extracting people, organizations, and dates from text. - Created `main.mthds` for the entity extraction method. - Implemented `find_main_content` in `run_output.py` to normalize API output. - Developed `runner.py` for executing pipelines in blocking and durable modes. - Updated `pyproject.toml` to include new dependencies and CLI entry point. - Removed obsolete `hello_world` files and tests. - Added unit and integration tests for the new entity extraction functionality. - Enhanced error handling and validation in the new implementation.
Bumps pipelex-sdk to 0.3.0 (git-pinned to release/v0.3.0 while unreleased), which resolves the main output for you on both execution modes. Deletes the starter's find_main_content shape-guessing helper: to_run_results is now a trivial adapter and the CLI / narrower read results.main_stuff directly. A completed run with no main stuff raises the SDK's MissingMainStuffError. Bump 0.10.0 -> 0.11.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PibWhJ6mPWdrkMqZATZpkJ
…nline Now that the SDK resolves .main_stuff on both the blocking (PipelexExecuteResult) and durable (RunResults) result types, my_project/run_output.py earned nothing: its find_main_content was already deleted and to_run_results was a one-line repackage. Inlined that adaptation into runner.run_blocking and removed the module + its test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PibWhJ6mPWdrkMqZATZpkJ
Picks up the SDK's main_stuff_name typed-field cleanup (behavior-neutral). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PibWhJ6mPWdrkMqZATZpkJ
…al planning docs The starter was rewritten from a single hello_world.py example to an extract-entities Typer CLI, but the user-facing docs still described the deleted module. Rewrite the README and CLAUDE.md around what actually exists: the my-project console script, the extract-entities command, the durable/blocking execution modes, and the runs status|result|wait lifecycle. The quick start now runs `uv run my-project extract-entities "<text>"` — the old first command (`python -m my_project.hello_world`) errored out. Drop the stale references to start_and_wait usage and the removed find_main_content normalizer. Also remove the internal-only planning docs (TODOS.md, wip/) that must not ship in a "Use this template" repo, mirroring the JS starter's cleanup. CHANGELOG: fold both fixes into the unreleased v0.11.0 section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PibWhJ6mPWdrkMqZATZpkJ
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c1d26596bc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
pipelex-sdk 0.3.0 published to PyPI now that pipelex-sdk-python#6 merged and the repo is public. The git+ssh pin couldn't be cloned by CI runners (no SSH key), which is exactly the failure this resolves. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PibWhJ6mPWdrkMqZATZpkJ
The demo bundle declared people/orgs/dates as bare type = "list" with no item_type, so the runtime built them as List[Any] instead of the list[str] the ExtractedEntities model mirrors. Add item_type = "text" to all three. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014mFVgTkeUHpKPBqAbArWLv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
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.PIPELEX_API_URLtoPIPELEX_BASE_URLfor consistency with the SDK'sbase_urlnaming. No read alias — update.env/ environment.CLAUDE.mdaround the actualmy-projectCLI (theextract-entitiescommand, durable/blocking execution modes,runs status|result|waitlifecycle). They still described the removedhello_worldmodule,start_and_waitusage, and thefind_main_contentnormalizer — the quick start's first command errored out for a fresh user.TODOS.md,wip/) that must not ship in a "Use this template" repo.This PR pins
pipelex-sdkvia agit+sshref topipelex-sdk-python'srelease/v0.3.0branch (unpublished — see that repo's PR). Recommend not merging this untilpipelex-sdk-python'srelease/v0.3.0PR has merged and publishedpipelex-sdk0.3.0 to PyPI. I'll push a follow-up commit swapping the pin to a registry range (pipelex-sdk>=0.3.0) once it's live, somainnever depends on a git pin.Test plan
make agent-check&&make agent-testgreenuv run my-project extract-entities "<text>"CHANGELOG.mdupdated🤖 Generated with Claude Code
https://claude.ai/code/session_01PibWhJ6mPWdrkMqZATZpkJ