Skip to content

release v0.17.0#164

Merged
karosc merged 7 commits intomasterfrom
dev
Feb 26, 2026
Merged

release v0.17.0#164
karosc merged 7 commits intomasterfrom
dev

Conversation

@karosc
Copy link
Member

@karosc karosc commented Feb 26, 2026

This pull request introduces new date and time handling features to the SWMM Python Toolkit, adds comprehensive tests for these features, and improves the handling of output data arrays. The changes enhance the toolkit's ability to work with simulation timestamps and date series, and ensure the accuracy and consistency of time-aligned data between solver and output modules.

New date/time functionality:

  • Added new functions for retrieving and decoding simulation timestamps: get_date_time, get_date_series, and decode_date are now available in the Python API, allowing users to access and interpret simulation times and date series directly. ([[1]](https://github.com/pyswmm/swmm-python/pull/164/files#diff-a691acca3324b074cae74b3a5df81b4de08e5d3a2f9c3b299d368bbaa7958e7fR23-R26), [[2]](https://github.com/pyswmm/swmm-python/pull/164/files#diff-92dfce8fa8e4e10201cfd5fc3d666df9f130b17ae8c5e15180d3422be7cddae1L64-R77))
  • Exposed SWIG typemaps for memory management of double arrays, supporting the new date/time functions and improving array handling in the Python interface. ([swmm-toolkit/src/swmm/toolkit/output.iR94-R110](https://github.com/pyswmm/swmm-python/pull/164/files#diff-92dfce8fa8e4e10201cfd5fc3d666df9f130b17ae8c5e15180d3422be7cddae1R94-R110))

Testing enhancements:

  • Added new tests in test_output.py to verify the correctness of date/time functions, including checks for timestamp spacing, monotonicity, and decoded date components. ([swmm-toolkit/tests/test_output.pyR88-R146](https://github.com/pyswmm/swmm-python/pull/164/files#diff-eb18eab07b5171bc7ae0aeabf274a073a7745f509c5633fa259573e40b13f436R88-R146))
  • Introduced a new test module test_series.py that compares time-aligned series from the solver and output modules, ensuring their values and timestamps match within a specified decimal digit tolerance. ([swmm-toolkit/tests/test_series.pyR1-R160](https://github.com/pyswmm/swmm-python/pull/164/files#diff-bfdeaa8681e908a2c4109b5743e4a703e7de6df65f2719581384fcabe6d29fe8R1-R160))

Other improvements:

  • Updated the SWMM submodule to the latest commit, ensuring compatibility with the new features. ([swmm-toolkit/swmm-solverL1-R1](https://github.com/pyswmm/swmm-python/pull/164/files#diff-ce7799fb6c1a9cc3bc4c34f98191307182b02e8260fbd4bb468eaab187e28051L1-R1))
  • Incremented the package version to 0.17.0 to reflect the addition of new features. ([swmm-toolkit/pyproject.tomlL7-R7](https://github.com/pyswmm/swmm-python/pull/164/files#diff-44715816921842ae50648cd26c8d83bb0ef7543ba7dcddd3cb1451e48d5e0f44L7-R7))
  • Minor typo fix in a comment for memory management. ([swmm-toolkit/src/swmm/toolkit/output.iL64-R77](https://github.com/pyswmm/swmm-python/pull/164/files#diff-92dfce8fa8e4e10201cfd5fc3d666df9f130b17ae8c5e15180d3422be7cddae1L64-R77))

These changes collectively improve the toolkit's usability for time-based analyses and strengthen the reliability of its Python bindings.

@karosc karosc requested a review from bemcdonnell February 26, 2026 16:30
@karosc karosc merged commit 57a1faa into master Feb 26, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants