sciline.reporter.Reporter#
- class sciline.reporter.Reporter[source]#
Base class for progress reporters of computations.
A
Reporterinstance must not be used for multiple computations concurrently!Reporters should be passed to
sciline.Pipeline.compute(), e.g.:from sciline import Pipeline from sciline.reporter import RichReporter reporter = RichReporter() pipeline = Pipeline(providers) pipeline.compute(Result, reporter=reporter)
Methods
__init__()call_provider_with_reporting(provider, values)Call a provider and report its progress with this reporter.
on_provider_end(provider_id)Called when a provider has finished.
on_provider_start(provider)Called when a provider is started.
reporting_provider_func(provider)Wrap a provider's function to report progress with this reporter.
run_computation(providers)Run a single computation with progress reporting.
- call_provider_with_reporting(provider, values)[source]#
Call a provider and report its progress with this reporter.
- Return type:
- reporting_provider_func(provider)[source]#
Wrap a provider’s function to report progress with this reporter.
- run_computation(providers)[source]#
Run a single computation with progress reporting.
This method is primarily meant for internal use. As a user, you should pass reporters to
Pipeline.compute().Use this method in a
withstatement:with reporter.run_computation(providers): # Perform computation
This method exists mainly to provide arguments when entering a reporting context, implementers should mainly override
__enter__.- Return type: