Coverage report: 99%

Files Functions Classes

coverage.py v7.13.5, created at 2026-03-30 16:10 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
src / mafw / active.py Active.__init__   100% 4 0 0   100% 0 0   100%
src / mafw / active.py Active.__set_name__   100% 5 0 0   50% 2 1   86%
src / mafw / active.py Active._init_callbacks   100% 3 0 0   100% 0 0   100%
src / mafw / active.py Active.__get__   75% 8 2 0   67% 6 2   71%
src / mafw / active.py Active.__set__   100% 7 0 0   67% 6 2   85%
src / mafw / active.py (no function)   100% 12 0 0   100% 0 0   100%
src / mafw / db / db_configurations.py (no function)   100% 5 0 0   100% 0 0   100%
src / mafw / db / db_filter.py _format_expected   67% 3 1 0   50% 2 1   60%
src / mafw / db / db_filter.py ParseError.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / db / db_filter.py UnexpectedTokenError.__init__   100% 5 0 0   100% 0 0   100%
src / mafw / db / db_filter.py UnexpectedEndOfExpressionError.__init__   100% 4 0 0   100% 0 0   100%
src / mafw / db / db_filter.py MissingTokenError.__init__   100% 3 0 0   100% 0 0   100%
src / mafw / db / db_filter.py UnknownNameError.__init__   88% 8 1 0   50% 2 1   80%
src / mafw / db / db_filter.py _tokenize_with_positions   100% 13 0 0   100% 6 0   100%
src / mafw / db / db_filter.py tokenize   100% 2 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ExprParser.__init__   100% 4 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ExprParser.peek   100% 3 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ExprParser.accept   100% 5 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ExprParser._current_position   100% 3 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ExprParser.expect   100% 8 0 0   100% 4 0   100%
src / mafw / db / db_filter.py ExprParser.parse   100% 6 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ExprParser.parse_or   100% 5 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ExprParser.parse_and   100% 5 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ExprParser.parse_not   100% 4 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ExprParser.parse_atom   100% 17 0 0   100% 8 0   100%
src / mafw / db / db_filter.py ast_to_string   96% 25 1 0   93% 14 1   95%
src / mafw / db / db_filter.py ConditionNode.__init__   100% 9 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ConditionNode.to_expression   100% 56 0 0   100% 52 0   100%
src / mafw / db / db_filter.py ConditionalNode.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ConditionalNode.to_expression   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_filter.py LogicalNode.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / db / db_filter.py LogicalNode.to_expression   100% 11 0 0   100% 6 0   100%
src / mafw / db / db_filter.py ConditionalFilterCondition.__init__   100% 10 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ConditionalFilterCondition.to_expression   100% 6 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ConditionalFilterCondition.__eq__   100% 3 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ModelFilter.__init__   100% 36 0 0   100% 22 0   100%
src / mafw / db / db_filter.py ModelFilter._auto_bind   100% 5 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ModelFilter._build_logical_node_from_ast   100% 17 0 0   100% 8 0   100%
src / mafw / db / db_filter.py ModelFilter._create_condition_node_from_value   100% 7 0 0   100% 6 0   100%
src / mafw / db / db_filter.py ModelFilter.bind   100% 6 0 2   100% 0 0   100%
src / mafw / db / db_filter.py ModelFilter.is_bound   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ModelFilter.add_conditional   100% 13 0 0   100% 6 0   100%
src / mafw / db / db_filter.py ModelFilter.add_conditional_from_dict   100% 2 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ModelFilter.from_conf   100% 7 0 0   100% 4 0   100%
src / mafw / db / db_filter.py ModelFilter._evaluate_logic_ast   100% 23 0 2   100% 10 0   100%
src / mafw / db / db_filter.py ModelFilter.filter   100% 20 0 2   100% 8 0   100%
src / mafw / db / db_filter.py ProcessorFilter.__init__   100% 3 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ProcessorFilter.new_only   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ProcessorFilter.new_only   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_filter.py ProcessorFilter.__setitem__   100% 3 0 0   100% 2 0   100%
src / mafw / db / db_filter.py ProcessorFilter.bind_all   100% 8 0 0   90% 10 1   94%
src / mafw / db / db_filter.py ProcessorFilter.filter_all   100% 14 0 0   100% 4 0   100%
src / mafw / db / db_filter.py ProcessorFilter.filter_all.eval_ast   100% 21 0 0   100% 12 0   100%
src / mafw / db / db_filter.py (no function)   100% 94 0 0   100% 0 0   100%
src / mafw / db / db_model.py RegisteredMeta.__new__   100% 28 0 2   88% 16 2   95%
src / mafw / db / db_model.py get_db   75% 4 1 0   50% 2 1   67%
src / mafw / db / db_model.py get_primary_key_fields   100% 4 0 0   100% 2 0   100%
src / mafw / db / db_model.py make_prefixed_suffixed_name   100% 11 0 2   100% 8 0   100%
src / mafw / db / db_model.py MAFwBaseModel.get_fields_by_type   100% 1 0 2   100% 0 0   100%
src / mafw / db / db_model.py MAFwBaseModel.file_removal_triggers   100% 15 0 2   100% 2 0   100%
src / mafw / db / db_model.py MAFwBaseModel.triggers   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_model.py MAFwBaseModel.create_table   100% 24 0 0   100% 8 0   100%
src / mafw / db / db_model.py MAFwBaseModel.std_upsert   80% 15 3 0   75% 4 1   79%
src / mafw / db / db_model.py MAFwBaseModel.std_upsert_many   76% 34 8 0   60% 20 6   70%
src / mafw / db / db_model.py MAFwBaseModel.std_upsert_many._mysql_value_expression   0% 1 1 0   100% 0 0   0%
src / mafw / db / db_model.py MAFwBaseModel.to_dict   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_model.py MAFwBaseModel.from_dict   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_model.py MAFwBaseModel.update_from_dict   100% 2 0 0   100% 0 0   100%
src / mafw / db / db_model.py MAFwBaseModel.join_dependent_models   100% 14 0 2   90% 10 1   96%
src / mafw / db / db_model.py (no function)   100% 60 0 0   100% 0 0   100%
src / mafw / db / db_wizard.py UnknownField.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / db / db_wizard.py dump_models   100% 9 0 0   100% 6 0   100%
src / mafw / db / db_wizard.py dump_models.dump_intro   100% 4 0 0   100% 2 0   100%
src / mafw / db / db_wizard.py dump_models.dump_table   100% 45 0 0   100% 28 0   100%
src / mafw / db / db_wizard.py (no function)   100% 10 0 0   100% 0 0   100%
src / mafw / db / fields.py FileNameFieldAccessor.__set__   100% 7 0 0   100% 6 0   100%
src / mafw / db / fields.py FileChecksumFieldAccessor.__set__   100% 4 0 0   100% 2 0   100%
src / mafw / db / fields.py FileNameField.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / db / fields.py FileNameField.db_value   100% 1 0 0   100% 0 0   100%
src / mafw / db / fields.py FileNameField.python_value   100% 1 0 0   100% 0 0   100%
src / mafw / db / fields.py FileNameListField.db_value   100% 3 0 0   100% 2 0   100%
src / mafw / db / fields.py FileNameListField.python_value   67% 3 1 0   50% 2 1   60%
src / mafw / db / fields.py FileChecksumField.db_value   100% 8 0 0   100% 6 0   100%
src / mafw / db / fields.py FileChecksumField.python_value   100% 1 0 0   100% 0 0   100%
src / mafw / db / fields.py (no function)   100% 22 0 0   100% 0 0   100%
src / mafw / db / model_register.py ModelRegister.__init__   100% 5 0 0   100% 0 0   100%
src / mafw / db / model_register.py ModelRegister.register_model   100% 5 0 0   100% 2 0   100%
src / mafw / db / model_register.py ModelRegister.register_prefix   100% 3 0 0   100% 2 0   100%
src / mafw / db / model_register.py ModelRegister.register_suffix   100% 3 0 0   100% 2 0   100%
src / mafw / db / model_register.py ModelRegister.get_model   100% 29 0 0   100% 14 0   100%
src / mafw / db / model_register.py ModelRegister.get_model_names   100% 2 0 0   100% 0 0   100%
src / mafw / db / model_register.py ModelRegister.get_table_names   100% 2 0 0   100% 0 0   100%
src / mafw / db / model_register.py ModelRegister.items   100% 2 0 0   100% 0 0   100%
src / mafw / db / model_register.py ModelRegister.get_standard_tables   100% 2 0 0   100% 0 0   100%
src / mafw / db / model_register.py ModelRegister.clear   100% 4 0 0   100% 0 0   100%
src / mafw / db / model_register.py (no function)   100% 17 0 2   100% 0 0   100%
src / mafw / db / std_tables.py StandardTable.init   0% 1 1 0   100% 0 0   0%
src / mafw / db / std_tables.py TriggerStatus.init   78% 9 2 0   50% 4 2   69%
src / mafw / db / std_tables.py TriggerDisabler.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / db / std_tables.py TriggerDisabler.disable   100% 1 0 0   100% 0 0   100%
src / mafw / db / std_tables.py TriggerDisabler.enable   100% 1 0 0   100% 0 0   100%
src / mafw / db / std_tables.py TriggerDisabler.__enter__   100% 2 0 0   100% 0 0   100%
src / mafw / db / std_tables.py TriggerDisabler.__exit__   100% 1 0 0   100% 0 0   100%
src / mafw / db / std_tables.py (no function)   100% 40 0 0   100% 0 0   100%
src / mafw / db / trigger.py and_   100% 2 0 0   100% 0 0   100%
src / mafw / db / trigger.py or_   100% 2 0 0   100% 0 0   100%
src / mafw / db / trigger.py SQLiteDialect.create_trigger_sql   100% 7 0 0   100% 0 0   100%
src / mafw / db / trigger.py SQLiteDialect.drop_trigger_sql   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py SQLiteDialect.select_all_trigger_sql   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py SQLiteDialect.supports_trigger_type   100% 3 0 0   100% 2 0   100%
src / mafw / db / trigger.py SQLiteDialect.supports_safe_create   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py SQLiteDialect.supports_update_of_columns   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py SQLiteDialect.supports_when_clause   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py MySQLDialect.create_trigger_sql   100% 14 0 0   100% 4 0   100%
src / mafw / db / trigger.py MySQLDialect.select_all_trigger_sql   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py MySQLDialect.drop_trigger_sql   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py MySQLDialect.supports_trigger_type   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py MySQLDialect.supports_safe_create   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py MySQLDialect.supports_update_of_columns   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py MySQLDialect.supports_when_clause   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py PostgreSQLDialect.create_trigger_sql   100% 25 0 0   100% 10 0   100%
src / mafw / db / trigger.py PostgreSQLDialect._clean_sql   100% 8 0 0   100% 4 0   100%
src / mafw / db / trigger.py PostgreSQLDialect.drop_trigger_sql   100% 4 0 0   100% 2 0   100%
src / mafw / db / trigger.py PostgreSQLDialect.select_all_trigger_sql   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py PostgreSQLDialect.supports_trigger_type   100% 3 0 0   100% 2 0   100%
src / mafw / db / trigger.py PostgreSQLDialect.supports_safe_create   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py PostgreSQLDialect.supports_update_of_columns   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py PostgreSQLDialect.supports_when_clause   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger.__init__   100% 18 0 0   100% 4 0   100%
src / mafw / db / trigger.py Trigger.trigger_action   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger.trigger_action   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger.trigger_when   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger.trigger_when   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger.__setattr__   100% 5 0 0   100% 4 0   100%
src / mafw / db / trigger.py Trigger.__getattr__   100% 5 0 0   100% 4 0   100%
src / mafw / db / trigger.py Trigger.add_sql   100% 2 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger.add_when   100% 3 0 0   100% 2 0   100%
src / mafw / db / trigger.py Trigger._node_to_sql   100% 23 0 0   100% 12 0   100%
src / mafw / db / trigger.py Trigger._value_to_sql   100% 10 0 0   100% 8 0   100%
src / mafw / db / trigger.py Trigger.set_database   100% 2 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger.database   100% 4 0 0   100% 2 0   100%
src / mafw / db / trigger.py Trigger._compile_query   75% 4 1 0   50% 2 1   67%
src / mafw / db / trigger.py Trigger._compile_node   100% 1 0 0   100% 0 0   100%
src / mafw / db / trigger.py Trigger._compile_sql_statement   100% 7 0 0   100% 4 0   100%
src / mafw / db / trigger.py Trigger._compile_when_conditions   100% 6 0 0   100% 4 0   100%
src / mafw / db / trigger.py Trigger._get_dialect   100% 15 0 0   100% 12 0   100%
src / mafw / db / trigger.py Trigger.create   100% 10 0 0   100% 8 0   100%
src / mafw / db / trigger.py Trigger.drop   100% 2 0 0   100% 0 0   100%
src / mafw / db / trigger.py (no function)   100% 84 0 0   100% 0 0   100%
src / mafw / decorators.py suppress_warnings   100% 3 0 0   100% 0 0   100%
src / mafw / decorators.py suppress_warnings.wrapper   100% 3 0 0   100% 0 0   100%
src / mafw / decorators.py singleton   100% 4 0 0   100% 0 0   100%
src / mafw / decorators.py singleton.wrapper_singleton   100% 3 0 0   100% 2 0   100%
src / mafw / decorators.py database_required   100% 7 0 0   50% 2 1   89%
src / mafw / decorators.py database_required._start   100% 3 0 0   100% 2 0   100%
src / mafw / decorators.py orphan_protector   100% 5 0 0   100% 0 0   100%
src / mafw / decorators.py orphan_protector.new_init   100% 1 0 0   100% 0 0   100%
src / mafw / decorators.py execution_workflow   100% 2 0 0   100% 0 0   100%
src / mafw / decorators.py execution_workflow.dec   100% 5 0 0   100% 0 0   100%
src / mafw / decorators.py execution_workflow.dec.new_init   100% 1 0 0   100% 0 0   100%
src / mafw / decorators.py depends_on_optional   100% 3 0 0   100% 0 0   100%
src / mafw / decorators.py depends_on_optional.decorator   100% 2 0 0   100% 0 0   100%
src / mafw / decorators.py depends_on_optional.decorator.wrapper   100% 9 0 0   100% 6 0   100%
src / mafw / decorators.py processor_depends_on_optional   100% 2 0 0   100% 0 0   100%
src / mafw / decorators.py processor_depends_on_optional.decorator   100% 13 0 0   100% 6 0   100%
src / mafw / decorators.py processor_depends_on_optional.decorator.class_wrapper   100% 6 0 0   100% 0 0   100%
src / mafw / decorators.py class_depends_on_optional   100% 2 0 0   100% 0 0   100%
src / mafw / decorators.py class_depends_on_optional.decorator   100% 13 0 0   100% 6 0   100%
src / mafw / decorators.py class_depends_on_optional.decorator.class_wrapper   100% 6 0 0   100% 0 0   100%
src / mafw / decorators.py (no function)   100% 34 0 0   100% 0 0   100%
src / mafw / enumerators.py (no function)   100% 54 0 0   100% 0 0   100%
src / mafw / hookspecs.py (no function)   100% 9 0 2   100% 0 0   100%
src / mafw / lazy_import.py ProcessorClassProtocol.parameter_schema   0% 1 1 0   100% 0 0   0%
src / mafw / lazy_import.py ProcessorClassProtocol.filter_schema   0% 1 1 0   100% 0 0   0%
src / mafw / lazy_import.py ProcessorClassProtocol.processor_schema   0% 1 1 0   100% 0 0   0%
src / mafw / lazy_import.py LazyImportPlugin.__init__   100% 6 0 0   100% 0 0   100%
src / mafw / lazy_import.py LazyImportPlugin._load   100% 6 0 0   100% 2 0   100%
src / mafw / lazy_import.py LazyImportPlugin.__getattr__   100% 1 0 0   100% 0 0   100%
src / mafw / lazy_import.py LazyImportPlugin.__call__   100% 2 0 0   100% 0 0   100%
src / mafw / lazy_import.py LazyImportProcessor._post_load   100% 1 0 0   100% 0 0   100%
src / mafw / lazy_import.py LazyImportProcessor.__repr__   100% 1 0 0   100% 0 0   100%
src / mafw / lazy_import.py LazyImportUserInterface.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / lazy_import.py LazyImportUserInterface._post_load   100% 3 0 0   100% 2 0   100%
src / mafw / lazy_import.py LazyImportUserInterface.__repr__   100% 1 0 0   100% 0 0   100%
src / mafw / lazy_import.py (no function)   100% 44 0 0   100% 0 0   100%
src / mafw / mafw_errors.py ValidationIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py MissingProcessorsToRunIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py ProcessorsToRunNotListIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py MissingUserInterfaceSectionIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py UnknownProcessorsToRunEntryIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py UnknownGroupMemberIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py DuplicateReplicaIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py CyclicGroupIssue.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / mafw_errors.py InvalidFilterConditionIssue.__init__   100% 7 0 0   75% 4 1   91%
src / mafw / mafw_errors.py InvalidFilterLogicIssue.__init__   100% 4 0 0   50% 2 1   83%
src / mafw / mafw_errors.py (no function)   100% 51 0 0   100% 0 0   100%
src / mafw / models / __init__.py (no function)   100% 5 0 0   100% 0 0   100%
src / mafw / models / filter_schema.py (no function)   100% 8 0 0   100% 0 0   100%
src / mafw / models / loop_payloads.py (no function)   100% 26 0 0   100% 0 0   100%
src / mafw / models / parameter_schema.py (no function)   100% 12 0 0   100% 0 0   100%
src / mafw / models / processor_schema.py ProcessorSchema.get_parameter_names   100% 1 0 0   100% 0 0   100%
src / mafw / models / processor_schema.py ProcessorSchema.get_parameter   100% 4 0 0   100% 4 0   100%
src / mafw / models / processor_schema.py (no function)   100% 12 0 0   100% 0 0   100%
src / mafw / plugin_manager.py _as_processor_result   100% 1 0 0   100% 0 0   100%
src / mafw / plugin_manager.py _as_ui_result   100% 1 0 0   100% 0 0   100%
src / mafw / plugin_manager.py _as_db_module_result   100% 1 0 0   100% 0 0   100%
src / mafw / plugin_manager.py MAFwPluginManager.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / plugin_manager.py MAFwPluginManager.load_db_models_plugins   100% 6 0 0   100% 2 0   100%
src / mafw / plugin_manager.py MAFwPluginManager.load_processor_plugins   100% 10 0 0   100% 4 0   100%
src / mafw / plugin_manager.py MAFwPluginManager.load_user_interface_plugins   100% 5 0 0   100% 0 0   100%
src / mafw / plugin_manager.py MAFwPluginManager._delayed_status_message   100% 3 0 0   100% 2 0   100%
src / mafw / plugin_manager.py MAFwPluginManager.load_plugins   100% 30 0 0   100% 16 0   100%
src / mafw / plugin_manager.py get_plugin_manager   100% 9 0 0   100% 4 0   100%
src / mafw / plugin_manager.py (no function)   100% 40 0 2   100% 0 0   100%
src / mafw / plugins.py register_processors   100% 1 0 0   100% 0 0   100%
src / mafw / plugins.py register_user_interfaces   100% 1 0 0   100% 0 0   100%
src / mafw / plugins.py register_db_model_modules   100% 1 0 0   100% 0 0   100%
src / mafw / plugins.py (no function)   100% 9 0 0   100% 0 0   100%
src / mafw / processor.py validate_database_conf   100% 9 0 0   100% 6 0   100%
src / mafw / processor.py PassiveParameter.__init__   100% 13 0 0   100% 6 0   100%
src / mafw / processor.py PassiveParameter.__rich_repr__   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py PassiveParameter.is_set   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py PassiveParameter.value   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py PassiveParameter.value   100% 2 0 0   100% 0 0   100%
src / mafw / processor.py PassiveParameter.is_optional   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py PassiveParameter.__repr__   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py ensure_parameter_registration   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py ensure_parameter_registration.wrapper   100% 8 0 0   100% 6 0   100%
src / mafw / processor.py _copy_parent_parameter_definitions   100% 7 0 0   100% 6 0   100%
src / mafw / processor.py _ensure_parameter_definitions   100% 6 0 0   100% 2 0   100%
src / mafw / processor.py _validate_filter_schema   100% 15 0 0   100% 12 0   100%
src / mafw / processor.py ActiveParameter.__init__   100% 4 0 0   100% 0 0   100%
src / mafw / processor.py ActiveParameter._validate_name   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py ActiveParameter.__set_name__   100% 10 0 0   100% 4 0   100%
src / mafw / processor.py ActiveParameter.__get__   100% 4 0 0   100% 2 0   100%
src / mafw / processor.py ActiveParameter.__set__   100% 2 0 0   100% 0 0   100%
src / mafw / processor.py ActiveParameter.to_schema   100% 6 0 0   100% 0 0   100%
src / mafw / processor.py ActiveParameter._resolve_parameter_annotation   100% 20 0 0   100% 10 0   100%
src / mafw / processor.py ActiveParameter._schema_default_value   100% 7 0 0   100% 2 0   100%
src / mafw / processor.py ActiveParameter._is_list_annotation   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ActiveParameter._is_dict_annotation   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ActiveParameter._matches_container   100% 11 0 0   100% 8 0   100%
src / mafw / processor.py ProcessorMeta.__init__   100% 11 0 0   83% 6 1   94%
src / mafw / processor.py ProcessorMeta.__call__   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py Processor.parameter_schema   100% 4 0 0   100% 2 0   100%
src / mafw / processor.py Processor.filter_schema   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.processor_schema   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.__init__   100% 57 0 0   100% 2 0   100%
src / mafw / processor.py Processor.initialise_parameters   100% 4 0 0   100% 0 0   100%
src / mafw / processor.py Processor.__post_init__   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py Processor._register_parameters   100% 11 0 0   100% 8 0   100%
src / mafw / processor.py Processor._override_defaults   100% 3 0 0   100% 4 0   100%
src / mafw / processor.py Processor._reset_parameters   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py Processor._load_parameter_configuration   100% 36 0 0   100% 24 0   100%
src / mafw / processor.py Processor._load_parameter_configuration._sanitize_filter_config   100% 31 0 0   96% 24 1   98%
src / mafw / processor.py Processor._overrule_kws_parameters   100% 4 0 0   100% 4 0   100%
src / mafw / processor.py Processor.validate_configuration   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor._check_method_overload   100% 5 0 0   100% 4 0   100%
src / mafw / processor.py Processor._apply_super_call_wrappers   100% 12 0 5   100% 6 0   100%
src / mafw / processor.py Processor._reset_super_call_flag   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor._mark_super_call   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor._did_call_super   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.dump_parameter_configuration   100% 10 0 0   100% 6 0   100%
src / mafw / processor.py Processor.get_parameter   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.get_parameters   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.delete_parameter   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.set_parameter_value   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.get_filter   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.on_processor_status_change   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.on_looping_status_set   100% 6 0 0   100% 6 0   100%
src / mafw / processor.py Processor.format_progress_message   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor._thread_loop_context   100% 10 0 0   75% 4 1   93%
src / mafw / processor.py Processor._in_thread_context   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.item   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.item   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.i_item   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.i_item   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.n_item   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.n_item   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.looping_status   100% 6 0 0   100% 4 0   100%
src / mafw / processor.py Processor.looping_status   100% 10 0 0   88% 8 1   94%
src / mafw / processor.py Processor.unique_name   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.replica_name   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.local_resource_acquisition   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.local_resource_acquisition   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.database   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py Processor.execute   100% 2 0 0   100% 0 0   100%
src / mafw / processor.py Processor._compute_default_max_workers   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor._execute_single   100% 7 0 0   100% 0 0   100%
src / mafw / processor.py Processor._execute_for_loop   100% 18 0 0   100% 6 0   100%
src / mafw / processor.py Processor._build_loop_item   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor._build_loop_result   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor._payload_annotation_matches   100% 6 0 0   100% 4 0   100%
src / mafw / processor.py Processor._call_with_optional_payload   93% 15 1 0   83% 12 2   89%
src / mafw / processor.py Processor._process_for_loop   100% 15 0 0   100% 6 0   100%
src / mafw / processor.py Processor._process_parallel_for_loop   100% 29 0 0   100% 12 0   100%
src / mafw / processor.py Processor._process_parallel_for_loop._set_abort   100% 8 0 0   83% 6 1   93%
src / mafw / processor.py Processor._process_parallel_for_loop._worker   100% 17 0 0   88% 8 1   96%
src / mafw / processor.py Processor._process_parallel_for_loop._submit_next   100% 7 0 0   100% 0 0   100%
src / mafw / processor.py Processor._process_parallel_for_loop_with_queue   100% 32 0 0   100% 12 0   100%
src / mafw / processor.py Processor._process_parallel_for_loop_with_queue._set_abort   88% 8 1 0   67% 6 2   79%
src / mafw / processor.py Processor._process_parallel_for_loop_with_queue._get_abort_status   100% 2 0 0   100% 0 0   100%
src / mafw / processor.py Processor._process_parallel_for_loop_with_queue._worker   100% 18 0 0   100% 10 0   100%
src / mafw / processor.py Processor._process_parallel_for_loop_with_queue._consumer   100% 17 0 0   100% 6 0   100%
src / mafw / processor.py Processor._process_parallel_for_loop_with_queue._submit_next   100% 14 0 0   100% 6 0   100%
src / mafw / processor.py Processor._execute_while_loop   100% 25 0 0   100% 8 0   100%
src / mafw / processor.py Processor.acquire_resources   100% 30 0 0   100% 18 0   100%
src / mafw / processor.py Processor.start   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py Processor.get_items   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.while_condition   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.process   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.accept_item   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.skip_item   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.consumer_start   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.consumer_process   100% 6 0 0   83% 6 1   92%
src / mafw / processor.py Processor.consumer_finish   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py Processor.finish   100% 5 0 0   100% 2 0   100%
src / mafw / processor.py Processor.print_process_statistics   100% 9 0 0   100% 4 0   100%
src / mafw / processor.py Processor._remove_orphan_files   100% 15 0 2   100% 8 0   100%
src / mafw / processor.py ProcessorList.__init__   100% 14 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.__setitem__   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.insert   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.append   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.extend   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py ProcessorList.validate_item   100% 8 0 0   100% 4 0   100%
src / mafw / processor.py ProcessorList.validate_items   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py ProcessorList.name   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.name   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.processor_exit_status   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.processor_exit_status   100% 1 0 0   100% 0 0   100%
src / mafw / processor.py ProcessorList.database   100% 3 0 0   100% 2 0   100%
src / mafw / processor.py ProcessorList.execute   100% 17 0 0   100% 6 0   100%
src / mafw / processor.py ProcessorList.acquire_resources   100% 31 0 0   100% 20 0   100%
src / mafw / processor.py ProcessorList.distribute_resources   100% 3 0 0   100% 0 0   100%
src / mafw / processor.py (no function)   100% 200 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py DataRetriever.__init__   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py DataRetriever.patch_data_frame   100% 2 0 0   100% 2 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.is_output_existing   94% 18 1 0   88% 8 1   92%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.process   100% 13 0 0   100% 6 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.is_data_frame_empty   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.in_loop_customization   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.get_data_frame   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.format_progress_message   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.plot   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.customize_plot   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.save   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.update_db   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.slice_data_frame   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.group_and_aggregate_data_frame   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.finish   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter.patch_data_frame   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / abstract_plotter.py GenericPlotter._update_plotter_db   100% 6 0 0   100% 4 0   100%
src / mafw / processor_library / abstract_plotter.py (no function)   100% 47 0 0   100% 0 0   100%
src / mafw / processor_library / db_init.py TableCreator.__init__   100% 3 0 0   100% 0 0   100%
src / mafw / processor_library / db_init.py TableCreator.validate_configuration   100% 2 0 0   100% 2 0   100%
src / mafw / processor_library / db_init.py TableCreator.process   100% 35 0 0   100% 22 0   100%
src / mafw / processor_library / db_init.py TriggerRefresher.__init__   100% 3 0 0   100% 0 0   100%
src / mafw / processor_library / db_init.py TriggerRefresher.get_dialect   100% 15 0 0   100% 12 0   100%
src / mafw / processor_library / db_init.py TriggerRefresher.start   100% 2 0 0   100% 0 0   100%
src / mafw / processor_library / db_init.py TriggerRefresher.get_items   100% 28 0 2   100% 8 0   100%
src / mafw / processor_library / db_init.py TriggerRefresher.process   100% 1 0 2   100% 0 0   100%
src / mafw / processor_library / db_init.py TriggerRefresher.finish   100% 5 0 0   100% 2 0   100%
src / mafw / processor_library / db_init.py TriggerRefresher.format_progress_message   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / db_init.py SQLScriptRunner.validate_configuration   100% 4 0 2   100% 4 0   100%
src / mafw / processor_library / db_init.py SQLScriptRunner.get_items   100% 1 0 2   100% 0 0   100%
src / mafw / processor_library / db_init.py SQLScriptRunner.process   100% 16 0 0   100% 4 0   100%
src / mafw / processor_library / db_init.py SQLScriptRunner.format_progress_message   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / db_init.py (no function)   100% 44 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameElement.__init__   100% 9 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py FilenameElement._validate_regexp   100% 4 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py FilenameElement._validate_default_type   100% 2 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py FilenameElement._get_value_type   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py FilenameElement.reset   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameElement.from_dict   100% 12 0 0   100% 4 0   100%
src / mafw / processor_library / importer.py FilenameElement.name   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameElement.value   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameElement.is_optional   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameElement.is_found   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py FilenameElement.pattern   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameElement.search   100% 6 0 0   100% 4 0   100%
src / mafw / processor_library / importer.py FilenameParser.__init__   100% 4 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameParser._parser_configuration   100% 6 0 0   100% 4 0   100%
src / mafw / processor_library / importer.py FilenameParser.elements   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py FilenameParser.interpret   100% 9 0 2   100% 6 0   100%
src / mafw / processor_library / importer.py FilenameParser.get_element   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py FilenameParser.get_element_value   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py FilenameParser.reset   100% 2 0 0   100% 2 0   100%
src / mafw / processor_library / importer.py Importer.__init__   100% 3 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py Importer.format_progress_message   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / importer.py Importer.start   100% 2 0 2   100% 0 0   100%
src / mafw / processor_library / importer.py (no function)   100% 47 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py PdDataRetriever.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py PdDataRetriever.get_data_frame   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py PdDataRetriever.patch_data_frame   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py PdDataRetriever._attributes_valid   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py FromDatasetDataRetriever.__init__   100% 2 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py FromDatasetDataRetriever._attributes_valid   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py FromDatasetDataRetriever.get_data_frame   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py SQLPdDataRetriever.__init__   100% 18 0 0   100% 8 0   100%
src / mafw / processor_library / sns_plotter.py SQLPdDataRetriever.get_data_frame   100% 14 0 0   100% 8 0   100%
src / mafw / processor_library / sns_plotter.py SQLPdDataRetriever._attributes_valid   100% 5 0 0   100% 4 0   100%
src / mafw / processor_library / sns_plotter.py HDFPdDataRetriever.__init__   100% 9 0 0   100% 4 0   100%
src / mafw / processor_library / sns_plotter.py HDFPdDataRetriever.get_data_frame   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py HDFPdDataRetriever.patch_data_frame   0% 1 1 0   100% 0 0   0%
src / mafw / processor_library / sns_plotter.py HDFPdDataRetriever._attributes_valid   100% 8 0 0   100% 6 0   100%
src / mafw / processor_library / sns_plotter.py SNSFigurePlotter.__init__   100% 5 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py SNSFigurePlotter.plot   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py SNSFigurePlotter._attributes_valid   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py RelPlot.__init__   100% 11 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py RelPlot.plot   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py DisPlot.__init__   100% 13 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py DisPlot.plot   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py CatPlot.__init__   100% 12 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py CatPlot.plot   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py LMPlot.__init__   100% 12 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py LMPlot.plot   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py SNSPlotter.__init__   100% 15 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py SNSPlotter.start   100% 7 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py SNSPlotter.get_data_frame   100% 1 0 0   100% 0 0   100%
src / mafw / processor_library / sns_plotter.py SNSPlotter.process   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py SNSPlotter.group_and_aggregate_data_frame   100% 2 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py SNSPlotter.is_data_frame_empty   100% 3 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py SNSPlotter.slice_data_frame   100% 2 0 0   100% 2 0   100%
src / mafw / processor_library / sns_plotter.py (no function)   100% 78 0 0   100% 0 0   100%
src / mafw / runner.py MAFwApplication.__init__   100% 16 0 2   100% 4 0   100%
src / mafw / runner.py MAFwApplication.get_user_interface   100% 5 0 0   100% 2 0   100%
src / mafw / runner.py MAFwApplication.run   100% 11 0 0   100% 4 0   100%
src / mafw / runner.py MAFwApplication._expand_processors_to_run   100% 21 0 0   100% 10 0   100%
src / mafw / runner.py MAFwApplication.init   100% 8 0 0   100% 4 0   100%
src / mafw / runner.py (no function)   100% 19 0 0   100% 0 0   100%
src / mafw / scripts / mafw_exe.py print_banner   100% 17 0 2   100% 8 0   100%
src / mafw / scripts / mafw_exe.py custom_formatwarning   100% 1 0 0   100% 0 0   100%
src / mafw / scripts / mafw_exe.py is_bugged_version   100% 2 0 0   100% 0 0   100%
src / mafw / scripts / mafw_exe.py logger_setup   100% 11 0 0   100% 2 0   100%
src / mafw / scripts / mafw_exe.py display_exception   100% 5 0 0   100% 2 0   100%
src / mafw / scripts / mafw_exe.py MAFwGroup.get_command   89% 9 1 0   83% 6 1   87%
src / mafw / scripts / mafw_exe.py MAFwGroup.resolve_command   100% 2 0 2   100% 0 0   100%
src / mafw / scripts / mafw_exe.py MAFwGroup.invoke   80% 10 2 0   100% 0 0   80%
src / mafw / scripts / mafw_exe.py MAFwGroup.main   83% 12 2 0   100% 2 0   86%
src / mafw / scripts / mafw_exe.py cli   100% 5 0 0   100% 2 0   100%
src / mafw / scripts / mafw_exe.py list_processors   100% 29 0 0   100% 6 0   100%
src / mafw / scripts / mafw_exe.py generate_steering   100% 24 0 0   100% 4 0   100%
src / mafw / scripts / mafw_exe.py run   100% 12 0 0   100% 2 0   100%
src / mafw / scripts / mafw_exe.py wizard   100% 38 0 0   89% 18 2   96%
src / mafw / scripts / mafw_exe.py (no function)   99% 100 1 2   50% 2 1   98%
src / mafw / steering / builder.py SteeringBuilder.__init__   100% 8 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.from_toml   100% 7 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder.from_toml_text   100% 5 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder._load_from_document   100% 26 0 0   100% 16 0   100%
src / mafw / steering / builder.py SteeringBuilder._ensure_str_list   100% 4 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder._toml_to_python   100% 7 0 0   100% 6 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_db_config   100% 12 0 0   100% 6 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_ui_config   100% 3 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_group   100% 8 0 0   100% 4 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_processor   100% 21 0 0   100% 12 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_condition   100% 7 0 0   100% 6 0   100%
src / mafw / steering / builder.py SteeringBuilder._load_filters   100% 25 0 0   100% 20 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_conditional_config   100% 10 0 0   100% 8 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_field_filter_config   100% 8 0 0   100% 6 0   100%
src / mafw / steering / builder.py SteeringBuilder._parse_filter_section   100% 32 0 0   100% 22 0   100%
src / mafw / steering / builder.py SteeringBuilder.add_processor   100% 8 0 0   100% 4 0   100%
src / mafw / steering / builder.py SteeringBuilder.remove_processor   100% 2 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_processors_to_run   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_parameter   100% 7 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder.remove_parameter   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.clear_parameters   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.add_replica   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_replica_inheritance   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_processor_new_only   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_filter_config   100% 25 0 0   100% 16 0   100%
src / mafw / steering / builder.py SteeringBuilder._set_logic_expression   100% 19 0 0   100% 4 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_filter_field   100% 7 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder.remove_filter   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_processor_filters   100% 3 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_filter_logic   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_filter_conditionals   100% 6 0 0   100% 4 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_analysis_name   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_analysis_description   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_new_only   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_create_standard_tables   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_db_url   100% 4 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_db_pragmas   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_default   100% 8 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_db_attribute   100% 4 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder.enable_db_configuration   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.disable_db_configuration   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.is_db_configuration_enabled   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.set_ui_interface   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.add_group   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.remove_group   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.list_processors   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.list_groups   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.extra_globals   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.document   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.validate   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.to_config_dict   100% 3 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder.get_processor_config   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.get_group   100% 1 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.to_document   100% 2 0 0   100% 0 0   100%
src / mafw / steering / builder.py SteeringBuilder.write   100% 5 0 0   100% 2 0   100%
src / mafw / steering / builder.py SteeringBuilder._ensure_processor   100% 3 0 0   100% 2 0   100%
src / mafw / steering / builder.py (no function)   100% 76 0 0   100% 0 0   100%
src / mafw / steering / models.py ModelFilterConfig.logic   100% 1 0 0   100% 0 0   100%
src / mafw / steering / models.py ModelFilterConfig.logic   100% 8 0 0   100% 2 0   100%
src / mafw / steering / models.py ModelFilterConfig.__post_init__   100% 2 0 0   100% 0 0   100%
src / mafw / steering / models.py ModelFilterConfig.fill_model_info   100% 12 0 0   100% 4 0   100%
src / mafw / steering / models.py FieldFilterConfig.logic   100% 1 0 0   100% 0 0   100%
src / mafw / steering / models.py FieldFilterConfig.logic   100% 8 0 0   100% 2 0   100%
src / mafw / steering / models.py FieldFilterConfig.__post_init__   100% 1 0 0   100% 0 0   100%
src / mafw / steering / models.py ConditionalFilterConfig.__post_init__   100% 2 0 0   100% 0 0   100%
src / mafw / steering / models.py ConditionalFilterConfig.is_complete   100% 7 0 0   100% 6 0   100%
src / mafw / steering / models.py ConditionalFilterConfig.fill_model_info   58% 12 5 0   50% 4 0   56%
src / mafw / steering / models.py ProcessorRef.full_name   100% 1 0 0   100% 0 0   100%
src / mafw / steering / models.py ProcessorConfig.filter_logic   100% 1 0 0   100% 0 0   100%
src / mafw / steering / models.py ProcessorConfig.filter_logic   100% 8 0 0   100% 2 0   100%
src / mafw / steering / models.py _normalize_field_type   100% 5 0 0   100% 4 0   100%
src / mafw / steering / models.py _field_type_from_peewee   100% 5 0 0   100% 4 0   100%
src / mafw / steering / models.py (no function)   100% 146 0 2   100% 0 0   100%
src / mafw / steering / serializer.py serialize   100% 11 0 0   100% 4 0   100%
src / mafw / steering / serializer.py _add_globals   100% 12 0 0   100% 10 0   100%
src / mafw / steering / serializer.py _add_db   100% 12 0 0   100% 8 0   100%
src / mafw / steering / serializer.py _add_processors   100% 6 0 0   100% 4 0   100%
src / mafw / steering / serializer.py _normalize_logical_op   100% 15 0 0   100% 6 0   100%
src / mafw / steering / serializer.py _serialize_condition   100% 8 0 0   100% 4 0   100%
src / mafw / steering / serializer.py _add_processor_table   100% 63 0 0   98% 48 1   99%
src / mafw / steering / serializer.py _build_conditional_array_from_objects   100% 21 0 0   100% 12 0   100%
src / mafw / steering / serializer.py _build_conditional_array   100% 7 0 0   100% 4 0   100%
src / mafw / steering / serializer.py _add_groups   100% 9 0 0   100% 6 0   100%
src / mafw / steering / serializer.py _add_user_interface   100% 3 0 0   100% 0 0   100%
src / mafw / steering / serializer.py (no function)   100% 19 0 2   100% 0 0   100%
src / mafw / steering / validation.py validate   100% 11 0 0   100% 2 0   100%
src / mafw / steering / validation.py _validate_global_sections   100% 9 0 0   100% 8 0   100%
src / mafw / steering / validation.py _validate_processors_to_run   100% 5 0 0   100% 4 0   100%
src / mafw / steering / validation.py _validate_processors_to_run._is_known   100% 4 0 0   100% 2 0   100%
src / mafw / steering / validation.py _assert_group_members   100% 6 0 0   100% 6 0   100%
src / mafw / steering / validation.py _assert_group_members._is_known   100% 4 0 0   100% 2 0   100%
src / mafw / steering / validation.py _assert_unique_replicas   100% 9 0 0   100% 6 0   100%
src / mafw / steering / validation.py _detect_group_cycles   100% 5 0 0   100% 2 0   100%
src / mafw / steering / validation.py _detect_group_cycles.visit   100% 10 0 0   100% 6 0   100%
src / mafw / steering / validation.py _validate_filter_conditions   100% 11 0 0   94% 16 1   96%
src / mafw / steering / validation.py _validate_logic_expressions   100% 8 0 0   100% 10 0   100%
src / mafw / steering / validation.py _report_logic_issue   100% 6 0 0   100% 4 0   100%
src / mafw / steering / validation.py _logic_target_name   100% 5 0 0   100% 4 0   100%
src / mafw / steering / validation.py _logic_text   100% 7 0 0   100% 4 0   100%
src / mafw / steering / validation.py _report_condition   100% 2 0 0   100% 2 0   100%
src / mafw / steering / validation.py _report_conditional   100% 6 0 0   100% 6 0   100%
src / mafw / steering / validation.py (no function)   100% 22 0 0   100% 0 0   100%
src / mafw / timer.py pretty_format_duration   100% 22 0 0   100% 12 0   100%
src / mafw / timer.py rreplace   100% 4 0 0   100% 2 0   100%
src / mafw / timer.py Timer.__init__   100% 3 0 0   100% 0 0   100%
src / mafw / timer.py Timer.__enter__   100% 3 0 0   100% 0 0   100%
src / mafw / timer.py Timer.__exit__   100% 3 0 0   100% 2 0   100%
src / mafw / timer.py Timer.duration   100% 1 0 0   100% 0 0   100%
src / mafw / timer.py Timer.format_duration   100% 1 0 0   100% 0 0   100%
src / mafw / timer.py (no function)   100% 13 0 0   100% 0 0   100%
src / mafw / tools / db_tools.py make_kv   100% 6 0 0   100% 4 0   100%
src / mafw / tools / db_tools.py get_pk   100% 4 0 2   100% 2 0   100%
src / mafw / tools / db_tools.py combine_fields   100% 6 0 0   100% 4 0   100%
src / mafw / tools / db_tools.py combine_pk   100% 4 0 0   100% 2 0   100%
src / mafw / tools / db_tools.py (no function)   100% 7 0 0   100% 0 0   100%
src / mafw / tools / file_tools.py file_checksum   100% 11 0 0   100% 6 0   100%
src / mafw / tools / file_tools.py remove_widow_db_rows   100% 13 0 0   100% 10 0   100%
src / mafw / tools / file_tools.py remove_widow_db_rows._check_row   100% 11 0 0   100% 12 0   100%
src / mafw / tools / file_tools.py verify_checksum   100% 12 0 0   100% 10 0   100%
src / mafw / tools / file_tools.py verify_checksum._check_row   100% 18 0 0   100% 14 0   100%
src / mafw / tools / file_tools.py verify_checksum._check_row._check_file   100% 3 0 0   100% 2 0   100%
src / mafw / tools / file_tools.py (no function)   100% 12 0 0   100% 0 0   100%
src / mafw / tools / generics.py deep_update   100% 8 0 0   100% 6 0   100%
src / mafw / tools / generics.py (no function)   100% 4 0 0   100% 0 0   100%
src / mafw / tools / loop_tuning.py LoopTuningMixin.initialise_parameters   100% 17 0 0   100% 10 0   100%
src / mafw / tools / loop_tuning.py LoopTuningMixin._validate_loop_type   75% 8 2 0   100% 2 0   80%
src / mafw / tools / loop_tuning.py (no function)   100% 19 0 0   100% 0 0   100%
src / mafw / tools / pandas_tools.py slice_data_frame   100% 9 0 0   100% 6 0   100%
src / mafw / tools / pandas_tools.py group_and_aggregate_data_frame   100% 15 0 0   100% 8 0   100%
src / mafw / tools / pandas_tools.py (no function)   100% 16 0 0   100% 0 0   100%
src / mafw / tools / parallel.py is_free_threading   75% 4 1 0   50% 2 1   67%
src / mafw / tools / parallel.py (no function)   100% 5 0 0   100% 0 0   100%
src / mafw / tools / regexp.py extract_protocol   100% 5 0 0   100% 2 0   100%
src / mafw / tools / regexp.py normalize_sql_spaces   100% 1 0 0   100% 0 0   100%
src / mafw / tools / regexp.py parse_processor_name   100% 12 0 0   100% 8 0   100%
src / mafw / tools / regexp.py (no function)   100% 7 0 0   100% 0 0   100%
src / mafw / tools / toml_tools.py PathItem.unwrap   100% 1 0 0   100% 0 0   100%
src / mafw / tools / toml_tools.py path_encoder   100% 5 0 0   100% 4 0   100%
src / mafw / tools / toml_tools.py generate_steering_file   100% 8 0 0   100% 2 0   100%
src / mafw / tools / toml_tools.py _new_toml_doc   100% 13 0 0   100% 0 0   100%
src / mafw / tools / toml_tools.py _add_db_configuration   100% 30 0 0   100% 22 0   100%
src / mafw / tools / toml_tools.py _add_processor_parameters_to_toml_doc   100% 42 0 0   96% 28 1   99%
src / mafw / tools / toml_tools.py processor_validator   100% 1 0 0   100% 0 0   100%
src / mafw / tools / toml_tools.py dump_processor_parameters_to_toml   100% 3 0 0   100% 0 0   100%
src / mafw / tools / toml_tools.py _add_user_interface_configuration   100% 8 0 0   100% 2 0   100%
src / mafw / tools / toml_tools.py load_steering_file_legacy   75% 4 1 0   50% 2 1   67%
src / mafw / tools / toml_tools.py load_steering_file   100% 6 0 0   100% 4 0   100%
src / mafw / tools / toml_tools.py (no function)   100% 29 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceMeta.__instancecheck__   100% 1 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceMeta.__subclasscheck__   100% 5 0 0   100% 2 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase.create_task   100% 1 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase.update_task   100% 1 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase.__enter__   100% 1 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase.__exit__   100% 1 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase.display_progress_message   100% 1 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase._is_time_to_display_lopping_message   100% 10 0 0   100% 6 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase.change_of_processor_status   100% 1 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py UserInterfaceBase.enter_interactive_mode   100% 3 0 0   100% 0 0   100%
src / mafw / ui / abstract_user_interface.py (no function)   100% 25 0 0   100% 0 0   100%
src / mafw / ui / console_user_interface.py ConsoleInterface.create_task   100% 1 0 0   100% 0 0   100%
src / mafw / ui / console_user_interface.py ConsoleInterface.update_task   100% 1 0 0   100% 0 0   100%
src / mafw / ui / console_user_interface.py ConsoleInterface.__enter__   100% 1 0 0   100% 0 0   100%
src / mafw / ui / console_user_interface.py ConsoleInterface.__exit__   100% 1 0 0   100% 0 0   100%
src / mafw / ui / console_user_interface.py ConsoleInterface.display_progress_message   100% 7 0 0   100% 4 0   100%
src / mafw / ui / console_user_interface.py ConsoleInterface.change_of_processor_status   100% 2 0 0   100% 0 0   100%
src / mafw / ui / console_user_interface.py ConsoleInterface.prompt_question   100% 1 0 0   100% 0 0   100%
src / mafw / ui / console_user_interface.py (no function)   100% 16 0 0   100% 0 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.__init__   100% 4 0 0   100% 2 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.__enter__   100% 2 0 0   100% 0 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.__exit__   100% 1 0 0   100% 0 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.create_task   100% 4 0 0   100% 2 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.update_task   100% 8 0 0   100% 4 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.display_progress_message   100% 7 0 0   100% 4 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.change_of_processor_status   100% 2 0 0   100% 0 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.enter_interactive_mode   100% 9 0 0   100% 0 0   100%
src / mafw / ui / rich_user_interface.py RichInterface.prompt_question   100% 9 0 0   100% 0 0   100%
src / mafw / ui / rich_user_interface.py (no function)   100% 21 0 0   100% 0 0   100%
Total     99% 5352 45 95   97% 1724 48   99%

No items found using the specified filter.

23 empty functions skipped.