-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
103 lines (91 loc) · 2.53 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
[build-system]
requires = ["poetry-core>=1.9.0"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
check_untyped_defs = true
disallow_any_generics = true
disallow_incomplete_defs = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_decorators = true
disallow_untyped_defs = true
files = "itchcraft/**/*.py,tests/**/*.py"
implicit_reexport = false
mypy_path = "itchcraft/stubs"
no_implicit_optional = true
strict_equality = true
warn_redundant_casts = true
warn_return_any = true
warn_unused_ignores = true
[tool.poetry]
name = "itchcraft"
version = "0.4.1"
description = "Tech demo for interfacing with heat-based USB insect bite healers"
readme = ["README.md", "USAGE.md"]
authors = ["Claudia Pellegrino <[email protected]>"]
license = "Apache-2.0"
# See https://pypi.org/pypi?%3Aaction=list_classifiers
classifiers = [
"Development Status :: 3 - Alpha",
"Operating System :: POSIX :: Linux",
"Topic :: Utilities",
]
documentation = "https://itchcraft.readthedocs.io/en/stable/"
repository = "https://github.com/claui/itchcraft"
[tool.poetry.dependencies]
python = ">=3.9"
colorama = "*"
fire = "*"
pyusb = "^1.0.2"
tenacity = "^6.2.0"
[tool.poetry.group.dev.dependencies]
autopep8 = "*"
mypy = ">=1.8"
poethepoet = ">=0.24"
pylint = ">=3.0"
pytest = "*"
pytest-mock = "*"
sphinx = ">=7.1.2,<7.2.0"
types-colorama = "*"
[tool.poetry.group.doc.dependencies]
myst-parser = ">=2.0.0"
sphinx = ">=7.1.2,<7.2.0"
sphinx-autoapi = ">=3.3"
sphinx-rtd-theme = ">=3.0"
[tool.poetry.scripts]
itchcraft = "itchcraft.cli:run"
[tool.poe]
verbosity = -1
[tool.poe.tasks]
tasks.cmd = "poe -v"
tasks.help = "List available tasks"
cli.script = "itchcraft.cli:run"
cli.help = "Run command line interface"
doc.shell = """
set -ex
rm -rf build/html build/man
sphinx-build -aqEW -b html doc/sphinx build/html
sphinx-build -qW -b man doc/sphinx build/man
"""
doc.help = "Generate documentation"
hello.script = "itchcraft.cli:run('hello')"
hello.help = "Run hello"
html.script = "webbrowser:open('build/html/index.html')"
html.help = "Browse HTML documentation"
linter.cmd = "pylint --enable-all-extensions itchcraft tests"
linter.help = "Check for style violations"
man.cmd = "man build/man/itchcraft.1"
man.help = "Open manual page"
tests.cmd = "pytest"
tests.help = "Run test suite"
typecheck.cmd = "mypy"
typecheck.help = "Run static type checker"
[tool.pyright]
reportUnsupportedDunderAll = "none"
[tool.pytest.ini_options]
testpaths = "tests"
xfail_strict = true
[tool.ruff]
line-length = 72
[tool.ruff.format]
quote-style = "single"