2.2 KiB
base
aiomql.core.base — Foundational base classes for data structure handling.
Overview
Provides the Base and _Base classes that all data-model and trading classes inherit from.
Base offers attribute management, dictionary conversion, and filtering.
_Base extends it with automatic access to the MetaTrader terminal and configuration.
Classes
BaseMeta
Metaclass that lazily initialises
configandmt5on first access.
_setup()
Attaches Config() and MetaTrader() (or sync variant) to the class if not already present.
Base
Common base class for all data structures in aiomql.
| Attribute | Type | Description |
|---|---|---|
exclude |
set[str] |
Attributes excluded from dict conversion (default: mt5, config, …) |
include |
set[str] |
Attributes always included (overrides exclude) |
__init__(**kwargs)
Sets keyword arguments as instance attributes via set_attributes.
set_attributes(**kwargs)
Sets only attributes that are annotated on the class body. Logs a debug message for unknown or non-convertible attributes.
annotations (property)
Merged __annotations__ from all ancestor classes.
class_vars (property)
Annotated class-level attributes from the full MRO.
dict (property)
All instance and class attributes as a dictionary, excluding those in exclude.
get_dict(exclude=None, include=None)
Returns a filtered dictionary. If both include and exclude are provided, include takes precedence.
__repr__()
Shows up to 3 key attributes; appends ... with the last attribute if there are more.
_Base
Extended base class with
MetaTraderandConfigintegration.
Inherits from Base with BaseMeta as its metaclass.
| Attribute | Type | Default | Description |
|---|---|---|---|
mt5 |
MetaTrader | MetaTraderSync |
— | The MetaTrader interface (auto-initialised) |
config |
Config |
— | The global configuration instance |
mode |
Literal["async", "sync"] |
"async" |
Determines which MetaTrader variant is used |
__getstate__()
Removes the mt5 attribute before pickling to avoid serialization issues.