From 1084cef0e38e48e30d0f2279cb69e541d053e462 Mon Sep 17 00:00:00 2001 From: Griger5 Date: Fri, 5 Dec 2025 20:15:20 +0100 Subject: [PATCH 1/9] download newest cibuildwheel, instead of a specific version (which was currently one major release behind) --- .github/workflows/buildwheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index f2acdde9..c094ac44 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -63,7 +63,7 @@ jobs: - uses: actions/setup-python@v5 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.23.2 + run: python -m pip install cibuildwheel - name: Build and test wheels env: From 8de4668a4d7052e1aa4e154d35374ea00a5ad7fe Mon Sep 17 00:00:00 2001 From: Griger5 Date: Fri, 5 Dec 2025 20:19:13 +0100 Subject: [PATCH 2/9] update: build source distributions with cibuildwheel --- .github/workflows/buildwheels.yml | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index c094ac44..0ec848e4 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -183,3 +183,36 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1.12 with: attestations: false + + make_sdist: + name: Make source distribution + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + with: + fetch-depth: 0 + submodules: true + + - name: Build source distribution + run: pipx run build --sdist + + - uses: actions/upload-artifact@v4 + with: + name: cibw-sdist + path: dist/*.tar.gz + + upload_sdist: + needs: [build_wheels, make_sdist] + environment: pypi + permissions: + id-token: write + runs-on: ubuntu-latest + if: github.event_name == 'release' && github.event.action == 'published' + steps: + - uses: actions/download-artifact@v5 + with: + pattern: cibw-* + path: dist + merge-multiple: true + + - uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file From fd3b8e6edde61e274464e6546593c2e7f53b37f8 Mon Sep 17 00:00:00 2001 From: Griger5 Date: Fri, 5 Dec 2025 21:14:49 +0100 Subject: [PATCH 3/9] compile nanobind extension as free threaded, for the no-GIL python --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 50fd4c7b..e0e0d1d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -546,7 +546,7 @@ endif() find_package(nanobind CONFIG REQUIRED) add_subdirectory(gitmodules/nanobind) -nanobind_add_module(_PyPartMC STABLE_ABI ${PyPartMC_sources}) +nanobind_add_module(_PyPartMC FREE_THREADED STABLE_ABI ${PyPartMC_sources}) add_dependencies(_PyPartMC partmclib) set(PYPARTMC_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/include;" From 64ce1c950c011038df117b26b158afb740609b8a Mon Sep 17 00:00:00 2001 From: Griger5 Date: Fri, 5 Dec 2025 22:00:55 +0100 Subject: [PATCH 4/9] remove skipping PyPy builds, as they are now not enabled on default --- .github/workflows/buildwheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index 0ec848e4..09abe659 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -67,8 +67,8 @@ jobs: - name: Build and test wheels env: - # skip 32-bit, PyPy, and musllinux builds - CIBW_SKIP: "*-win32 *-manylinux_i686 pp* *musllinux*" + # skip 32-bit and musllinux builds + CIBW_SKIP: "*-win32 *-manylinux_i686 *musllinux*" CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel CIBW_ENVIRONMENT_WINDOWS: CMAKE_ARGS="-DCMAKE_MAKE_PROGRAM=D:/a/_temp/msys64/mingw64/bin/ninja.exe" CMAKE_PROGRAM_PATH="D:/a/_temp/msys64/usr/bin" CMAKE_GENERATOR="Ninja" TEMP="D:/a/_temp/" CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: delvewheel repair -w {dest_dir} {wheel} From 21fb073672b9def71d47a68eb533db3c8fb8899b Mon Sep 17 00:00:00 2001 From: Griger5 Date: Sat, 6 Dec 2025 17:30:58 +0100 Subject: [PATCH 5/9] skip pypy due to old version on windows, skip free-threaded builds --- .github/workflows/buildwheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index 09abe659..28c0d6af 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -67,8 +67,8 @@ jobs: - name: Build and test wheels env: - # skip 32-bit and musllinux builds - CIBW_SKIP: "*-win32 *-manylinux_i686 *musllinux*" + # skip 32-bit, PyPy, musllinux, and free-threaded builds + CIBW_SKIP: "*-win32 *-manylinux_i686 pp* *musllinux* cp3??t-*" CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel CIBW_ENVIRONMENT_WINDOWS: CMAKE_ARGS="-DCMAKE_MAKE_PROGRAM=D:/a/_temp/msys64/mingw64/bin/ninja.exe" CMAKE_PROGRAM_PATH="D:/a/_temp/msys64/usr/bin" CMAKE_GENERATOR="Ninja" TEMP="D:/a/_temp/" CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: delvewheel repair -w {dest_dir} {wheel} From c13bc28e117b672bf09fa3593428012ebc7eb4e8 Mon Sep 17 00:00:00 2001 From: Griger5 Date: Sat, 6 Dec 2025 18:50:59 +0100 Subject: [PATCH 6/9] set python version in setup-python --- .github/workflows/buildwheels.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index 28c0d6af..6aa909b4 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -61,6 +61,8 @@ jobs: m4 - uses: actions/setup-python@v5 + with: + python-version: "3.11" - name: Install cibuildwheel run: python -m pip install cibuildwheel From 844692cbf77a1a2a4eb8078693a31d397baadf4d Mon Sep 17 00:00:00 2001 From: Griger5 Date: Sat, 6 Dec 2025 19:09:57 +0100 Subject: [PATCH 7/9] delete skipping PyPy, as it is not enabled by default (Windows now installs the correct version) --- .github/workflows/buildwheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index 6aa909b4..0150d38e 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -69,8 +69,8 @@ jobs: - name: Build and test wheels env: - # skip 32-bit, PyPy, musllinux, and free-threaded builds - CIBW_SKIP: "*-win32 *-manylinux_i686 pp* *musllinux* cp3??t-*" + # skip 32-bit, musllinux, and free-threaded builds + CIBW_SKIP: "*-win32 *-manylinux_i686 *musllinux* cp3??t-*" CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel CIBW_ENVIRONMENT_WINDOWS: CMAKE_ARGS="-DCMAKE_MAKE_PROGRAM=D:/a/_temp/msys64/mingw64/bin/ninja.exe" CMAKE_PROGRAM_PATH="D:/a/_temp/msys64/usr/bin" CMAKE_GENERATOR="Ninja" TEMP="D:/a/_temp/" CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: delvewheel repair -w {dest_dir} {wheel} From b26424da735a0b1aaa8091230120fdd4d3ee0212 Mon Sep 17 00:00:00 2001 From: Griger5 Date: Sun, 7 Dec 2025 01:54:06 +0100 Subject: [PATCH 8/9] remove the free threaded nanobind build --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0e0d1d7..50fd4c7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -546,7 +546,7 @@ endif() find_package(nanobind CONFIG REQUIRED) add_subdirectory(gitmodules/nanobind) -nanobind_add_module(_PyPartMC FREE_THREADED STABLE_ABI ${PyPartMC_sources}) +nanobind_add_module(_PyPartMC STABLE_ABI ${PyPartMC_sources}) add_dependencies(_PyPartMC partmclib) set(PYPARTMC_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/include;" From 331ebdbbe42c8efa9c56ad9f3ffd1e3a9c5ae2d5 Mon Sep 17 00:00:00 2001 From: Griger5 Date: Tue, 13 Jan 2026 14:49:11 +0100 Subject: [PATCH 9/9] fix sdist, move away from MANIFEST.in to pyproject.toml --- MANIFEST.in | 250 ------------------------------------------------- pyproject.toml | 246 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 246 insertions(+), 250 deletions(-) delete mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 7b347077..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1,250 +0,0 @@ -include gitmodules/partmc/COPYING -graft gitmodules/partmc/src -include gitmodules/partmc/src/condense_solver.c - -include gitmodules/camp/COPYING -include gitmodules/camp/CMakeLists.txt -graft gitmodules/camp/src - -include gitmodules/json-fortran/LICENSE -graft gitmodules/json-fortran/src - -include gitmodules/SuiteSparse/LICENSE.txt -graft gitmodules/SuiteSparse/KLU/Source -graft gitmodules/SuiteSparse/KLU/Include -graft gitmodules/SuiteSparse/COLAMD/Source -graft gitmodules/SuiteSparse/COLAMD/Include -graft gitmodules/SuiteSparse/AMD/Source -graft gitmodules/SuiteSparse/AMD/Include -graft gitmodules/SuiteSparse/BTF/Source -graft gitmodules/SuiteSparse/BTF/Include -include gitmodules/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c -include gitmodules/SuiteSparse/SuiteSparse_config/SuiteSparse_config.h - -include gitmodules/sundials/LICENSE -include gitmodules/sundials/CMakeLists.txt -graft gitmodules/sundials/src/sunnonlinsol/newton -graft gitmodules/sundials/src/sunnonlinsol/fixedpoint -graft gitmodules/sundials/src/nvector/serial -graft gitmodules/sundials/src/sunlinsol/band -graft gitmodules/sundials/src/sunlinsol/dense -graft gitmodules/sundials/src/sunlinsol/klu -graft gitmodules/sundials/src/cvode -graft gitmodules/sundials/src/sundials -graft gitmodules/sundials/include/cvode -graft gitmodules/sundials/include/sundials -graft gitmodules/sundials/include/sunnonlinsol -graft gitmodules/sundials/include/sunmatrix -graft gitmodules/sundials/include/sunlinsol -graft gitmodules/sundials/include/nvector -include gitmodules/sundials/cmake/SundialsSetupConfig.cmake -include gitmodules/sundials/cmake/SundialsSetupCompilers.cmake -include gitmodules/sundials/cmake/SundialsIndexSize.cmake -include gitmodules/sundials/src/sunmatrix/CMakeLists.txt -include gitmodules/sundials/src/sunmatrix/band/CMakeLists.txt -include gitmodules/sundials/src/sunmatrix/dense/CMakeLists.txt -include gitmodules/sundials/src/sunmatrix/sparse/CMakeLists.txt -include gitmodules/sundials/src/sunlinsol/CMakeLists.txt -include gitmodules/sundials/src/sunlinsol/pcg/CMakeLists.txt -include gitmodules/sundials/src/sunlinsol/spbcgs/CMakeLists.txt -include gitmodules/sundials/src/sunlinsol/spfgmr/CMakeLists.txt -include gitmodules/sundials/src/sunlinsol/spgmr/CMakeLists.txt -include gitmodules/sundials/src/sunlinsol/sptfqmr/CMakeLists.txt -include gitmodules/sundials/src/sunnonlinsol/CMakeLists.txt -include gitmodules/sundials/src/nvector/CMakeLists.txt -include gitmodules/sundials/src/sunmatrix/band/sunmatrix_band.c -include gitmodules/sundials/src/sunmatrix/dense/sunmatrix_dense.c -include gitmodules/sundials/src/sunmatrix/sparse/sunmatrix_sparse.c -include gitmodules/sundials/src/sunmatrix/band/sunmatrix_band.c -include gitmodules/sundials/src/sunmatrix/dense/sunmatrix_dense.c -include gitmodules/sundials/src/sunlinsol/pcg/sunlinsol_pcg.c -include gitmodules/sundials/src/sunlinsol/spbcgs/sunlinsol_spbcgs.c -include gitmodules/sundials/src/sunlinsol/spfgmr/sunlinsol_spfgmr.c -include gitmodules/sundials/src/sunlinsol/spgmr/sunlinsol_spgmr.c -include gitmodules/sundials/src/sunlinsol/sptfqmr/sunlinsol_sptfqmr.c - -include gitmodules/pybind11/LICENSE -include gitmodules/pybind11/CMakeLists.txt -include gitmodules/pybind11/tools/pybind11Common.cmake -include gitmodules/pybind11/tools/pybind11Tools.cmake -include gitmodules/pybind11/tools/FindPythonLibsNew.cmake -include gitmodules/pybind11_json/include/pybind11_json/pybind11_json.hpp -graft gitmodules/pybind11/include/pybind11 - -include gitmodules/json/LICENSE.MIT -graft gitmodules/json/include/nlohmann - -include gitmodules/span/LICENSE_1_0.txt -include gitmodules/span/include/tcb/span.hpp - -include gitmodules/string_view-standalone/LICENSE -graft gitmodules/string_view-standalone/include/bpstd - -include gitmodules/optional/include/tl/optional.hpp -include gitmodules/optional/COPYING - -include gitmodules/netcdf-c/COPYRIGHT -include gitmodules/netcdf-c/CMakeLists.txt -include gitmodules/netcdf-c/config.h.cmake.in -include gitmodules/netcdf-c/include/netcdf.h -include gitmodules/netcdf-c/include/onstack.h -include gitmodules/netcdf-c/include/netcdf_dispatch.h.in -include gitmodules/netcdf-c/include/ncconfigure.h -include gitmodules/netcdf-c/include/netcdf_meta.h.in -include gitmodules/netcdf-c/include/ncdispatch.h -include gitmodules/netcdf-c/include/ncmodel.h -include gitmodules/netcdf-c/include/nc.h -include gitmodules/netcdf-c/include/ncuri.h -include gitmodules/netcdf-c/include/ncexternl.h -include gitmodules/netcdf-c/include/nc4internal.h -include gitmodules/netcdf-c/include/nc_logging.h -include gitmodules/netcdf-c/include/ncindex.h -include gitmodules/netcdf-c/include/nclist.h -include gitmodules/netcdf-c/include/nchashmap.h -include gitmodules/netcdf-c/include/nc_provenance.h -include gitmodules/netcdf-c/include/netcdf_f.h -include gitmodules/netcdf-c/include/nclog.h -include gitmodules/netcdf-c/include/ncbytes.h -include gitmodules/netcdf-c/include/ncrc.h -include gitmodules/netcdf-c/include/ncoffsets.h -include gitmodules/netcdf-c/include/ncpathmgr.h -include gitmodules/netcdf-c/include/ncxml.h -include gitmodules/netcdf-c/include/fbits.h -include gitmodules/netcdf-c/include/rnd.h -include gitmodules/netcdf-c/include/ncutf8.h -include gitmodules/netcdf-c/include/nccrc.h -include gitmodules/netcdf-c/include/nc3internal.h -include gitmodules/netcdf-c/include/nc3dispatch.h -include gitmodules/netcdf-c/include/nc4dispatch.h -include gitmodules/netcdf-c/include/ncs3sdk.h -include gitmodules/netcdf-c/include/ncauth.h -include gitmodules/netcdf-c/include/nchttp.h -include gitmodules/netcdf-c/include/netcdf_mem.h -include gitmodules/netcdf-c/include/netcdf_filter.h -include gitmodules/netcdf-c/include/netcdf_aux.h -include gitmodules/netcdf-c/include/hdf5internal.h -include gitmodules/netcdf-c/include/hdf5dispatch.h -include gitmodules/netcdf-c/include/ncdimscale.h -include gitmodules/netcdf-c/libdispatch/utf8proc_data.c -include gitmodules/netcdf-c/libdispatch/utf8proc.h -include gitmodules/netcdf-c/libdispatch/dvar.c -include gitmodules/netcdf-c/libdispatch/ddim.c -include gitmodules/netcdf-c/libdispatch/dvarput.c -include gitmodules/netcdf-c/libdispatch/dvarget.c -include gitmodules/netcdf-c/libdispatch/ddispatch.c -include gitmodules/netcdf-c/libdispatch/dcompound.c -include gitmodules/netcdf-c/libdispatch/denum.c -include gitmodules/netcdf-c/libdispatch/daux.c -include gitmodules/netcdf-c/libdispatch/dvlen.c -include gitmodules/netcdf-c/libdispatch/nc.c -include gitmodules/netcdf-c/libdispatch/dfile.c -include gitmodules/netcdf-c/libdispatch/dnotnc4.c -include gitmodules/netcdf-c/libdispatch/dstring.c -include gitmodules/netcdf-c/libdispatch/nclist.c -include gitmodules/netcdf-c/libdispatch/nchashmap.c -include gitmodules/netcdf-c/libdispatch/dinstance_intern.c -include gitmodules/netcdf-c/libdispatch/dtype.c -include gitmodules/netcdf-c/libdispatch/dgroup.c -include gitmodules/netcdf-c/libdispatch/nclistmgr.c -include gitmodules/netcdf-c/libdispatch/dattget.c -include gitmodules/netcdf-c/libdispatch/dattinq.c -include gitmodules/netcdf-c/libdispatch/dvarinq.c -include gitmodules/netcdf-c/libdispatch/dfilter.c -include gitmodules/netcdf-c/libdispatch/derror.c -include gitmodules/netcdf-c/libdispatch/doffsets.c -include gitmodules/netcdf-c/libdispatch/datt.c -include gitmodules/netcdf-c/libdispatch/dattput.c -include gitmodules/netcdf-c/libdispatch/dcopy.c -include gitmodules/netcdf-c/libdispatch/drc.c -include gitmodules/netcdf-c/libdispatch/dpathmgr.c -include gitmodules/netcdf-c/libdispatch/dmissing.c -include gitmodules/netcdf-c/libdispatch/nclog.c -include gitmodules/netcdf-c/libdispatch/dutf8.c -include gitmodules/netcdf-c/libdispatch/utf8proc.c -include gitmodules/netcdf-c/libdispatch/ncbytes.c -include gitmodules/netcdf-c/libdispatch/dopaque.c -include gitmodules/netcdf-c/libdispatch/ncuri.c -include gitmodules/netcdf-c/libdispatch/dcrc64.c -include gitmodules/netcdf-c/libdispatch/dinstance.c -include gitmodules/netcdf-c/libdispatch/ds3util.c -include gitmodules/netcdf-c/libdispatch/dutil.c -include gitmodules/netcdf-c/libdispatch/dauth.c -include gitmodules/netcdf-c/libdispatch/dinfermodel.c -include gitmodules/netcdf-c/liblib/nc_initialize.c -include gitmodules/netcdf-c/libsrc/ncx.h -include gitmodules/netcdf-c/libsrc/ncio.h -include gitmodules/netcdf-c/libsrc/putget.m4 -include gitmodules/netcdf-c/libsrc/ncx.m4 -include gitmodules/netcdf-c/libsrc/attr.m4 -include gitmodules/netcdf-c/libsrc/nc3dispatch.c -include gitmodules/netcdf-c/libsrc/nc3internal.c -include gitmodules/netcdf-c/libsrc/dim.c -include gitmodules/netcdf-c/libsrc/var.c -include gitmodules/netcdf-c/libsrc/ncio.c -include gitmodules/netcdf-c/libsrc/v1hpg.c -include gitmodules/netcdf-c/libsrc/memio.c -include gitmodules/netcdf-c/libsrc/posixio.c -include gitmodules/netcdf-c/libsrc4/nc4internal.c -include gitmodules/netcdf-c/libsrc4/ncindex.c -include gitmodules/netcdf-c/libsrc4/nc4cache.c -include gitmodules/netcdf-c/libsrc4/nc4dispatch.c -include gitmodules/netcdf-c/libsrc4/nc4type.c -include gitmodules/netcdf-c/libsrc4/nc4grp.c -include gitmodules/netcdf-c/libsrc4/nc4var.c -include gitmodules/netcdf-c/libsrc4/nc4dim.c -include gitmodules/netcdf-c/libsrc4/nc4attr.c -include gitmodules/netcdf-c/libsrc4/nc4filters.c -include gitmodules/netcdf-c/libsrc4/ncfunc.c - -graft gitmodules/netcdf-c/libhdf5 - -include gitmodules/netcdf-fortran/COPYRIGHT -include gitmodules/netcdf-fortran/CMakeExtras/MatchNetCDFFortranTypes.cmake -include gitmodules/netcdf-fortran/fortran/typeSizes.F90 -include gitmodules/netcdf-fortran/fortran/module_netcdf_nf_data.F90 -include gitmodules/netcdf-fortran/fortran/module_netcdf_nc_data.F90 -include gitmodules/netcdf-fortran/fortran/module_netcdf_nf_interfaces.F90 -include gitmodules/netcdf-fortran/fortran/module_netcdf_nc_interfaces.F90 -include gitmodules/netcdf-fortran/fortran/module_netcdf4_nf_interfaces.F90 -include gitmodules/netcdf-fortran/fortran/module_netcdf4_nc_interfaces.F90 -include gitmodules/netcdf-fortran/fortran/nf_nc4.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4.F90 -include gitmodules/netcdf-fortran/fortran/nf_varaio.F90 -include gitmodules/netcdf-fortran/fortran/nf_varsio.F90 -include gitmodules/netcdf-fortran/fortran/nf_varmio.F90 -include gitmodules/netcdf-fortran/fortran/nf_var1io.F90 -include gitmodules/netcdf-fortran/fortran/nf_attio.F90 -include gitmodules/netcdf-fortran/fortran/nf_control.F90 -include gitmodules/netcdf-fortran/fortran/nf_genvar.F90 -include gitmodules/netcdf-fortran/fortran/nf_dim.F90 -include gitmodules/netcdf-fortran/fortran/nf_misc.F90 -include gitmodules/netcdf-fortran/fortran/nf_nc_noparallel.F90 -include gitmodules/netcdf-fortran/fortran/nf_lib.c -include gitmodules/netcdf-fortran/fortran/nf_genatt.F90 -include gitmodules/netcdf-fortran/fortran/nf_geninq.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_externals.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_constants.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4_externals.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_overloads.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4_overloads.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_visibility.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4_visibility.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_file.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4_file.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_dims.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_attributes.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_variables.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4_variables.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_text_variables.F90 -include gitmodules/netcdf-fortran/fortran/netcdf_expanded.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4_eightbyte.F90 -include gitmodules/netcdf-fortran/fortran/netcdf4_func.F90 - -include gitmodules/hdf5/COPYING -include gitmodules/hdf5/CMakeLists.txt -include gitmodules/hdf5/*.cmake -graft gitmodules/hdf5/src -graft gitmodules/hdf5/bin -graft gitmodules/hdf5/config -include gitmodules/hdf5/hl/CMakeLists.txt -graft gitmodules/hdf5/hl/src diff --git a/pyproject.toml b/pyproject.toml index 59c1c20b..ceca9e73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,252 @@ version_scheme = "post-release" [tool.scikit-build] metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" +[tool.scikit-build.sdist] +include = [ + "gitmodules/partmc/COPYING", + "gitmodules/partmc/src", + "gitmodules/partmc/src/condense_solver.c", + "gitmodules/camp/COPYING", + "gitmodules/camp/CMakeLists.txt", + "gitmodules/camp/src", + "gitmodules/json-fortran/LICENSE", + "gitmodules/json-fortran/src", + "gitmodules/SuiteSparse/LICENSE.txt", + "gitmodules/SuiteSparse/KLU/Source", + "gitmodules/SuiteSparse/KLU/Include", + "gitmodules/SuiteSparse/COLAMD/Source", + "gitmodules/SuiteSparse/COLAMD/Include", + "gitmodules/SuiteSparse/AMD/Source", + "gitmodules/SuiteSparse/AMD/Include", + "gitmodules/SuiteSparse/BTF/Source", + "gitmodules/SuiteSparse/BTF/Include", + "gitmodules/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c", + "gitmodules/SuiteSparse/SuiteSparse_config/SuiteSparse_config.h", + "gitmodules/sundials/LICENSE", + "gitmodules/sundials/CMakeLists.txt", + "gitmodules/sundials/src/sunnonlinsol/newton", + "gitmodules/sundials/src/sunnonlinsol/fixedpoint", + "gitmodules/sundials/src/nvector/serial", + "gitmodules/sundials/src/sunlinsol/band", + "gitmodules/sundials/src/sunlinsol/dense", + "gitmodules/sundials/src/sunlinsol/klu", + "gitmodules/sundials/src/cvode", + "gitmodules/sundials/src/sundials", + "gitmodules/sundials/include/cvode", + "gitmodules/sundials/include/sundials", + "gitmodules/sundials/include/sunnonlinsol", + "gitmodules/sundials/include/sunmatrix", + "gitmodules/sundials/include/sunlinsol", + "gitmodules/sundials/include/nvector", + "gitmodules/sundials/cmake/SundialsSetupConfig.cmake", + "gitmodules/sundials/cmake/SundialsSetupCompilers.cmake", + "gitmodules/sundials/cmake/SundialsIndexSize.cmake", + "gitmodules/sundials/src/sunmatrix/CMakeLists.txt", + "gitmodules/sundials/src/sunmatrix/band/CMakeLists.txt", + "gitmodules/sundials/src/sunmatrix/dense/CMakeLists.txt", + "gitmodules/sundials/src/sunmatrix/sparse/CMakeLists.txt", + "gitmodules/sundials/src/sunlinsol/CMakeLists.txt", + "gitmodules/sundials/src/sunlinsol/pcg/CMakeLists.txt", + "gitmodules/sundials/src/sunlinsol/spbcgs/CMakeLists.txt", + "gitmodules/sundials/src/sunlinsol/spfgmr/CMakeLists.txt", + "gitmodules/sundials/src/sunlinsol/spgmr/CMakeLists.txt", + "gitmodules/sundials/src/sunlinsol/sptfqmr/CMakeLists.txt", + "gitmodules/sundials/src/sunnonlinsol/CMakeLists.txt", + "gitmodules/sundials/src/nvector/CMakeLists.txt", + "gitmodules/sundials/src/sunmatrix/band/sunmatrix_band.c", + "gitmodules/sundials/src/sunmatrix/dense/sunmatrix_dense.c", + "gitmodules/sundials/src/sunmatrix/sparse/sunmatrix_sparse.c", + "gitmodules/sundials/src/sunmatrix/band/sunmatrix_band.c", + "gitmodules/sundials/src/sunmatrix/dense/sunmatrix_dense.c", + "gitmodules/sundials/src/sunlinsol/pcg/sunlinsol_pcg.c", + "gitmodules/sundials/src/sunlinsol/spbcgs/sunlinsol_spbcgs.c", + "gitmodules/sundials/src/sunlinsol/spfgmr/sunlinsol_spfgmr.c", + "gitmodules/sundials/src/sunlinsol/spgmr/sunlinsol_spgmr.c", + "gitmodules/sundials/src/sunlinsol/sptfqmr/sunlinsol_sptfqmr.c", + "gitmodules/json/LICENSE.MIT", + "gitmodules/json/include/nlohmann", + "gitmodules/span/LICENSE_1_0.txt", + "gitmodules/span/include/tcb/span.hpp", + "gitmodules/string_view-standalone/LICENSE", + "gitmodules/string_view-standalone/include/bpstd", + "gitmodules/optional/include/tl/optional.hpp", + "gitmodules/optional/COPYING", + "gitmodules/netcdf-c/COPYRIGHT", + "gitmodules/netcdf-c/CMakeLists.txt", + "gitmodules/netcdf-c/config.h.cmake.in", + "gitmodules/netcdf-c/include/netcdf.h", + "gitmodules/netcdf-c/include/onstack.h", + "gitmodules/netcdf-c/include/netcdf_dispatch.h.in", + "gitmodules/netcdf-c/include/ncconfigure.h", + "gitmodules/netcdf-c/include/netcdf_meta.h.in", + "gitmodules/netcdf-c/include/ncdispatch.h", + "gitmodules/netcdf-c/include/ncmodel.h", + "gitmodules/netcdf-c/include/nc.h", + "gitmodules/netcdf-c/include/ncuri.h", + "gitmodules/netcdf-c/include/ncexternl.h", + "gitmodules/netcdf-c/include/nc4internal.h", + "gitmodules/netcdf-c/include/nc_logging.h", + "gitmodules/netcdf-c/include/ncindex.h", + "gitmodules/netcdf-c/include/nclist.h", + "gitmodules/netcdf-c/include/nchashmap.h", + "gitmodules/netcdf-c/include/nc_provenance.h", + "gitmodules/netcdf-c/include/netcdf_f.h", + "gitmodules/netcdf-c/include/nclog.h", + "gitmodules/netcdf-c/include/ncbytes.h", + "gitmodules/netcdf-c/include/ncrc.h", + "gitmodules/netcdf-c/include/ncoffsets.h", + "gitmodules/netcdf-c/include/ncpathmgr.h", + "gitmodules/netcdf-c/include/ncxml.h", + "gitmodules/netcdf-c/include/fbits.h", + "gitmodules/netcdf-c/include/rnd.h", + "gitmodules/netcdf-c/include/ncutf8.h", + "gitmodules/netcdf-c/include/nccrc.h", + "gitmodules/netcdf-c/include/nc3internal.h", + "gitmodules/netcdf-c/include/nc3dispatch.h", + "gitmodules/netcdf-c/include/nc4dispatch.h", + "gitmodules/netcdf-c/include/ncs3sdk.h", + "gitmodules/netcdf-c/include/ncauth.h", + "gitmodules/netcdf-c/include/nchttp.h", + "gitmodules/netcdf-c/include/netcdf_mem.h", + "gitmodules/netcdf-c/include/netcdf_filter.h", + "gitmodules/netcdf-c/include/netcdf_aux.h", + "gitmodules/netcdf-c/include/hdf5internal.h", + "gitmodules/netcdf-c/include/hdf5dispatch.h", + "gitmodules/netcdf-c/include/ncdimscale.h", + "gitmodules/netcdf-c/libdispatch/utf8proc_data.c", + "gitmodules/netcdf-c/libdispatch/utf8proc.h", + "gitmodules/netcdf-c/libdispatch/dvar.c", + "gitmodules/netcdf-c/libdispatch/ddim.c", + "gitmodules/netcdf-c/libdispatch/dvarput.c", + "gitmodules/netcdf-c/libdispatch/dvarget.c", + "gitmodules/netcdf-c/libdispatch/ddispatch.c", + "gitmodules/netcdf-c/libdispatch/dcompound.c", + "gitmodules/netcdf-c/libdispatch/denum.c", + "gitmodules/netcdf-c/libdispatch/daux.c", + "gitmodules/netcdf-c/libdispatch/dvlen.c", + "gitmodules/netcdf-c/libdispatch/nc.c", + "gitmodules/netcdf-c/libdispatch/dfile.c", + "gitmodules/netcdf-c/libdispatch/dnotnc4.c", + "gitmodules/netcdf-c/libdispatch/dstring.c", + "gitmodules/netcdf-c/libdispatch/nclist.c", + "gitmodules/netcdf-c/libdispatch/nchashmap.c", + "gitmodules/netcdf-c/libdispatch/dinstance_intern.c", + "gitmodules/netcdf-c/libdispatch/dtype.c", + "gitmodules/netcdf-c/libdispatch/dgroup.c", + "gitmodules/netcdf-c/libdispatch/nclistmgr.c", + "gitmodules/netcdf-c/libdispatch/dattget.c", + "gitmodules/netcdf-c/libdispatch/dattinq.c", + "gitmodules/netcdf-c/libdispatch/dvarinq.c", + "gitmodules/netcdf-c/libdispatch/dfilter.c", + "gitmodules/netcdf-c/libdispatch/derror.c", + "gitmodules/netcdf-c/libdispatch/doffsets.c", + "gitmodules/netcdf-c/libdispatch/datt.c", + "gitmodules/netcdf-c/libdispatch/dattput.c", + "gitmodules/netcdf-c/libdispatch/dcopy.c", + "gitmodules/netcdf-c/libdispatch/drc.c", + "gitmodules/netcdf-c/libdispatch/dpathmgr.c", + "gitmodules/netcdf-c/libdispatch/dmissing.c", + "gitmodules/netcdf-c/libdispatch/nclog.c", + "gitmodules/netcdf-c/libdispatch/dutf8.c", + "gitmodules/netcdf-c/libdispatch/utf8proc.c", + "gitmodules/netcdf-c/libdispatch/ncbytes.c", + "gitmodules/netcdf-c/libdispatch/dopaque.c", + "gitmodules/netcdf-c/libdispatch/ncuri.c", + "gitmodules/netcdf-c/libdispatch/dcrc64.c", + "gitmodules/netcdf-c/libdispatch/dinstance.c", + "gitmodules/netcdf-c/libdispatch/ds3util.c", + "gitmodules/netcdf-c/libdispatch/dutil.c", + "gitmodules/netcdf-c/libdispatch/dauth.c", + "gitmodules/netcdf-c/libdispatch/dinfermodel.c", + "gitmodules/netcdf-c/liblib/nc_initialize.c", + "gitmodules/netcdf-c/libsrc/ncx.h", + "gitmodules/netcdf-c/libsrc/ncio.h", + "gitmodules/netcdf-c/libsrc/putget.m4", + "gitmodules/netcdf-c/libsrc/ncx.m4", + "gitmodules/netcdf-c/libsrc/attr.m4", + "gitmodules/netcdf-c/libsrc/nc3dispatch.c", + "gitmodules/netcdf-c/libsrc/nc3internal.c", + "gitmodules/netcdf-c/libsrc/dim.c", + "gitmodules/netcdf-c/libsrc/var.c", + "gitmodules/netcdf-c/libsrc/ncio.c", + "gitmodules/netcdf-c/libsrc/v1hpg.c", + "gitmodules/netcdf-c/libsrc/memio.c", + "gitmodules/netcdf-c/libsrc/posixio.c", + "gitmodules/netcdf-c/libsrc4/nc4internal.c", + "gitmodules/netcdf-c/libsrc4/ncindex.c", + "gitmodules/netcdf-c/libsrc4/nc4cache.c", + "gitmodules/netcdf-c/libsrc4/nc4dispatch.c", + "gitmodules/netcdf-c/libsrc4/nc4type.c", + "gitmodules/netcdf-c/libsrc4/nc4grp.c", + "gitmodules/netcdf-c/libsrc4/nc4var.c", + "gitmodules/netcdf-c/libsrc4/nc4dim.c", + "gitmodules/netcdf-c/libsrc4/nc4attr.c", + "gitmodules/netcdf-c/libsrc4/nc4filters.c", + "gitmodules/netcdf-c/libsrc4/ncfunc.c", + "gitmodules/netcdf-c/libhdf5", + "gitmodules/netcdf-fortran/COPYRIGHT", + "gitmodules/netcdf-fortran/CMakeExtras/MatchNetCDFFortranTypes.cmake", + "gitmodules/netcdf-fortran/fortran/typeSizes.F90", + "gitmodules/netcdf-fortran/fortran/module_netcdf_nf_data.F90", + "gitmodules/netcdf-fortran/fortran/module_netcdf_nc_data.F90", + "gitmodules/netcdf-fortran/fortran/module_netcdf_nf_interfaces.F90", + "gitmodules/netcdf-fortran/fortran/module_netcdf_nc_interfaces.F90", + "gitmodules/netcdf-fortran/fortran/module_netcdf4_nf_interfaces.F90", + "gitmodules/netcdf-fortran/fortran/module_netcdf4_nc_interfaces.F90", + "gitmodules/netcdf-fortran/fortran/nf_nc4.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4.F90", + "gitmodules/netcdf-fortran/fortran/nf_varaio.F90", + "gitmodules/netcdf-fortran/fortran/nf_varsio.F90", + "gitmodules/netcdf-fortran/fortran/nf_varmio.F90", + "gitmodules/netcdf-fortran/fortran/nf_var1io.F90", + "gitmodules/netcdf-fortran/fortran/nf_attio.F90", + "gitmodules/netcdf-fortran/fortran/nf_control.F90", + "gitmodules/netcdf-fortran/fortran/nf_genvar.F90", + "gitmodules/netcdf-fortran/fortran/nf_dim.F90", + "gitmodules/netcdf-fortran/fortran/nf_misc.F90", + "gitmodules/netcdf-fortran/fortran/nf_nc_noparallel.F90", + "gitmodules/netcdf-fortran/fortran/nf_lib.c", + "gitmodules/netcdf-fortran/fortran/nf_genatt.F90", + "gitmodules/netcdf-fortran/fortran/nf_geninq.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_externals.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_constants.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4_externals.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_overloads.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4_overloads.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_visibility.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4_visibility.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_file.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4_file.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_dims.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_attributes.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_variables.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4_variables.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_text_variables.F90", + "gitmodules/netcdf-fortran/fortran/netcdf_expanded.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4_eightbyte.F90", + "gitmodules/netcdf-fortran/fortran/netcdf4_func.F90", + "gitmodules/hdf5/COPYING", + "gitmodules/hdf5/CMakeLists.txt", + "gitmodules/hdf5/*.cmake", + "gitmodules/hdf5/src", + "gitmodules/hdf5/bin", + "gitmodules/hdf5/config", + "gitmodules/hdf5/hl/CMakeLists.txt", + "gitmodules/hdf5/hl/src", + "gitmodules/nanobind/", + "gitmodules/nanobind_json/" +] +exclude = [ + "examples/", # jupyter execution logic requires rw accesss + "build/**", + "dist/**", + "**/__pycache__/**", + "*.pyc", + "readme_fortran/", + ".*", + "gitmodules/" +] + [build-system] requires = ["scikit-build-core >=0.4.3", "nanobind >=1.3.2", "setuptools-scm==8.3.1"] build-backend = "scikit_build_core.build"