decisionengine.framework.modules package

Subpackages

Submodules

decisionengine.framework.modules.EmptySource module

This dummy source takes the name of a source datablock from config file as parameter “data_product_name” and produces an empty pandas DataFrame as a datablock with that name

class decisionengine.framework.modules.EmptySource.EmptySource(config)[source]

Bases: Source

_supported_config = {'data_product_name': (<class 'str'>, '', None)}
acquire()[source]

decisionengine.framework.modules.Module module

class decisionengine.framework.modules.Module.Module(set_of_parameters)[source]

Bases: object

A skeleton of a module

get_data_block()[source]
get_parameters()[source]
set_data_block(data_block)[source]
decisionengine.framework.modules.Module.consumes(**kwargs)[source]
decisionengine.framework.modules.Module.produces(**kwargs)[source]
decisionengine.framework.modules.Module.verify_products(producer, data)[source]

decisionengine.framework.modules.Publisher module

class decisionengine.framework.modules.Publisher.Parameter(name, type=None, default=None, comment=None)[source]

Bases: object

class decisionengine.framework.modules.Publisher.Publisher(set_of_parameters)[source]

Bases: Module

_consumes = {}
publish(data_block=None)[source]
shutdown()[source]
decisionengine.framework.modules.Publisher.consumes(**kwargs)[source]
decisionengine.framework.modules.Publisher.describe(cls, program_options=<class 'decisionengine.framework.modules.describe.ModuleProgramOptions'>)
decisionengine.framework.modules.Publisher.supports_config(*args)[source]

decisionengine.framework.modules.QueueLogger module

class decisionengine.framework.modules.QueueLogger.QueueLogger[source]

Bases: object

configure_listener(handlers)[source]
format_logger(logger)[source]
initialize_q()[source]
setup_queue_logging(logger, handlers)[source]
start()[source]
stop()[source]

decisionengine.framework.modules.Source module

class decisionengine.framework.modules.Source.Parameter(name, type=None, default=None, comment=None)[source]

Bases: object

class decisionengine.framework.modules.Source.Source(set_of_parameters)[source]

Bases: Module

_produces = {}
acquire()[source]
decisionengine.framework.modules.Source.describe(cls, sample_config=None)[source]
decisionengine.framework.modules.Source.produces(**kwargs)[source]
decisionengine.framework.modules.Source.supports_config(*args)[source]

decisionengine.framework.modules.Transform module

class decisionengine.framework.modules.Transform.Parameter(name, type=None, default=None, comment=None)[source]

Bases: object

class decisionengine.framework.modules.Transform.Transform(set_of_parameters)[source]

Bases: Module

_consumes = {}
_produces = {}
transform()[source]
decisionengine.framework.modules.Transform.consumes(**kwargs)[source]
decisionengine.framework.modules.Transform.describe(cls, program_options=<class 'decisionengine.framework.modules.describe.ModuleProgramOptions'>)
decisionengine.framework.modules.Transform.produces(**kwargs)[source]
decisionengine.framework.modules.Transform.supports_config(*args)[source]

decisionengine.framework.modules.de_logger module

Logger to use in all modules

decisionengine.framework.modules.de_logger.configure_logging(log_level='DEBUG', file_rotate_by='size', rotation_time_unit='D', rotation_interval=1, max_backup_count=6, max_file_size=200000000, log_file_name='/tmp/decision_engine_logs/decisionengine.log', start_q_logger='True')[source]
Parameters:
  • log_level (str) – log level

  • file_rotate_by – files rotation by size or by time

  • rotation_time_unit (str) – unit of time for file rotation

  • rotation_interval (int) – time in rotation_time_units between file rotations

  • log_file_name (str) – log file name

  • max_file_size (int) – maximal size of log file. If reached save and start new log.

  • max_backup_count (int) – start rotation after this number is reached

Return type:

None

decisionengine.framework.modules.de_logger.get_logger()[source]

get default logger - “decisionengine” :rtype: logging.Logger - rotating file logger

decisionengine.framework.modules.de_logger.get_queue_logger()[source]

get QueueLogger which owns the logging queues and listeners :rtype: decisionengine.framework.modules.QueueLogger`

decisionengine.framework.modules.de_logger.stop_queue_logger()[source]

decisionengine.framework.modules.describe module

class decisionengine.framework.modules.describe.ModuleProgramOptions(module_spec, cls)[source]

Bases: object

process_args()[source]
class decisionengine.framework.modules.describe.Parameter(name, type=None, default=None, comment=None)[source]

Bases: object

decisionengine.framework.modules.describe._par_default(par_type, default_value)[source]
decisionengine.framework.modules.describe._par_type(par_type, default_value)[source]
decisionengine.framework.modules.describe.main_wrapper(cls, program_options=<class 'decisionengine.framework.modules.describe.ModuleProgramOptions'>)[source]
decisionengine.framework.modules.describe.supports_config(*args)[source]

decisionengine.framework.modules.logging_configDict module

Global Logger config dictionary used by all loggers (in their own subkeys)

decisionengine.framework.modules.print_description module

decisionengine.framework.modules.print_description._print_comment(comment)[source]
decisionengine.framework.modules.print_description._print_type(type_or_value)[source]
decisionengine.framework.modules.print_description._print_value(v)[source]
decisionengine.framework.modules.print_description._spec_from_file_name(filename)[source]
decisionengine.framework.modules.print_description.print_consumes(cls)[source]
decisionengine.framework.modules.print_description.print_produces(cls)[source]
decisionengine.framework.modules.print_description.print_supported_config(module_spec, cls)[source]
decisionengine.framework.modules.print_description.spec_if_main(cls)[source]

decisionengine.framework.modules.translate_product_name module

decisionengine.framework.modules.translate_product_name.translate(spec)[source]

Break apart the string ‘old -> new’ into a tuple (‘old’, ‘new’)

decisionengine.framework.modules.translate_product_name.translate_all(specs)[source]

Module contents