Repository: pyswmm/swmm-python (language: python)

Issue:
Wheel Support for Windows Py 3.11/3.12
I think we need to update GH actions.  
Adding PY3.12 Support to build
Closes #127 


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml
index cb657652..2a2931c7 100644
--- a/.github/workflows/build_wheel.yml
+++ b/.github/workflows/build_wheel.yml
@@ -47,7 +47,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [ubuntu-latest, windows-2022, macos-12]
-        pyver: [cp38, cp39, cp310, cp311]
+        pyver: [cp38, cp39, cp310, cp311, cp312]
 
     steps:
       - name: Checkout repo
@@ -56,7 +56,7 @@ jobs:
             submodules: true
 
       - name: Build wheels
-        uses: pypa/cibuildwheel@v2.15.0
+        uses: pypa/cibuildwheel@v2.16.2
         with:
           package-dir: ./swmm-toolkit
         env:
@@ -64,14 +64,14 @@ jobs:
           CIBW_BEFORE_TEST: pip install -r {package}/test-requirements.txt
           # mac needs ninja to build
           CIBW_BEFORE_BUILD_MACOS: brew install ninja
-          # configure cibuildwheel to build native archs ('auto'), and some emulated ones      
+          # configure cibuildwheel to build native archs ('auto'), and some emulated ones
           CIBW_ARCHS_LINUX: x86_64
           CIBW_ARCHS_WINDOWS: AMD64
           CIBW_ARCHS_MACOS: x86_64
           # only build current supported python: https://devguide.python.org/versions/
           # don't build pypy or musllinux to save build time. TODO: find a good way to support those archs
           CIBW_BUILD: ${{matrix.pyver}}-*
-          CIBW_SKIP: cp36-* cp37-* cp312-* pp* *-musllinux*
+          CIBW_SKIP: cp36-* cp37-* pp* *-musllinux*
           # Will avoid testing on emulated architectures
           # Skip trying to test arm64 builds on Intel Macs
           CIBW_TEST_SKIP: "*-*linux_{aarch64,ppc64le,s390x} *-macosx_arm64 *-macosx_universal2:arm64"
@@ -87,7 +87,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [ubuntu-latest,macos-12]
-        pyver: [cp38, cp39, cp310, cp311]
+        pyver: [cp38, cp39, cp310, cp311, cp312]
 
     steps:
       - name: Checkout repo
@@ -102,19 +102,19 @@ jobs:
           platforms: all
 
       - name: Build wheels
-        uses: pypa/cibuildwheel@v2.15.0
+        uses: pypa/cibuildwheel@v2.16.2
         with:
           package-dir: ./swmm-toolkit
         env:
-          # configure cibuildwheel to build native archs ('auto'), and some emulated ones      
+          # configure cibuildwheel to build native archs ('auto'), and some emulated ones
           CIBW_ARCHS_LINUX: aarch64
-          CIBW_ARCHS_MACOS: arm64  
+          CIBW_ARCHS_MACOS: arm64
           # only build current supported python: https://devguide.python.org/versions/
           # don't build pypy or musllinux to save build time. TODO: find a good way to support those archs
           CIBW_BUILD: ${{matrix.pyver}}-*
-          CIBW_SKIP: cp36-* cp37-* cp312-* pp* *-musllinux*
+          CIBW_SKIP: cp36-* cp37-* pp* *-musllinux*
           CIBW_BUILD_VERBOSITY: 1
 
       - uses: actions/upload-artifact@v3
         with:
-          path: ./wheelhouse/*.whl
\ No newline at end of file
+          path: ./wheelhouse/*.whl
diff --git a/swmm-toolkit/CMakeLists.txt b/swmm-toolkit/CMakeLists.txt
index 2f78fb90..08301bce 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.2
+        0.15.3
 )
 
 
diff --git a/swmm-toolkit/setup.py b/swmm-toolkit/setup.py
index f9d68c29..5ea2f994 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.2",
+    version = "0.15.3",
 
     packages = ["swmm_toolkit", "swmm.toolkit"],
     package_dir = package_dir,
@@ -124,10 +124,10 @@ def exclude_files(cmake_manifest):
     cmake_args = cmake_args,
     cmake_process_manifest_hook = exclude_files,
 
-    description='OWA SWMM Python Toolkit',
+    description='PySWMM SWMM Python Toolkit',
     long_description=long_description,
     long_description_content_type='text/markdown',
-    url='https://github.com/OpenWaterAnalytics/swmm-python',
+    url='https://github.com/pyswmm/swmm-python',
 
     author='See AUTHORS',
     maintainer_email='bemcdonnell@gmail.com',
@@ -145,7 +145,8 @@ def exclude_files(cmake_manifest):
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
+        "Programming Language :: Python :: 3.12",
         "Programming Language :: C",
         "Development Status :: 5 - Production/Stable",
     ]
-)
\ No newline at end of file
+)


Test patch:
diff --git a/swmm-toolkit/test-requirements.txt b/swmm-toolkit/test-requirements.txt
index cbb4f032..0cc9aaba 100644
--- a/swmm-toolkit/test-requirements.txt
+++ b/swmm-toolkit/test-requirements.txt
@@ -3,5 +3,6 @@
 
 pytest == 7.1.1
 numpy  == 1.21.6; python_version == "3.7"
-numpy  == 1.24.4; python_version >= "3.8"
+numpy  == 1.24.4; python_version < "3.12"
+numpy  == 1.26.2; python_version >= "3.12"
 aenum  == 3.1.11