Skip to content

Commit e987d37

Browse files
authored
Merge pull request #390 from fonttools/housekeeping
Housekeeping
2 parents 440b2dd + 963f687 commit e987d37

File tree

8 files changed

+60
-49
lines changed

8 files changed

+60
-49
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
steps:
1515
- uses: actions/checkout@v4
1616
- name: Set up Python
17-
uses: actions/setup-python@v4
17+
uses: actions/setup-python@v5
1818
with:
1919
python-version: "3.x"
2020
- name: Lint
@@ -28,7 +28,7 @@ jobs:
2828
steps:
2929
- uses: actions/checkout@v4
3030
- name: Set up Python
31-
uses: actions/setup-python@v4
31+
uses: actions/setup-python@v5
3232
with:
3333
python-version: "3.x"
3434
- name: Lint
@@ -40,13 +40,13 @@ jobs:
4040
runs-on: ${{ matrix.platform }}
4141
strategy:
4242
matrix:
43-
python-version: ["3.8", "3.13"]
43+
python-version: ["3.9", "3.13"]
4444
platform: [ubuntu-latest, windows-latest]
4545

4646
steps:
4747
- uses: actions/checkout@v4
4848
- name: Set up Python ${{ matrix.python-version }}
49-
uses: actions/setup-python@v4
49+
uses: actions/setup-python@v5
5050
with:
5151
python-version: ${{ matrix.python-version }}
5252
- name: Install packages
@@ -86,7 +86,7 @@ jobs:
8686
steps:
8787
- uses: actions/checkout@v4
8888
- name: Set up Python
89-
uses: actions/setup-python@v4
89+
uses: actions/setup-python@v5
9090
with:
9191
python-version: "3.x"
9292
- name: Install dependencies

pyproject.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ classifiers = [
1717
"License :: OSI Approved :: Apache Software License",
1818
]
1919
urls = { Homepage = "https://github.com/fonttools/ufoLib2" }
20-
requires-python = ">=3.8"
20+
requires-python = ">=3.9"
2121
dependencies = ["attrs >= 22.1.0", "fonttools[ufo] >= 4.0.0"]
2222
dynamic = ["version"]
2323

@@ -27,9 +27,9 @@ content-type = "text/markdown"
2727

2828
[project.optional-dependencies]
2929
lxml = ["lxml"]
30-
converters = ["cattrs >= 24.1"]
31-
json = ["cattrs >= 24.1", "orjson ; platform_python_implementation != 'PyPy'"]
32-
msgpack = ["cattrs >= 24.1", "msgpack"]
30+
converters = ["cattrs >= 25.1.1"]
31+
json = ["cattrs >= 25.1.1", "orjson ; platform_python_implementation != 'PyPy'"]
32+
msgpack = ["cattrs >= 25.1.1", "msgpack"]
3333

3434
[tool.setuptools]
3535
package-dir = { "" = "src" }
@@ -48,7 +48,7 @@ namespaces = false
4848
write_to = "src/ufoLib2/_version.py"
4949

5050
[tool.black]
51-
target-version = ["py38"]
51+
target-version = ["py39"]
5252

5353
[tool.isort]
5454
multi_line_output = 3
@@ -67,7 +67,7 @@ filterwarnings = [
6767
]
6868

6969
[tool.mypy]
70-
python_version = "3.8"
70+
python_version = "3.9"
7171
disallow_incomplete_defs = true
7272
no_implicit_optional = true
7373
strict_optional = true

requirements-dev.txt

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,61 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile --python 3.8 requirements-dev.in
3-
black==24.8.0
2+
# uv pip compile --universal --python 3.9 requirements-dev.in
3+
black==25.1.0
44
# via -r requirements-dev.in
5-
click==8.1.7
5+
click==8.1.8 ; python_full_version < '3.10'
66
# via black
7-
coverage==7.6.1
8-
# via -r requirements-dev.in
9-
exceptiongroup==1.2.2
7+
click==8.2.1 ; python_full_version >= '3.10'
8+
# via black
9+
colorama==0.4.6 ; sys_platform == 'win32'
1010
# via
11-
# -c requirements.txt
11+
# click
1212
# pytest
13-
flake8==7.1.1
13+
coverage==7.9.1
14+
# via -r requirements-dev.in
15+
exceptiongroup==1.3.0 ; python_full_version < '3.11'
16+
# via pytest
17+
flake8==7.2.0
1418
# via -r requirements-dev.in
15-
iniconfig==2.0.0
19+
iniconfig==2.1.0
1620
# via pytest
17-
isort==5.13.2
21+
isort==6.0.1
1822
# via -r requirements-dev.in
1923
mccabe==0.7.0
2024
# via flake8
21-
mypy==1.13.0
25+
mypy==1.16.1
2226
# via -r requirements-dev.in
23-
mypy-extensions==1.0.0
27+
mypy-extensions==1.1.0
2428
# via
2529
# black
2630
# mypy
27-
packaging==24.1
31+
packaging==25.0
2832
# via
2933
# black
3034
# pytest
3135
pathspec==0.12.1
36+
# via
37+
# black
38+
# mypy
39+
platformdirs==4.3.8
3240
# via black
33-
platformdirs==4.3.6
34-
# via black
35-
pluggy==1.5.0
41+
pluggy==1.6.0
3642
# via pytest
37-
pycodestyle==2.12.1
43+
pycodestyle==2.13.0
3844
# via flake8
39-
pyflakes==3.2.0
45+
pyflakes==3.3.2
4046
# via flake8
41-
pytest==8.3.3
47+
pygments==2.19.1
48+
# via pytest
49+
pytest==8.4.1
4250
# via -r requirements-dev.in
43-
tomli==2.0.2
51+
tomli==2.2.1 ; python_full_version < '3.11'
4452
# via
4553
# black
4654
# mypy
4755
# pytest
48-
typing-extensions==4.12.2
56+
typing-extensions==4.14.0
4957
# via
5058
# -c requirements.txt
5159
# black
60+
# exceptiongroup
5261
# mypy

