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¶
- ...
Changed¶
- ...
Deprecated¶
- ...
Removed¶
- ...
Fixed¶
- ...
Security¶
- ...
[0.1.0] - 2026-04-20¶
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. - Add "binding" to
SystemABCobjects to convert fully generic signature to a simulation needs-specific signature. - Introduced the axis concept as a way to represent aligned shapes across parameters, systems, etc. Added two kinds of axes, categorical and continuous, to represent different kinds of dimensions. Also added an
axestop level key to theConfigurationModelso users can provide these axes via configuration, but setting this currently results in a warning since it has no effect. See #147. - Refactor
SystemABCtype approach to binding (and fix knock on mypy typing issues, circular dependency issues). Briefly, aSystemABCimplementation now only needs to provide_bind_implwhich fixes (or not) parameters in the system. This update adds another internal implementation (AdapterSystem) for directly creating a system from locallydefd function (vsWrapperSystemwhich reads from a file). - Added infrastructure for submitting package to PyPI. See #123, #142, #195, #196.
- Modules can now declare their name via the
modulekeyword argument to class declaration to simplify naming for developers. See #88. - Introduce
ScenarioABCtype to capture parameter scenarios.
Changed¶
- The simulate command now resolves initial conditions from the system's
initial_stateoption (a symbolic state→parameter mapping) when available, falling back to the legacys0/i0/r0convention. See #225. - Updated the documentation quick start integration test to use the same configuration file as the documentation homepage to ensure the two stay in sync. See #185.