Skip to content

Commit de2663b

Browse files
authored
Merge pull request #85 from philippkraft/Kc
Kc
2 parents 1c760a5 + 163c478 commit de2663b

File tree

15 files changed

+107134
-107011
lines changed

15 files changed

+107134
-107011
lines changed

.github/workflows/wheel.yml

Lines changed: 54 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ concurrency:
1919
cancel-in-progress: true
2020

2121
jobs:
22-
# Build the wheels for Linux, Windows and macOS for Python 3.9 and newer
22+
# Build the wheels for Linux, Windows and macOS for Python 3.11 and newer
2323
build_wheels:
24-
name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }}-${{ matrix.manylinux_image }}
24+
name: Build cmf-wheel for cp${{ matrix.python }}-${{ matrix.platform_id }}-${{ matrix.manylinux_image }}
2525
runs-on: ${{ matrix.os }}
2626

2727
strategy:
@@ -33,30 +33,24 @@ jobs:
3333
# Note: windows-2019 is needed for older Python versions:
3434
# https://github.com/scikit-learn/scikit-learn/issues/22530
3535
- os: windows-latest
36-
python: 39
36+
python: 311
3737
platform_id: win_amd64
3838
- os: windows-latest
39-
python: 310
39+
python: 312
4040
platform_id: win_amd64
4141
- os: windows-latest
42-
python: 311
42+
python: 313
4343
platform_id: win_amd64
4444
- os: windows-latest
45-
python: 312
45+
python: 313t
4646
platform_id: win_amd64
47+
free_threaded_support: True
4748

4849
# Linux 64 bit manylinux2014
49-
- os: ubuntu-latest
50-
python: 39
51-
platform_id: manylinux_x86_64
52-
manylinux_image: manylinux2014
53-
54-
# NumPy on Python 3.10 only supports 64bit and is only available with manylinux2014
5550
- os: ubuntu-latest
5651
python: 310
5752
platform_id: manylinux_x86_64
5853
manylinux_image: manylinux2014
59-
6054
- os: ubuntu-latest
6155
python: 311
6256
platform_id: manylinux_x86_64
@@ -65,53 +59,70 @@ jobs:
6559
python: 312
6660
platform_id: manylinux_x86_64
6761
manylinux_image: manylinux2014
62+
- os: ubuntu-latest
63+
python: 313
64+
platform_id: manylinux_x86_64
65+
manylinux_image: manylinux2014
66+
- os: ubuntu-latest
67+
python: 313t
68+
platform_id: manylinux_x86_64
69+
manylinux_image: manylinux2014
70+
free_threaded_support: True
71+
6872

6973
# MacOS x86_64
70-
- os: macos-latest
71-
python: 39
72-
platform_id: macosx_x86_64
73-
- os: macos-latest
74+
- os: macos-13
7475
python: 310
7576
platform_id: macosx_x86_64
76-
- os: macos-latest
77+
- os: macos-13
7778
python: 311
7879
platform_id: macosx_x86_64
79-
- os: macos-latest
80+
- os: macos-13
8081
python: 312
8182
platform_id: macosx_x86_64
83+
- os: macos-13
84+
python: 313
85+
platform_id: macosx_x86_64
86+
- os: macos-13
87+
python: 313t
88+
platform_id: macosx_x86_64
89+
free_threaded_support: True
8290

8391
# MacOS arm64
84-
# The wheel for the latest Python version is built and tested on
85-
# Cirrus CI but due to limited build time for free accounts on Cirrus
86-
# CI, we build the macOS arm64 wheels for the other Python versions on
87-
# Github Actions via cross-compilation (without running the tests).
88-
- os: macos-latest
89-
python: 39
92+
- os: macos-14
93+
python: 311
9094
platform_id: macosx_arm64
91-
- os: macos-latest
92-
python: 310
95+
- os: macos-14
96+
python: 312
9397
platform_id: macosx_arm64
94-
- os: macos-latest
95-
python: 311
98+
- os: macos-14
99+
python: 313
100+
platform_id: macosx_arm64
101+
- os: macos-14
102+
python: 313t
96103
platform_id: macosx_arm64
104+
free_threaded_support: True
97105

98106
steps:
99107
- name: Checkout cmf
100-
uses: actions/checkout@v3
108+
uses: actions/checkout@v4
101109

102110
- name: Setup Python
103-
uses: actions/setup-python@v4
111+
uses: actions/setup-python@v5
104112
with:
105-
python-version: '3.9' # update once build dependencies are available
106-
113+
python-version: '3.11' # update once build dependencies are available
114+
- name: Use VCvarsall.bat
115+
uses: ilammy/msvc-dev-cmd@v1
107116
- name: Install cibuildwheel
108-
run: python -m pip install cibuildwheel
117+
run: python -m pip install cibuildwheel setuptools numpy
109118

110119
- name: Build wheels
111120
env:
112121
CIBW_PRERELEASE_PYTHONS: ${{ matrix.prerelease }}
122+
CIBW_FREE_THREADED_SUPPORT: ${{ matrix.free_threaded_support }}
113123
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
114124
CIBW_ARCHS: all
125+
CIBW_BEFORE_ALL: python -m pip install numpy cmake setuptools
115126
CIBW_BEFORE_BUILD: python -m pip install numpy cmake setuptools
116127
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }}
117128
CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.manylinux_image }}
@@ -120,8 +131,9 @@ jobs:
120131
run: python -m cibuildwheel --output-dir wheelhouse
121132

122133
- name: Store artifacts
123-
uses: actions/upload-artifact@v3
134+
uses: actions/upload-artifact@v4
124135
with:
136+
name: cibw-wheels-cp${{ matrix.python }}-${{ matrix.platform_id }}
125137
path: wheelhouse/*.whl
126138

127139
# Build the source distribution under Linux
@@ -130,21 +142,20 @@ jobs:
130142
runs-on: ubuntu-latest
131143
steps:
132144
- name: Checkout cmf
133-
uses: actions/checkout@v3
145+
uses: actions/checkout@v4
134146

135147
- name: Setup Python
136-
uses: actions/setup-python@v4
148+
uses: actions/setup-python@v5
137149
with:
138-
python-version: '3.9' # update once build dependencies are available
139-
150+
python-version: '3.11' # update once build dependencies are available
151+
- name: Setup dependencies
152+
run: python -m pip install setuptools numpy
140153
- name: Build source distribution
141154
run: python setup.py sdist
142155

143-
- name: Test source distribution
144-
run: bash build_tools/github/test_source.sh
145-
146156
- name: Store artifacts
147-
uses: actions/upload-artifact@v3
157+
uses: actions/upload-artifact@v4
148158
with:
159+
name: cmf-sdist
149160
path: dist/*.tar.gz
150161

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ venv.bak/
8282
.spyderproject
8383
.spyproject
8484

85+
# Visual Studio Code
86+
.vscode
87+
8588
# PyCharm
8689
.idea
8790
cmake-build-*/

cmf/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from .timetools import StopWatch, datetime_to_cmf, timerange
2323

2424

25-
__version__ = '2.0.0'
25+
__version__ = '2.0.1'
2626

2727
from .cmf_core import connect_cells_with_flux as __ccwf
2828

0 commit comments

Comments
 (0)