-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor the BasePipeline, move out all Project related logic #1351 #1358
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
4c5aed3
Move the LoopProgress class to the pipeline module #1351
tdruez 572d556
Remove the previous LoopProgress class location #1351
tdruez 7616f91
Refactor the BasePipeline into 2 subclasses #1351
tdruez 2b28424
Move the documentation in a README file #1351
tdruez efcef50
Add unit test for the get_initial_steps function #1351
tdruez File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# `aboutcode.pipeline` | ||
|
||
Define and run pipelines. | ||
|
||
### Install | ||
|
||
```bash | ||
pip install aboutcode_pipeline | ||
``` | ||
|
||
### Define and execute a pipeline | ||
|
||
```python | ||
from aboutcode.pipeline import BasePipeline | ||
|
||
class PrintMessages(BasePipeline): | ||
@classmethod | ||
def steps(cls): | ||
return (cls.step1,) | ||
|
||
def step1(self): | ||
print("Message from step1") | ||
|
||
PrintMessages().execute() | ||
``` | ||
|
||
### Groups and steps selection | ||
|
||
```python | ||
from aboutcode.pipeline import BasePipeline | ||
from aboutcode.pipeline import group | ||
|
||
class PrintMessages(BasePipeline): | ||
@classmethod | ||
def steps(cls): | ||
return (cls.step1, cls.step2) | ||
|
||
def step1(self): | ||
print("Message from step1") | ||
|
||
@group("foo") | ||
def step2(self): | ||
print("Message from step2") | ||
|
||
|
||
# Execute pipeline with group selection | ||
run = PrintMessages(selected_groups=["foo"]) | ||
exitcode, error = run.execute() | ||
|
||
# Execute pipeline with steps selection | ||
run = PrintMessages(selected_steps=["step1"]) | ||
exitcode, error = run.execute() | ||
``` |
This file contains 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per PEP8 https://peps.python.org/pep-0008/#package-and-module-namesaboutcode-pipeline
would be a much more Pythonic package name.Actually, going by @pombredanne suggestion here #1332 (comment), we may want to name this package
aboutcode.pipeline
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I initially went with aboutcode_pipeline in the README as the filenames of the flot build were
aboutcode_pipeline-0.1.whl
, even though the [project] name was set to "aboutcode.pipeline".