beziers==0.6.*,>=0.6.0
cmarkgfm>=0.4
defcon
dehinter>=3.1.0
fontTools[ufo]>=4.47.0
freetype-py<2.4.0
Jinja2>=3.0.0
munkres
opentypespec>=1.9.2
opentype-sanitizer==9.*,>=9.1.0
packaging>=14.5
pip-api
PyYAML
requests>=2.19
rich
toml
ufolint
ufo2ft>=2.25.2
uharfbuzz
vharfbuzz>=0.2.0

[:python_version < "3.11"]
typing_extensions

[adobefonts]

[all]
fontbakery[docs]
fontbakery[adobefonts]
fontbakery[fontval]
fontbakery[fontwerk]
fontbakery[googlefonts]
fontbakery[iso15008]
fontbakery[notofonts]
fontbakery[typenetwork]

[beautifulsoup4]
beautifulsoup4>=4.7.1

[docs]
myst-parser==2.*,>=2.0.0
sphinx==7.1.*,>=7.1.2
sphinx_rtd_theme==2.*,>=2.0.0
m2r==0.3.*,>=0.3.1

[fontval]
lxml

[fontwerk]
fontbakery[googlefonts]

[googlefonts]
collidoscope>=0.5.2
fonttools[lxml,unicode]
protobuf<4,>=3.7.0
stringbrewer
unicodedata2
fontbakery[beautifulsoup4]
fontbakery[googlefontsalwayslatest]
fontbakery[shaperglot]

[googlefontsalwayslatest]
axisregistry==0.4.*,>=0.4.12
gflanguages==0.7.*,>=0.7.3
gfsubsets>=2024.9.25
glyphsets==1.*,>=1.1.0
shaperglot==1.*,>=1.0.2

[iso15008]

[microsoft]

[notofonts]
fontbakery[googlefonts]

[shaperglot]
shaperglot==1.*,>=1.0.0a1

[tests]
black==23.12.1
pylint==3.0.3
pytest-cov==4.1.0
pytest-xdist==3.5.0
requests-mock==1.10.0
fontbakery[all]

[typenetwork]
unicodedata2
fontbakery[beautifulsoup4]
fontbakery[shaperglot]
