Release/v0.3.2#79
Merged
thomashebrard merged 17 commits intomainfrom Jun 13, 2025
Merged
Conversation
### Highlight
- Structured input specs as dicts: required_variable → concept_code
- Static validation of inputs for inference pipes: PipeLLM, PipeOcr and PipeImgGen: you can now catch mistakes in your pipelines without running any operation
- `static_validation_config` to decide how to react to errors, kind of like pyright settings: for each type of error you can choose `raise`, `log` or `ignore` , with a general default of course
- Dry run validation catches errors in pipelines by running them without any inference, so it’s fast, costs nothing and works without internet, which makes it suitable for validating pipelines (like a linter) and this can even be used by agents like Cursor and Codex (more on that soon)
- Dry run pipes without inference
- `dry_run_config` to enable/disable jinja2 rendering during dry run
- Added dependency to polyfactory for mock pydantic model generation
- Improved Error handling for bad inputs during `run_pipe`, which works in dry run too, that's the purpose
### Tests
- Added pytest option `-pipe-run-mode` to `shared_pytest_plugins.py`, values `live` or `dry`, **default = `dry`**
- Made all the test_pipe apply pipe_run_mode
- Introduced a new pytest marker `pipelex_api`, applied to client methods instead of inference, llm etc.
- Added target `make test-pipelex-api` aka `make ta` to run just the client methods
### Refactor
- New way (simpler and way more elegant) to wrap inference worker methods (llm, image gen, ocr): instead of the `job_func` decorators, it uses a base method that calls a private abstract method implemented by each worker, and does stuff before and after
### Fixes
- Fixed logged error regarding pipe stack and PipeParallel
- Restored pipe tracker functionality, which no longer crashes when using stuff attributes as inputs
### 📝 Description - Remove smelly validation of None PipeOcr fields ### 🔄 Type of Change - [X] 🐛 Bug fix - [ ] ✨ New feature - [ ] 💥 Breaking change - [ ] 📚 Documentation update - [ ] 🧹 Code refactor - [ ] ⚡ Performance improvement - [ ] ✅ Test update
### 🔗 Related Issues ### 📝 Description - Added pytest marker `dry_runable` - Added `make` targets more powerful thanks to dry run: more test coverage by dry running pipes without inference - Added "-n auto" to gha and codex test targets in order to use pytest-xdist and be faster by using multiple CPUs ### 🔄 Type of Change - [ ] 🐛 Bug fix - [X] ✨ New feature - [ ] 💥 Breaking change - [ ] 📚 Documentation update - [ ] 🧹 Code refactor - [ ] ⚡ Performance improvement - [X] ✅ Test update
### 📝 Description * Be more lax on having domain definition: it's now Optional ### 🔄 Type of Change - [ ] 🐛 Bug fix - [X] ✨ New feature - [ ] 💥 Breaking change - [ ] 📚 Documentation update - [ ] 🧹 Code refactor - [ ] ⚡ Performance improvement - [ ] ✅ Test update ### 🧪 Tests * tests/test_pipelines/failure_modes.toml has no domain definition set, and it's OK
- Added a better printing of class structure (corresponding to the `output_concept_code`) at the end of the prompts. (Coming with UT) - The ReportingManager now reports all `pipeline_run_id` when none is provided - The `make_from_str` method from the `StuffFactory` now has a default value for `concept_code`: `native.Text`
# Conflicts: # CHANGELOG.md # README.md
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.
📝 Description
output_concept. New unit test included.pipeline_run_idis specified.make_from_strmethod from theStuffFactoryclass now usesTextcontext by default.🔄 Type of Change