Skip to content

v2025.1.0

Choose a tag to compare

@ryan-kipawa ryan-kipawa released this 09 Jun 00:34
· 240 commits to main since this release
ac26ea4

What's Changed

Added

  • Fluent SQL API for chainable operations (select, insert, update, delete) on database tables
  • to_dataframe() alias for to_pandas() and table-level shortcut method for pandas integration
  • Convenience methods open() and create() for cleaner database access syntax
  • Methods for listing available tables and their fields for discovery
  • Scenario and alternative management
  • by_muid() method to BaseQuery (inherited by SelectQuery, UpdateQuery, DeleteQuery) for convenient filtering by MUID(s).
  • to_sql() utility function in mikeplus.utils (and exposed as mikeplus.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