Added
-
taxonomyfield onLibrarySchema- optional free-form string field on
the library YAML schema; no validation is attached.taxonomyis also
carried through to the resolvedLibraryclass. -
versionfield on library YAML -LibrarySchema(standard, not
hybrid-specific) gains an optional top-levelversionstring, for
tracking the version of a library. -
Hybrid studies (
gems_craft_hybrid) - new package for reading and
writing GEMS studies extended with fields used to interoperate with
Antares Simulator. Hybrid studies cannot be simulated by GemsPy.HybridLibrarySchema/HybridPortTypeSchemaaddarea-connectionand
thermal-capacity-connectionper port-type.HybridSystemSchemaaddsarea-connectionsand
thermal-capacity-connections.AreaConnectionsSchemamoved from the
standardSystemSchemaintoHybridSystemSchema— it was parsed but
never consumed by the standard resolve/solve pipeline.gems_craft.model.parsing.parse_yaml_libraryand
gems_craft.study.parsing.load_input_system/
parse_yaml_systemnow accept an optionalschemaparameter to
validate against a subclass (e.g. the hybrid schemas above); new
write_yaml_library/write_yaml_systemfunctions support the
corresponding round-trip.
Changed
- Package split - the monolithic
gemspackage is split intogems_craft
andgems_runner.gems_craftholds the solver-independent domain model and I/O:expression
(AST, parsing, linearity/indexing analysis),model,optim_config,
study(System,Component,Study, data, YAML parsing/resolution),
utils,libs. Its dependencies arenumpy,pandas,PyYAML,
pydantic,anytree,antlr4-python3-runtime- no solver required.gems_runnerholds solve-time execution:expression.evaluate,
session,simulation,study.runner,main(thegemspyCLI). It
depends ongems_craftpluslinopy,xarray,highspy.- All
gems.*imports must be updated togems_craft.*orgems_runner.*
accordingly; see the module lists above. Thegemspyconsole script now
points atgems_runner.main.main:main_cli.