Skip to content

Commit 10d7274

Browse files
authored
Merge pull request #668 from benjeffery/py3.10
Test and build wheels on 3.10
2 parents 28f0b25 + bddd327 commit 10d7274

File tree

10 files changed

+81
-54
lines changed

10 files changed

+81
-54
lines changed

.github/workflows/docker/shared.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
PYTHON_VERSIONS=(
2+
cp310-cp310
23
cp39-cp39
34
cp38-cp38
45
cp37-cp37m

.github/workflows/tests.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
runs-on: ${{ matrix.os }}
2929
strategy:
3030
matrix:
31-
python: [ 3.7, 3.9 ]
31+
python: [ 3.7, "3.10" ]
3232
os: [ macos-latest, ubuntu-latest, windows-latest ]
3333
defaults:
3434
run:
@@ -53,7 +53,7 @@ jobs:
5353
/usr/share/miniconda/envs/anaconda-client-env
5454
~/osx-conda
5555
~/.profile
56-
key: ${{ runner.os }}-${{ matrix.python}}-conda-v10-${{ hashFiles('requirements/CI-tests-conda/requirements.txt') }}-${{ hashFiles('requirements/CI-tests-pip/requirements.txt') }}
56+
key: ${{ runner.os }}-${{ matrix.python}}-conda-v11-${{ hashFiles('requirements/CI-tests-conda/requirements.txt') }}-${{ hashFiles('requirements/CI-tests-pip/requirements.txt') }}
5757

5858
- name: Install Conda
5959
uses: conda-incubator/setup-miniconda@v2
@@ -97,10 +97,15 @@ jobs:
9797
run: conda install --yes --file=requirements/CI-tests-conda/requirements.txt
9898

9999
- name: Install pip deps
100-
if: steps.cache.outputs.cache-hit != 'true'
100+
if: steps.cache.outputs.cache-hit != 'true' && matrix.python != 3.7
101101
shell: bash -l {0}
102102
run: pip install -r requirements/CI-tests-pip/requirements.txt
103103

104+
- name: Fix pandas on 3.7
105+
if: steps.cache.outputs.cache-hit != 'true' && matrix.python == 3.7
106+
shell: bash -l {0}
107+
run: pip install -r requirements/CI-tests-pip/requirements3.7.txt
108+
104109
- name: Fix OSX Cache Write #OSX Won't let the cache restore due to file perms
105110
if: steps.cache.outputs.cache-hit != 'true' && matrix.os == 'macos-latest'
106111
run: |

.github/workflows/wheels.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: macos-latest
1616
strategy:
1717
matrix:
18-
python: [3.7, 3.8, 3.9]
18+
python: [3.7, 3.8, 3.9, "3.10"]
1919
steps:
2020
- name: Checkout
2121
uses: actions/checkout@v2
@@ -54,7 +54,7 @@ jobs:
5454
# runs-on: windows-latest
5555
# strategy:
5656
# matrix:
57-
# python: [3.7, 3.8, 3.9]
57+
# python: [3.7, 3.8, 3.9, "3.10"]
5858
# wordsize: [64]
5959
# steps:
6060
# - name: Checkout
@@ -152,7 +152,7 @@ jobs:
152152
runs-on: macos-latest
153153
strategy:
154154
matrix:
155-
python: [3.7, 3.8, 3.9]
155+
python: [3.7, 3.8, 3.9, "3.10"]
156156
steps:
157157
- name: Download wheels
158158
uses: actions/download-artifact@v2
@@ -174,7 +174,7 @@ jobs:
174174
# runs-on: windows-latest
175175
# strategy:
176176
# matrix:
177-
# python: [3.7, 3.8, 3.9]
177+
# python: [3.7, 3.8, 3.9, "3.10"]
178178
# wordsize: [64]
179179
# steps:
180180
# - name: Download wheels
@@ -199,7 +199,7 @@ jobs:
199199
needs: ['manylinux']
200200
strategy:
201201
matrix:
202-
python: [3.7, 3.8, 3.9]
202+
python: [3.7, 3.8, 3.9, "3.10"]
203203
steps:
204204
- name: Download wheels
205205
uses: actions/download-artifact@v2

.mergify.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ queue_rules:
55
- "#changes-requested-reviews-by=0"
66
- status-success=Lint
77
- status-success=Python (3.7, macos-latest)
8-
- status-success=Python (3.9, macos-latest)
8+
- status-success=Python (3.10, macos-latest)
99
- status-success=Python (3.7, ubuntu-latest)
10-
- status-success=Python (3.9, ubuntu-latest)
10+
- status-success=Python (3.10, ubuntu-latest)
1111
- status-success=Python (3.7, windows-latest)
12-
- status-success=Python (3.9, windows-latest)
12+
- status-success=Python (3.10, windows-latest)
1313
- "status-success=ci/circleci: build"
1414

1515
pull_request_rules:
@@ -22,11 +22,11 @@ pull_request_rules:
2222
- label=AUTOMERGE-REQUESTED
2323
- status-success=Lint
2424
- status-success=Python (3.7, macos-latest)
25-
- status-success=Python (3.9, macos-latest)
25+
- status-success=Python (3.10, macos-latest)
2626
- status-success=Python (3.7, ubuntu-latest)
27-
- status-success=Python (3.9, ubuntu-latest)
27+
- status-success=Python (3.10, ubuntu-latest)
2828
- status-success=Python (3.7, windows-latest)
29-
- status-success=Python (3.9, windows-latest)
29+
- status-success=Python (3.10, windows-latest)
3030
- "status-success=ci/circleci: build"
3131
actions:
3232
queue:

evaluation.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,7 +1484,8 @@ def run_ancestor_quality(args):
14841484
c="Frequency",
14851485
cmap="brg",
14861486
s=2,
1487-
norm=NormalizeBandWidths(band_widths=freq_bins),
1487+
# FIXME #669 pandas no longer (as of 1.3.0) supports passing "norm"
1488+
# norm=NormalizeBandWidths(band_widths=freq_bins),
14881489
)
14891490
ax.errorbar(
14901491
x=data[x_col],
@@ -1577,7 +1578,8 @@ def run_ancestor_quality(args):
15771578
c="Inferred time inaccuracy",
15781579
cmap="BrBG",
15791580
s=data.n_mismatches.values,
1580-
norm=MidpointNormalize(midpoint=0),
1581+
# FIXME #669 pandas no longer (as of 1.3.0) supports passing "norm"
1582+
# norm=MidpointNormalize(midpoint=0),
15811583
)
15821584
ax.set(**ax_params)
15831585
ax.legend(handles=legend_elements, title="# bad sites\nper ancestor")
@@ -1630,14 +1632,15 @@ def run_ancestor_quality(args):
16301632
with warnings.catch_warnings():
16311633
# matplotlib warns for nans in error bars
16321634
warnings.simplefilter("ignore")
1633-
plt.errorbar(
1634-
g.sem().index,
1635-
g.mean().values,
1636-
yerr=g.sem().values,
1637-
marker="o",
1638-
ls="none",
1639-
ecolor="0.6",
1640-
)
1635+
# FIXME #669 error in matplotlib here
1636+
# plt.errorbar(
1637+
# g.sem().index,
1638+
# g.mean().values,
1639+
# yerr=g.sem().values,
1640+
# marker="o",
1641+
# ls="none",
1642+
# ecolor="0.6",
1643+
# )
16411644
plt.ylabel(Inaccuracy_label)
16421645
plt.xlabel("Frequency")
16431646
plt.ylim(None, args.diff_y_lim)
@@ -1650,7 +1653,8 @@ def run_ancestor_quality(args):
16501653
c="Frequency",
16511654
cmap="brg",
16521655
s=2,
1653-
norm=NormalizeBandWidths(band_widths=freq_bins),
1656+
# FIXME #669 pandas no longer (as of 1.3.0) supports passing "norm"
1657+
# norm=NormalizeBandWidths(band_widths=freq_bins),
16541658
)
16551659
data = data.sort_values(by="Known time order")
16561660
ax.errorbar(
@@ -1678,7 +1682,8 @@ def run_ancestor_quality(args):
16781682
c="Frequency",
16791683
cmap="brg",
16801684
s=2,
1681-
norm=NormalizeBandWidths(band_widths=freq_bins),
1685+
# FIXME #669 pandas no longer (as of 1.3.0) supports passing "norm"
1686+
# norm=NormalizeBandWidths(band_widths=freq_bins),
16821687
)
16831688
ax.set(ylabel=Inaccuracy_label, xscale="log", ylim=(-0.01, 1), xlim=(1))
16841689
save_figure(name_format.format(name))
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
attrs==20.3.0
2-
codecov==2.1.10
1+
attrs==21.4.0
2+
codecov==2.1.12
33
colorama==0.4.4
4-
daiquiri==3.0.0
5-
h5py==3.2.1
6-
humanize==3.5.0
7-
lmdb==1.1.1
4+
daiquiri==3.0.1
5+
h5py==3.6.0
6+
humanize==4.1.0
7+
lmdb==1.3.0
88
matplotlib==3.4.1
99
meson==0.56 # FIXME pinning meson for now, https://github.com/tskit-dev/tsinfer/issues/471
10-
msprime==1.0.1
11-
numpy==1.20.2
12-
pandas==1.2.4
13-
pytest==6.2.4
14-
pytest-cov==2.10.1
15-
pytest-xdist==2.2.1
16-
seaborn==0.11.1
17-
sortedcontainers==2.3.0
18-
tqdm==4.60.0
10+
msprime==1.1.1
11+
numpy==1.21.6
12+
pandas==1.2.5
13+
pytest==7.1.2
14+
pytest-cov==3.0.0
15+
pytest-xdist==2.5.0
16+
seaborn==0.11.2
17+
sortedcontainers==2.4.0
18+
tqdm==4.64.0
1919
tskit==0.4.1
2020
zarr==2.11.3
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
lmdb==0.9.24
2-
msprime==1.0.2
3-
python-lmdb==0.96
4-
zarr==2.11.3
5-
h5py<3.4
1+
h5py==3.6.0
2+
lmdb==0.9.29
3+
msprime==1.1.1
4+
numcodecs==0.9.1
5+
python-lmdb==1.3.0
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
attrs==21.2.0
1+
attrs==21.4.0
22
colorama==0.4.4
33
daiquiri==3.0.1
4-
humanize==3.12.0
5-
matplotlib==3.5.0
6-
numpy==1.21.4
7-
pandas==1.2.5
8-
pytest==6.2.5
9-
pytest-xdist==2.4.0
4+
humanize==4.1.0
5+
matplotlib==3.5.2
6+
numpy==1.21.6
7+
pandas==1.4.2
8+
pytest==7.1.2
9+
pytest-xdist==2.5.0
1010
seaborn==0.11.2
1111
sortedcontainers==2.4.0
12-
tqdm==4.62.3
12+
tqdm==4.64.0
1313
tskit==0.4.1
14+
zarr==2.11.3
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
attrs==21.4.0
2+
colorama==0.4.4
3+
daiquiri==3.0.1
4+
humanize==4.1.0
5+
matplotlib==3.5.2
6+
numpy==1.21.6
7+
pandas==1.3.5
8+
pytest==7.1.2
9+
pytest-xdist==2.5.0
10+
seaborn==0.11.2
11+
sortedcontainers==2.4.0
12+
tqdm==4.64.0
13+
tskit==0.4.1
14+
zarr==2.11.3

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ def finalize_options(self):
9797
"Programming Language :: Python :: 3.7",
9898
"Programming Language :: Python :: 3.8",
9999
"Programming Language :: Python :: 3.9",
100+
"Programming Language :: Python :: 3.10",
100101
"Programming Language :: Python :: 3 :: Only",
101102
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
102103
"Development Status :: 3 - Alpha",

0 commit comments

Comments
 (0)