data_collector¶
concurrent¶
- class LimitedThreadPoolExecutor(max_workers=None, thread_name_prefix='', initializer=None, initargs=())¶
Bases:
ThreadPoolExecutorSimilar to ThreadPoolExecutor, but blocks on submit when all workers are busy
- submit(function, *args, **kwargs)¶
data_collector¶
- class DataCollector(model_config: dict)¶
Bases:
SimpleModel- classmethod add_storage_strategy(name, strategy: Type[StorageStrategy])¶
- aggregate: bool = False¶
- close(**_)¶
- state: TrackedState | None = None¶
- strategies: Dict[str, Type[StorageStrategy]] = {'file': <class 'movici_simulation_core.models.data_collector.data_collector.FileStorageStrategy'>}¶
- strategy: StorageStrategy¶
- submit(fn, *args, **kwargs)¶
- update(moment: Moment, data: dict | None, message: UpdateMessage) Tuple[dict | None, Moment | None]¶
- class FileStorageStrategy(directory: Path, filename_template='t{timestamp}_{iteration}_{name}')¶
Bases:
StorageStrategy- classmethod choose(model_config: dict, settings: Settings, **_) StorageStrategy¶
- initialize()¶
- reset_iterations(model: DataCollector)¶
- store(info: UpdateInfo)¶
Module contents¶
- class DataCollector(model_config: dict)¶
Bases:
SimpleModel- classmethod add_storage_strategy(name, strategy: Type[StorageStrategy])¶
- aggregate: bool = False¶
- close(**_)¶
- state: TrackedState | None = None¶
- strategies: Dict[str, Type[StorageStrategy]] = {'file': <class 'movici_simulation_core.models.data_collector.data_collector.FileStorageStrategy'>}¶
- strategy: StorageStrategy¶
- submit(fn, *args, **kwargs)¶
- update(moment: Moment, data: dict | None, message: UpdateMessage) Tuple[dict | None, Moment | None]¶
- class StorageStrategy¶
Bases:
object- classmethod choose(model_config: dict, settings: Settings, logger: Logger) StorageStrategy¶
- close()¶
- initialize()¶
- reset_iterations(model: DataCollector)¶
- store(info: UpdateInfo)¶