Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Added¶
- Initialized
flepimop2. - Added documentation using
mkdocsthat includes API/CLI reference as well as reusingCHANGELOG.mdandCONTRIBUTING.mdwhere appropriate. - Added basic configuration models to parse and serialize configuration files. These are contained in the
flepimop2.configurationmodule. - Added core simulation infrastructure including engines (machinery to evolve a model) and systems (descriptions of model changes). These are contained in the
flepimop2.engine/system/backendmodules. - Added the ability to execute auxiliary commands in the context of
flepimop2with theflepimop2 processCLI backed by theflepimop.processmodule. - Converted
flepimop2to a PEP420 implicit namespace package so external providers can inject themselves into theflepimop2namespace. This allows users to reference modules by name only and thenflepimop2will resolve the kind of module based on its location in a configuration file. See #45. - Added
flepimop2.abcsas a convenient re-export of ABCs/protocols for developer use. See #85. - Made parameters modular, similar to backends/engines/processes/systems, to allow external packages to provide their own parameter types. See #75.
- Restricted the name of user defined backends/engines/parameters/processes/systems to comply with the custom
IdentifierStringtype. - Added a new
flepimop2 skeletonCLI command for scaffolding a project repository. See #84. - Added
flepimop.testingwith functionality for integration testing, both forflepimop2itself and for external provider packages. See #107. - Added a parent class,
ModuleABC, for all customizable modules that sets a requiredmoduleattribute and provides infrastructure for non-standardized properties information. Also extended said infrastructure to allow for standardized property information forSystemABC. See #113, #126, #129.