forked from fonttools/fontbakery
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
115 lines (112 loc) · 4.23 KB
/
setup.py
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Copyright 2017 The Font Bakery Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# See AUTHORS.txt for the list of Authors and LICENSE.txt for the License.
from setuptools import setup
try:
readme = open('README.md').read()
except IOError:
readme = ''
setup(
name="fontbakery",
use_scm_version={"write_to": "Lib/fontbakery/_version.py"},
url='https://github.com/googlefonts/fontbakery/',
description='Well designed Font QA tool, written in Python 3',
long_description=readme,
long_description_content_type='text/markdown',
author=('Font Bakery authors and contributors:'
' Dave Crossland,'
' Felipe Sanches,'
' Lasse Fister,'
' Marc Foley,'
' Nikolaus Waxweiler,'
' Chris Simpkins,'
' Jens Kutilek,'
' Vitaly Volkov'),
author_email='[email protected]',
package_dir={'': 'Lib'},
packages=['fontbakery',
'fontbakery.reporters',
'fontbakery.profiles',
'fontbakery.commands',
'fontbakery.sphinx_extensions'
],
package_data={'fontbakery': ['data/*.cache',
'data/googlefonts/*_exceptions.txt']},
classifiers=[
'Environment :: Console',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3 :: Only',
],
python_requires='>=3.8',
setup_requires=[
'setuptools>=61.2',
'setuptools_scm[toml]>=6.2',
],
install_requires=[
'axisregistry>=0.3.0',
'beautifulsoup4',
'beziers>=0.5.0', # Uses new fontTools glyph outline access
'cmarkgfm',
'collidoscope>=0.5.2', # 0.5.1 did not yet support python 3.11
# (see https://github.com/googlefonts/fontbakery/issues/3970)
'defcon',
'dehinter>=3.1.0', # 3.1.0 added dehinter.font.hint function
'fontTools[ufo,lxml,unicode]>=4.36.0', # allows for passing location to glyphsets
'font-v',
'gflanguages>=0.3.0', # there was an api simplification/update on v0.3.0 (see https://github.com/googlefonts/gflanguages/pull/7)
'glyphsets>=0.5.0',
'lxml',
'munkres', # for interpolation compatibility checking
'opentype-sanitizer>=7.1.9', # 7.1.9 fixes caret value format = 3 bug
# (see https://github.com/khaledhosny/ots/pull/182)
'opentypespec',
'packaging', # needed for checking Font Bakery's version
'pip-api', # needed for checking Font Bakery's version
# 3.7.0 fixed a bug on parsing some METADATA.pb files.
# We cannot use v4 because our protobuf files have been compiled with v3.
'protobuf>=3.7.0, <4',
# (see https://github.com/googlefonts/fontbakery/issues/2200)
'PyYAML',
'requests',
'rich',
'stringbrewer',
'toml',
'ufolint',
'ufo2ft>=2.25.2', # 2.25.2 updated the script lists for Unicode 14.0
'unicodedata2',
'vharfbuzz>=0.2.0', # API update
],
extras_require={
'docs': [
'recommonmark',
'sphinx >= 1.4',
'sphinx_rtd_theme',
],
'freetype': [
'freetype-py',
],
},
entry_points={
'console_scripts': ['fontbakery=fontbakery.cli:main'],
},
# TODO: review this and make it cross-platform:
# data_files=[
# ('/etc/bash_completion.d', ['snippets/fontbakery.bash-completion']),
# ]
)