- Adds pipline event
step_end
- Pipeline and Switch raise start/exit/end events
- Removes Filter pre_process/post_process methods in lieu of events to simplfy pipeline runner
- Condenses Manifest models
- Enables addition assigment operator for appending event handlers
- Adds
default
case for Switch filter - BUGFIX: Patches typing imports for Python 3.7
- Adds start/exit/filter events to
pipelayer.Filter
- Terminates pipeline if the Filter.exit event is raised
- Adds raise_event decorator to wrap the
run
method in an implementation ofpipeline.Filter
- Consolidates create methods in
pipelayer.ManifestHelper
- BUGFIX: Fixes check for staticmethods when initializing the pipeline.
- Adds Switch filter
- Adds protocols:
pipelayer.protocol.CompoundStep
pipelayer.protocol.Filter
pipelayer.protocol.Manifest
- Moves
Step
protocol to thepiplayer.protocol
namespace - Moves
Pipeline
into separate module - Exposes all core classes in root
__init__.py
- Updates LICENSE to Free BSD (previous versions still honor the MIT License)
- Adds support for classes that implement the
pipelayer.Step
protocol as steps pipelayer.Step
is now a Protocolpipelater.Pipeline
andpipelayer.Filter
implement thepipelayer.Step
protocol- Updates type hints for pre_/post_process arguments in
pipelayer.Filter
constructor
It's still in beta and bumping the version to 1.0.0 was deferred--despite the breaking changes.
What's New:
- Nested pipelines
BREAKING CHANGES:
pipelayer.Pipeline.filters
attribute renamed tosteps
- Adds support for
pipelayer.Pipeline
instances as steps pipelayer.Pipeline
removes factory method, and implements a constructor that takessteps
andname
as argspipelayer.Pipeline.run
andpipelayer.Filter.run
method signatures updated.- Removes
pipelayer.Settings
base class - Removes
settings
andlog
attributes from thepipelayer.Context
class - Removes
pipelayer.exception.PipelineException
- Adds support for static/module/lamba functions as well as
pipelayer.Filter
types as Pipeline Filters - Adds Basic signature validation for filter functions
- context property in
pipelayer.Filter
is typed asUnion[Context]
- Handles all exceptions raises by filters and raises a
PipelineException
with the original exception assigned to theinner_exception
property
- Pipeline composed of single-method classes that inherit from
pipelayer.Filter