-
Notifications
You must be signed in to change notification settings - Fork 13
/
pyproject.toml
79 lines (69 loc) · 2.62 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
[tool.poetry]
name = 'beaupy'
version = '3.10.0'
description = 'A library of elements for interactive TUIs in Python'
authors = ['Peter Vyboch <pvyboch1@gmail.com>']
license = 'MIT'
repository = 'https://github.com/petereon/beaupy'
readme = 'README.md'
keywords = ["cli", "interactive", "console", "terminal", "interface"]
classifiers = [
'Programming Language :: Python :: 3',
'License :: OSI Approved :: MIT License',
'Development Status :: 5 - Production/Stable',
'Topic :: Terminals',
'Environment :: Console',
'Intended Audience :: Developers'
]
packages = [{ include = "beaupy" }]
[tool.poe]
verbosity = -1
[tool.poe.tasks]
add = { shell = 'poetry add' }
install = { shell = 'poetry install' }
build = { shell = 'poetry build' }
clean = { shell = 'rm -R ./dist .pytest_cache .mypy_cache &> /dev/null' }
isort = { shell = 'poetry run isort ./beaupy' }
black = { shell = 'poetry run black ./beaupy --skip-string-normalization' }
mypy = { shell = 'poetry run mypy ./beaupy/' }
flake8 = { shell = 'poetry run pflake8 ./beaupy/' }
perflint = { shell = "poetry run perflint ./beaupy/" }
lint = { shell = 'echo "Running isort..." ; poetry run poe isort; echo "Running black..." ; poetry run poe black ; echo "Running unify..." ; poetry run unify ./beaupy -r -i ; echo "Running flake8..." ; poetry run poe flake8 ; echo "Running mypy..." ; poetry run poe mypy ; echo Done!' }
"lint:watch" = { shell = "poetry run poe lint ; poetry run watchmedo shell-command --patterns='*.py;*.feature;*.toml' --recursive --drop --command='poetry run poe lint'" }
"test" = { shell = "poetry run pytest --cov=beaupy --cov-report xml:coverage.xml --cov-report term" }
"test:watch" = { shell = "poetry run poe test; poetry run watchmedo shell-command --patterns='*.py;*.feature;*.toml' --recursive --drop --command='poetry run poe test'" }
[tool.poetry.dependencies]
python = ">=3.7.8,<4.0.0"
rich = ">=12.2.0"
emoji = "^2.0.0"
python-yakh = "^0.4.0"
questo = "^0.4.0"
[tool.mypy]
files = ["src"]
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
warn_redundant_casts = true
warn_unreachable = true
warn_unused_ignores = true
show_column_numbers = true
ignore_missing_imports = true
[tool.black]
line-length = 140
[tool.isort]
profile = "black"
[tool.flake8]
max-line-length = 140
max-complexity = 18
select = ["B", "E", "F", "W", "T4", "B9"]
[[tool.pydoc-markdown.loaders]]
type = 'python'
search_path = ['./beaupy']
[tool.pydoc-markdown.renderer]
type = 'markdown'
render_toc = true
[build-system]
requires = ['poetry-core>=1.2.0']
build-backend = 'poetry.core.masonry.api'