forked from abey79/vpype
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
125 lines (111 loc) · 3.12 KB
/
pyproject.toml
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
116
117
118
119
120
121
122
123
124
125
[tool.poetry]
name = "vpype"
version = "1.12.0-alpha.0"
description = "The Swiss Army knife of vector graphics for pen plotters"
authors = ["Antoine Beyeler <abeyeler@ab-ware.com>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/abey79/vpype"
documentation = "https://vpype.readthedocs.io/en/latest/"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Topic :: Artistic Software",
"Topic :: Multimedia :: Graphics",
]
packages = [
{ include = "vpype" },
{ include = "vpype_cli" },
{ include = "vpype_viewer"},
]
include = [
"README.md",
"CHANGELOG.md",
"LICENSE",
"vpype/*.toml",
"vpype/fonts/*.pickle",
"vpype_viewer/shaders/*.glsl",
"vpype_viewer/resources/*.png",
"vpype_viewer/qtviewer/resources/*",
]
[tool.poetry.scripts]
vpype = "vpype_cli.cli:cli"
[tool.poetry.dependencies]
python = ">=3.8, <3.11"
cachetools = ">=4.2.2"
click = ">=8.0.1,<8.2.0"
multiprocess = ">=0.70.11"
numpy = ">=1.20"
pnoise = ">=0.2.0"
Shapely = {extras = ["vectorized"], version = ">=1.8.2"}
scipy = ">=1.6"
svgelements = ">=1.6.10"
svgwrite = "~1.4"
tomli = ">=2.0.0"
asteval = ">=0.9.26"
# additional dependencies for the viewer and the `show` command
matplotlib = { version = ">=3.3.2,<3.6.0", optional = true }
glcontext = { version = ">=2.3.2", optional = true } # 2.3.2 needed to fix #200
moderngl = { version = ">=5.6.2", optional = true }
Pillow = { version = ">=9.0.1", optional = true }
PySide2 = { version = ">=5.15.2", optional = true }
[tool.poetry.dev-dependencies]
coverage = {extras = ["toml"], version = ">=5.4"}
pytest = ">=6.2.3"
pytest-cov = ">=2.11.0"
pytest-benchmark = ">=3.2.3"
black = ">=22.3.0"
isort = ">=5.8.0"
pyinstaller = ">=4.3"
pyinstaller-hooks-contrib = ">=2022.3" # fix for shapely 1.8.1
packaging = ">=20.8"
pytest-mpl = ">=0.12"
mypy = ">=0.901"
types-cachetools = ">=4.2.4"
types-setuptools = ">=57.4.17"
[tool.poetry.extras]
all = ["matplotlib", "glcontext", "moderngl", "Pillow", "PySide2"]
[build-system]
requires = ["poetry-core>=1.0.8"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
addopts = "--mpl --mpl-baseline-path tests/data/baseline --benchmark-disable"
[tool.mypy]
ignore_missing_imports = true
allow_redefinition = true
files = "vpype,vpype_cli,vpype_viewer,tests"
[[tool.mypy.overrides]]
module = "cachetools.keys"
ignore_missing_imports = true # somehow needed to silence one particular error
[tool.coverage.run]
branch = true
source = ["."]
omit = [
"*/.tox/*",
"*/__main__.py",
"*/setup.py",
"*/venv*/*",
"vpype_viewer/qtviewer/*", # cannot be tested
]
[tool.coverage.report]
show_missing = true
skip_covered = true
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if self.debug:",
"if settings.DEBUG",
"raise AssertionError",
"raise NotImplementedError",
"if 0:",
"if __name__ == .__main__.:",
'class .*\bProtocol\):',
'@(abc\.)?abstractmethod',
]
[tool.black]
line-length = 95
target-version = ["py36", "py37", "py38"]
[tool.isort]
profile = "black"
line_length = 95
src_paths = ["vpype", "vpype_cli", "vpype_viewer", "tests"]