basetool

Base Classes

Author: Jacek ‘Szumak’ Kotlarski –<szumak@virthost.pl> Created: 2024-01-15

Purpose: Deliver lightweight base classes with runtime metadata helpers.

Provides mixins that expose convenience properties for class and method names, supporting logging contexts and debugging aids in derived classes.

class jsktoolbox.basetool.classes.BClasses[source]

Bases: NoDynamicAttributes

Base mixin exposing class and frame metadata helpers.

__setattr__(name, value)

Prevent dynamic attribute assignment on instances.

### Raises: * AttributeError: Attribute not previously declared.

Parameters:
Return type:

None

Data Structures

Author: Jacek ‘Szumak’ Kotlarski –<szumak@virthost.pl> Created: 2024-01-15

Purpose: Provide a typed container mixin with helper accessors.

BData ensures subclasses can manage internal dictionaries with optional type constraints, reliable copying, and lifecycle utilities for managed state.

class jsktoolbox.basetool.data.BData[source]

Bases: BClasses

Base mixin that adds typed dictionary semantics.

__setattr__(name, value)

Prevent dynamic attribute assignment on instances.

### Raises: * AttributeError: Attribute not previously declared.

Parameters:
Return type:

None

Logging

Author: Jacek ‘Szumak’ Kotlarski –<szumak@virthost.pl> Created: 2024-01-15

Purpose: Provide foundational mixins for the logging subsystem.

Defines base mixins for logger queues, engine metadata, and formatting behaviour leveraged by higher-level logging utilities.

class jsktoolbox.basetool.logs.BLoggerQueue[source]

Bases: BData

Base mixin that exposes a lazily-created logging queue.

property logs_queue: LoggerQueue | None

Return the configured logging queue instance.

### Returns: [Optional[LoggerQueue]] - Logger queue or None when not set.

__setattr__(name, value)

Prevent dynamic attribute assignment on instances.

### Raises: * AttributeError: Attribute not previously declared.

Parameters:
Return type:

None

class jsktoolbox.basetool.logs.BLoggerEngine[source]

Bases: BData

Base mixin for logger engine metadata.

property name: str | None

Return the configured application name.

### Returns: [Optional[str]] - Application name value or None.

__setattr__(name, value)

Prevent dynamic attribute assignment on instances.

### Raises: * AttributeError: Attribute not previously declared.

Parameters:
Return type:

None

class jsktoolbox.basetool.logs.BLogFormatter[source]

Bases: NoDynamicAttributes

Base mixin for log formatters leveraging simple templates.

__setattr__(name, value)

Prevent dynamic attribute assignment on instances.

### Raises: * AttributeError: Attribute not previously declared.

Parameters:
Return type:

None

format(message, name=None)[source]

Render a log message based on the configured forms list.

### Arguments: * message: str - Log string to include in the output. * name: Optional[str] - Optional application name.

### Returns: [str] - Formatted log payload.

Parameters:
  • message (str)

  • name (str | None)

Return type:

str

Threading

Author: Jacek ‘Szumak’ Kotlarski –<szumak@virthost.pl> Created: 2024-01-15

Purpose: Offer foundational helpers for thread-based utilities.

Provides attribute containers mirroring threading.Thread internals so custom thread implementations can share consistent state management behaviour.

class jsktoolbox.basetool.threads.ThBaseObject[source]

Bases: BData

Base mixin mirroring attributes of threading.Thread.

__setattr__(name, value)

Prevent dynamic attribute assignment on instances.

### Raises: * AttributeError: Attribute not previously declared.

Parameters:
Return type:

None

property sleep_period: float

Return configured sleep period in seconds.

### Returns: [float] - Sleep interval value.

property started: bool

Return whether the thread has started.

### Returns: [bool] - True when the thread start event is set.

stop()[source]

Signal the stop event to request thread termination.

Return type:

None

property stopped: bool

Return whether the stop event flag is set.

### Returns: [bool] - True when stop event exists and is set, otherwise False.