feat: expose operations in public Pipeline API - #667
Merged
Conversation
disrupted
marked this pull request as ready for review
August 13, 2026 09:58
There was a problem hiding this comment.
Pull request overview
Exposes deployment, cleanup, reset, destruction, and manifest operations directly through Pipeline.
Changes:
- Adds asynchronous operation methods and manifest generation to
Pipeline. - Delegates existing API functions to the new methods.
- Refactors tests and shared fixtures around programmatic pipeline execution.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
kpops/pipeline/__init__.py |
Adds public pipeline operations. |
kpops/api/__init__.py |
Delegates API operations to Pipeline. |
tests/conftest.py |
Centralizes configuration and handler fixtures. |
tests/pipeline/conftest.py |
Adds a reusable pipeline fixture. |
tests/components/conftest.py |
Uses centralized fixtures. |
tests/pipeline/test_deploy.py |
Tests programmatic deployment. |
tests/pipeline/test_destroy.py |
Tests programmatic destruction. |
tests/pipeline/test_reset.py |
Tests programmatic reset. |
tests/pipeline/test_clean.py |
Tests programmatic cleanup. |
tests/pipeline/test_run_component.py |
Updates helper import location. |
tests/pipeline/test_generate.py |
Renames configuration fixture usage. |
tests/pipeline/test_example.py |
Renames configuration fixture usage. |
tests/pipeline/resources/simple-pipeline/pipeline.yaml |
Removes obsolete test pipeline data. |
tests/components/test_kubernetes_app.py |
Uses concrete dummy test classes. |
tests/api/test_handlers.py |
Clears handlers before singleton testing. |
tests/cli/test_init.py |
Renames configuration fixture usage. |
tests/test_kpops_config.py |
Renames configuration fixture usage. |
Suppressed comments (3)
kpops/api/init.py:118
- This changes the existing iterator API from lazy to eager:
generate()now runs whenmanifest_destroy()is called, rather than when the returned iterator is first consumed. That makes configuration side effects, logging, and parse/path errors occur earlier for existing callers. Preserve the previous generator semantics by delegating withyield from.
return pipeline.manifest_destroy()
kpops/api/init.py:164
- This changes the existing iterator API from lazy to eager:
generate()now runs whenmanifest_clean()is called, rather than when the returned iterator is first consumed. That makes configuration side effects, logging, and parse/path errors occur earlier for existing callers. Preserve the previous generator semantics by delegating withyield from.
return pipeline.manifest_clean()
kpops/api/init.py:141
- This changes the existing iterator API from lazy to eager:
generate()now runs whenmanifest_reset()is called, rather than when the returned iterator is first consumed. That makes configuration side effects, logging, and parse/path errors occur earlier for existing callers. Preserve the previous generator semantics by delegating withyield from.
return pipeline.manifest_reset()
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
tobbber
approved these changes
Aug 13, 2026
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
programmatic access to run KPOps operations on
Pipelineinstances