Package: seppl
Simple Entry Point PipeLines (seppl). Python library for parsing pipeline components with their own options.seppltakes a very light-weight approach to avoid encroaching too much on
your code. If you want to, you can add some compatibility checks between the
pipeline components with some additional mixins.
However, the execution of the pipeline (and potentially moving data between
components) is left to you and your code.Usage and examples can be found here:https://github.com/waikato-datamining/sepplChangelog0.1.3 (2024-02-29)added the dummy typeAnyDatawhich is used by default in thecheck_compatibilitymethod for amatch all(ie can be used for general purpose plugins)0.1.2 (2024-02-22)added methodsescape_argsandunescape_args(and corresponding command-line
toolsseppl-escapeandseppl-unescape) for escaping/unescaping unicode
characters in command-lines to make them copyable across ssh sessions0.1.1 (2024-02-07)check_compatibilitymethod now also checks whether generated class is
subclass of accepted classes, to allow for broaderaccepts()methodsgcdmethod now creates a copy of the integer ratio list before processing it0.1.0 (2024-02-05)added basic support for meta-data: MetaDataHandler, get_metadata, add_metadataadded support for splitting sequences using supplied (int) split ratiosadded session support: Session, SessionHandleradded I/O super classes: Reader, Writer, StreamWriter, BatchWriter, Filter, MultiFilteradded support for executing I/O pipelines: Reader, [Filter…], [Writer]0.0.11 (2023-11-27)theDEFAULTplaceholder in the environment variable listing the modules now
gets expanded to the default modules, making it easier to specify modules
in derived projectsaddedexcluded_modulesandexcluded_env_modulestoRegistryclass
initializer to allow user to specify modules (explicit list or list from env
variable) to be excluded from being registered; useful when outputting
help for derived modules that shouldn’t output all the base plugins as well.0.0.10 (2023-11-15)the registry now inspects modules when environment modules are present even when
it already found plugins (eg default ones)0.0.9 (2023-11-15)the registry now inspects modules when custom modules were supplied even when
it already found plugins (eg default ones)0.0.8 (2023-11-10)suppressing help output for unknown args now0.0.7 (2023-11-09)Plugin.parse_argsnow returns any unparsed arguments that were foundtheargs_to_objectsmethod now raises an Exception by default when
unknown arguments are encountered for a plugin (can be controlled with
theallow_unknown_argsparameter)0.0.6 (2023-10-11)enforcement of uniqueness is now checking whether the class names differ
before raising an exception.0.0.5 (2023-10-10)addedOutputProducerandInputConsumermixins that can be use for checking
the compatibility between pipeline components using thecheck_compatibilityfunction.0.0.4 (2023-10-09)added support fordynamicmode which only requires listing the superclass of a plugin
and the module in which to look for these plugins (slower, but more convenient)0.0.3 (2023-10-05)addedgenerate_entry_pointshelper method to easily generate theentry_pointssection
for plugins, rather than manually maintaining itaddedgenerate_helpandgenerate_plugin_usagemethods for generating documentation
for plugins0.0.2 (2023-10-04)removed old, logging-related code from Plugin classaddedargs_to_objectsto quickly instantiate plugins from parsed argumentsadded example to README.md and example library (https://github.com/waikato-datamining/seppl-example)0.0.1 (2023-09-28)initial release