Repository navigation
v2025.1.0
What's Changed
Added
- Fluent SQL API for chainable operations (select, insert, update, delete) on database tables
to_dataframe()alias forto_pandas()and table-level shortcut method for pandas integration- Convenience methods
open()andcreate()for cleaner database access syntax - Methods for listing available tables and their fields for discovery
- Scenario and alternative management
by_muid()method toBaseQuery(inherited bySelectQuery,UpdateQuery,DeleteQuery) for convenient filtering by MUID(s).to_sql()utility function inmikeplus.utils(and exposed asmikeplus.to_sql()) for converting Python values to their SQL string representations.
Changed
- Engine1D now uses EngineTool for more efficient simulation execution
- Redesigned database access architecture with new Database, TableCollection, and Table classes
- Automated table class generation with Jinja2 templates for maintainability
- Improved type handling for Python/C# interoperability
- Enhanced test isolation with database fixtures
Deprecated
- Package 'mikeplus.engines' and all engine classes (removal planned in 2026.0.0)
- 'DataTableAccess' class, replaced with new 'Database', 'TableCollection', and 'Table' classes
- Use 'SimulationRunner' or 'Database.run()' methods instead of deprecated engine classes
Developer
- Static type checking with mypy for improved code reliability
- Stricter linting rules for better code quality
- Improved error handling for database operations
Full Changelog: v2025.0.2...v2025.1.0