1.2.1
What's Changed
- Added functionality for advanced, customizable error handling in the pipeline.
- Restructuring and cleaning up the type annotations
- Updating out-of-date documentation
Breaking Changes
There are a number of breaking changes between MTAP 1.1.0 and 1.2.1
Python
-
Functionality for pipelines was split from
mtap.processing
to themtap.pipeline
package. -
EventsClient
is now instantiated via themtap.events_client
function. -
RemoteProcessor
andLocalProcessor
added to defaultmtap
package namespace to easePipeline
construction -
The
Pipeline
object is no longer a context manager and no longer anevents_client
property available.
This changes instantiation of pipelines to something like:pipeline = Pipeline.from_yaml_file(pipeline_conf) with events_client(address=pipeline.events_address) as events: source = FilesInDirectoryProcessingSource(directory=conf.directory, client=events) pipeline.run_multithread(source=source)
See here for a full example.
-
Functionality for time results on the pipeline have been moved to a results object returned by
Pipeline.run_multithread
-
ProcessingSource
is now inmtap.pipeline
and itsprovide
method has been renamedproduce
. -
get_serializers
has been removed frommtap.serialization
, instead use theget
method onSerializerRegistry
. -
The methods on
Serializer
have been changed to class methods to better reflect the intended statelessness. -
Processor descriptors like
labels
andparameter
have been moved frommtap.processing.descriptions
tomtap.descriptors
. -
The ability to add arbitrary key values to the
processor
annotation has been replaced with anadditional_data
dictionary attribute. -
The
mtap.data
package has been removed. Public access to types in this package that are not already in themtap
namespace have been moved tomtap.types
.