-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
37 lines (32 loc) · 1.41 KB
/
Copy pathpyproject.toml
File metadata and controls
37 lines (32 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[project]
name = "crossglyph"
version = "0.9.1"
description = "Build and tune CrossPoint .cpfont families for Xteink e-readers"
requires-python = ">=3.12"
dependencies = ["pillow>=10", "fonttools>=4.50",
# 2.5.x bundles FreeType 2.13, which is what the tuning knobs
# (FT_Property_Set stem darkening, FT_Outline_Embolden) need.
"freetype-py>=2.5.1",
# Resolves a font's own Arabic joining rules at build time.
# The device has no shaper and asks for shaped codepoints, so
# the shaping has to happen before the font ships.
"uharfbuzz>=0.56",
# Runs the render core, the firmware's own drawing code built
# to wasm. See docs/internals.md#preview-architecture.
"wasmtime>=47",
# The preview is the product, not an extra.
"fastapi>=0.115", "uvicorn>=0.30"]
[project.scripts]
crossglyph = "crossglyph.cli:main"
[dependency-groups]
# httpx2 is what Starlette's TestClient needs. pytest-xdist is for the full run
# only: its per-worker startup costs more than a scoped run takes, so it is
# deliberately not in addopts.
dev = ["pytest>=8", "pytest-xdist>=3", "httpx2>=2"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/crossglyph"]
[tool.pytest.ini_options]
testpaths = ["tests"]