Skip to content

Commit aef42ac

Browse files
authored
Merge pull request #1160 from googlefonts/py314
drop 3.9, require 3.10+; test on 3.14
2 parents 7adb397 + 6e92fdd commit aef42ac

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

.github/workflows/test.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
strategy:
3737
fail-fast: false
3838
matrix:
39-
python-version: ["3.9", "3.10", "3.11", "3.13"]
39+
python-version: ["3.10", "3.12", "3.13", "3.14"]
4040
platform: [ubuntu-latest, windows-latest]
4141
steps:
4242
- uses: actions/checkout@v4
@@ -58,9 +58,17 @@ jobs:
5858
run: choco install ffmpeg -y
5959
shell: pwsh
6060

61-
- name: Install packages
61+
# Temporarily skip QA extra on Python 3.14 until skia-python provides wheels for 3.14.
62+
# The qa extra pulls in diffenator2 which depends on blackrenderer[skia] which in turn
63+
# depends on skia-python. Building skia-python from source fails on CI.
64+
# See: https://github.com/googlefonts/gftools/pull/1160
65+
- name: Install packages (with QA)
66+
if: matrix.python-version != '3.14'
67+
run: |
68+
pip install '.[qa,test]'
69+
- name: Install packages (without QA)
70+
if: matrix.python-version == '3.14'
6271
run: |
63-
pip install '.[qa]'
6472
pip install '.[test]'
6573
- name: lint
6674
run: |

pyproject.toml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ name = "gftools"
77
description = "Google Fonts Tools is a set of command-line tools for testing font projects"
88
readme = "README.md"
99
dynamic = ["version"]
10+
requires-python = ">=3.10"
1011
authors = [
1112
{ name = "Marc Foley", email = "m.foley.88@gmail.com" },
1213
{ name = "Dave Crossland", email = "dave@lab6.com" },
@@ -22,8 +23,12 @@ classifiers = [
2223
'Topic :: Text Processing :: Fonts',
2324
'License :: OSI Approved :: Apache Software License',
2425
'Operating System :: OS Independent',
25-
'Programming Language :: Python :: 2',
26-
'Programming Language :: Python :: 3'
26+
'Programming Language :: Python :: 3',
27+
'Programming Language :: Python :: 3.10',
28+
'Programming Language :: Python :: 3.11',
29+
'Programming Language :: Python :: 3.12',
30+
'Programming Language :: Python :: 3.13',
31+
'Programming Language :: Python :: 3.14',
2732
]
2833
dependencies = [
2934
'setuptools',
@@ -38,15 +43,13 @@ dependencies = [
3843
'pillow',
3944
# 3.7.0 fixed a bug on parsing some METADATA.pb files.
4045
# We cannot use v4 because our protobuf files have been compiled with v3.
41-
'protobuf>=3.7.0, <4',
46+
'protobuf>=3.19.4, <4',
4247
'requests',
4348
'tabulate',
4449
'unidecode',
4550
'opentype-sanitizer',
4651
'vttlib',
47-
# pygit2 1.16.0 only supports 3.10+
48-
'pygit2==1.15.0; python_version < "3.13"',
49-
'pygit2==1.16.0; python_version >= "3.13"',
52+
'pygit2>=1.16.0',
5053
'strictyaml',
5154
'fontmake[json]>=3.3.0',
5255
'skia-pathops',

0 commit comments

Comments
 (0)