requirements.txt

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile --all-extras --python 3.8 pyproject.toml
2+
# uv pip compile --all-extras --universal --python 3.9 pyproject.toml
33
appdirs==1.4.4
44
# via fs
5-
attrs==24.2.0
5+
attrs==25.3.0
66
# via
77
# ufolib2 (pyproject.toml)
88
# cattrs
9-
cattrs==24.1.2
9+
cattrs==25.1.1
1010
# via ufolib2 (pyproject.toml)
11-
exceptiongroup==1.2.2
11+
exceptiongroup==1.3.0 ; python_full_version < '3.11'
1212
# via cattrs
13-
fonttools==4.54.1
13+
fonttools==4.58.4
1414
# via ufolib2 (pyproject.toml)
1515
fs==2.4.16
1616
# via fonttools
17-
lxml==5.3.0
17+
lxml==5.4.0
1818
# via ufolib2 (pyproject.toml)
19-
msgpack==1.1.0
19+
msgpack==1.1.1
2020
# via ufolib2 (pyproject.toml)
21-
orjson==3.10.10
21+
orjson==3.10.18 ; platform_python_implementation != 'PyPy'
2222
# via ufolib2 (pyproject.toml)
23-
setuptools==75.3.0
23+
setuptools==80.9.0
2424
# via fs
25-
six==1.16.0
25+
six==1.17.0
2626
# via fs
27-
typing-extensions==4.12.2
28-
# via cattrs
27+
typing-extensions==4.14.0
28+
# via
29+
# cattrs
30+
# exceptiongroup

src/ufoLib2/objects/info/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def _convert_WidthClass(value: int | None) -> WidthClass | None:
138138

139139

140140
def _convert_WoffMetadataExtensions(
141-
values: Sequence[WoffMetadataExtension | Mapping[str, Any]] | None
141+
values: Sequence[WoffMetadataExtension | Mapping[str, Any]] | None,
142142
) -> list[WoffMetadataExtension] | None:
143143
return _convert_optional_list_of_dicts(WoffMetadataExtension, values)
144144

src/ufoLib2/serde/util.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def read_bytes(fp: PathLike | BinaryIO) -> bytes:
1010
fp = cast(BinaryIO, fp)
1111
return fp.read()
1212
else:
13-
fp = cast(PathLike, fp)
13+
fp = cast(PathLike, fp) # type: ignore
1414
with open(fp, "rb") as f:
1515
return f.read()
1616

@@ -20,6 +20,6 @@ def write_bytes(fp: PathLike | BinaryIO, data: bytes) -> None:
2020
fp = cast(BinaryIO, fp)
2121
fp.write(data)
2222
else:
23-
fp = cast(PathLike, fp)
23+
fp = cast(PathLike, fp) # type: ignore
2424
with open(fp, "wb") as f:
2525
f.write(data)

tests/test_ufoLib2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ def test_guidelines() -> None:
241241
]
242242

243243
# setter should clear existing guidelines
244-
font.guidelines = [{"x": 100}, ufoLib2.objects.Guideline(y=20)] # type: ignore
244+
font.guidelines = [{"x": 100}, ufoLib2.objects.Guideline(y=20)]
245245

246246
assert len(font.guidelines) == 2
247247
assert font.guidelines == [

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = lint, py3{8,9,10,11,12,13}-cov, htmlcov
2+
envlist = lint, py3{9,10,11,12,13}-cov, htmlcov
33
isolated_build = true
44

55
[testenv]

0 commit comments

Comments
 (0)