Skip to content

Dev to release/v0.3.0#70

Merged
thomashebrard merged 4 commits intorelease/v0.3.0from
dev
Jun 9, 2025
Merged

Dev to release/v0.3.0#70
thomashebrard merged 4 commits intorelease/v0.3.0from
dev

Conversation

@thomashebrard
Copy link
Copy Markdown
Member

🔗 Related Issues

📝 Description

🔄 Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • 📚 Documentation update
  • 🧹 Code refactor
  • ⚡ Performance improvement
  • ✅ Test update

🧪 Tests

📋 Checklist

  • Linting / type-checking / unit tests pass locally with my changes
  • I've added tests that prove my fix is effective or that my feature works
  • My code follows the style guidelines of this project
  • I've made corresponding changes to the documentation
  • My changes generate no new warnings

lchoquel and others added 4 commits June 9, 2025 14:42
### 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
@thomashebrard thomashebrard merged commit da2ffc3 into release/v0.3.0 Jun 9, 2025
13 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 9, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants