diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index 2a2931c7..402ea21b 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -56,7 +56,7 @@ jobs: submodules: true - name: Build wheels - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.17.0 with: package-dir: ./swmm-toolkit env: @@ -64,6 +64,9 @@ jobs: CIBW_BEFORE_TEST: pip install -r {package}/test-requirements.txt # mac needs ninja to build CIBW_BEFORE_BUILD_MACOS: brew install ninja + # remove system swig (cmake bug doesn't respect python venv) + # https://github.com/swig/swig/issues/2481#issuecomment-1949573105 + CIBW_BEFORE_BUILD_LINUX: rm -f $(which swig) && rm -f $(which swig4.0) # configure cibuildwheel to build native archs ('auto'), and some emulated ones CIBW_ARCHS_LINUX: x86_64 CIBW_ARCHS_WINDOWS: AMD64 @@ -102,10 +105,13 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.17.0 with: package-dir: ./swmm-toolkit env: + # remove system swig (cmake bug doesn't respect python venv) + # https://github.com/swig/swig/issues/2481#issuecomment-1949573105 + CIBW_BEFORE_BUILD_LINUX: rm -f $(which swig) && rm -f $(which swig4.0) # configure cibuildwheel to build native archs ('auto'), and some emulated ones CIBW_ARCHS_LINUX: aarch64 CIBW_ARCHS_MACOS: arm64 diff --git a/swmm-toolkit/AUTHORS b/swmm-toolkit/AUTHORS index 334d0a05..a908903a 100644 --- a/swmm-toolkit/AUTHORS +++ b/swmm-toolkit/AUTHORS @@ -7,4 +7,5 @@ Caleb Buahin Laurent Courty Constantine Karos Abhiram Mullapudi -Brooke Mason \ No newline at end of file +Brooke Mason +Sara C. Troutman \ No newline at end of file diff --git a/swmm-toolkit/CMakeLists.txt b/swmm-toolkit/CMakeLists.txt index 08301bce..b899ca44 100644 --- a/swmm-toolkit/CMakeLists.txt +++ b/swmm-toolkit/CMakeLists.txt @@ -15,7 +15,7 @@ cmake_minimum_required (VERSION 3.17) project(swmm-toolkit VERSION - 0.15.3 + 0.15.4 ) diff --git a/swmm-toolkit/setup.py b/swmm-toolkit/setup.py index 5ea2f994..275e6915 100644 --- a/swmm-toolkit/setup.py +++ b/swmm-toolkit/setup.py @@ -112,7 +112,7 @@ def exclude_files(cmake_manifest): setup( name = "swmm-toolkit", - version = "0.15.3", + version = "0.15.4", packages = ["swmm_toolkit", "swmm.toolkit"], package_dir = package_dir, diff --git a/swmm-toolkit/src/swmm/toolkit/__init__.py b/swmm-toolkit/src/swmm/toolkit/__init__.py index d759edd4..6440085c 100644 --- a/swmm-toolkit/src/swmm/toolkit/__init__.py +++ b/swmm-toolkit/src/swmm/toolkit/__init__.py @@ -19,7 +19,7 @@ __credits__ = "Colleen Barr, Sam Hatchett" __license__ = "CC0 1.0 Universal" -__version__ = "0.15.2" +__version__ = "0.15.4" __date__ = "June 7, 2021" __maintainer__ = "Michael Tryby" diff --git a/swmm-toolkit/src/swmm/toolkit/output_metadata.py b/swmm-toolkit/src/swmm/toolkit/output_metadata.py index 93731f46..89b6210b 100644 --- a/swmm-toolkit/src/swmm/toolkit/output_metadata.py +++ b/swmm-toolkit/src/swmm/toolkit/output_metadata.py @@ -88,9 +88,10 @@ def _build_pollut_metadata(self, output_handle): # Create dictionary keys for i in range(1, n): symbolic_name = 'POLLUT_CONC_' + str(i) - extend_enum(shared_enum.SubcatchAttribute, symbolic_name, 8 + i) - extend_enum(shared_enum.NodeAttribute, symbolic_name, 6 + i) - extend_enum(shared_enum.LinkAttribute, symbolic_name, 5 + i) + if symbolic_name not in shared_enum.SubcatchAttribute._member_names_: + extend_enum(shared_enum.SubcatchAttribute, symbolic_name, 8 + i) + extend_enum(shared_enum.NodeAttribute, symbolic_name, 6 + i) + extend_enum(shared_enum.LinkAttribute, symbolic_name, 5 + i) # Update metadata dictionary with pollutant metadata for i, attr in enumerate(islice(shared_enum.SubcatchAttribute, 8, None)):