Skip to content

v0.2.2

Choose a tag to compare

@mousebrains mousebrains released this 23 Feb 19:35
· 49 commits to main since this release

What's Changed

Added

  • Lazy incremental loading for DBD and MultiDBD — construction only scans file metadata; each get() loads only the requested columns and caches them for future calls
  • preload parameter for DBD and MultiDBD — batch additional sensors into the first get() call
  • Complete dbdreader2 subpackage with DBDPatternSelect, DBDCache, DBDList, error codes, and utility functions
  • 88% test coverage for dbdreader2 (134 tests)
  • Performance benchmarks in docs/performance.md

Changed

  • get() always returns float64 arrays — integer fill values (-127, -32768) are filtered or replaced with NaN, matching dbdreader's behavior
  • Filtered multi-file peak RSS drops from ~1,132 MB to ~91 MB thanks to lazy loading
  • dbdreader2 DBD objects created by MultiDBD are now lightweight (metadata-only)

Fixed

  • datetime.UTC → datetime.timezone.utc for Python 3.10 compatibility
  • mypy type errors: tuple/list assignments, redundant annotations, variable shadowing
  • ruff formatting consistency across all source files

Full Changelog: v0.2.1...v0.2.2