-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathpyproject.toml
More file actions
80 lines (72 loc) · 2.52 KB
/
pyproject.toml
File metadata and controls
80 lines (72 loc) · 2.52 KB
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
[tool.poetry]
name = "hytek-parser"
version = "1.2.0"
description = "Parsers for the files produced by Hytek's Meet Manager."
license = "MIT"
authors = ["Nino Maruszewski <nino.maruszewski@hotmail.com>"]
readme = "README.md"
homepage = "https://www.github.com/SwimComm/hytek-parser"
repository = "https://www.github.com/SwimComm/hytek-parser"
documentation = "https://www.github.com/SwimComm/hytek-parser"
keywords = ["hytek", "parsers", "hy3"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Topic :: Text Processing",
"Typing :: Typed",
]
[tool.poetry.urls]
"Bug Tracker" = "https://www.github.com/SwimComm/hytek-parser/issues"
[tool.poetry.dependencies]
python = "^3.9"
attrs = "^21.4.0"
aenum = "^3.1.8"
xlrd = "^2.0.1"
[tool.poetry.dev-dependencies]
pytest = "^7.0.0"
pytest-cov = "^3.0.0"
mypy = "^0.931"
black = "^22.1.0"
isort = "^5.10.1"
flake8 = "^4.0.1"
pyproject-flake8 = "^0.0.1-alpha.2"
flake8-annotations = "^2.7.0"
flake8-bugbear = "^22.1.11"
flake8-builtins = "^1.5.3"
flake8-docstrings = "^1.6.0"
flake8-tidy-imports = "^4.6.0"
pep8-naming = "^0.12.1"
pre-commit = "^2.17.0"
taskipy = "^1.9.0"
pip-licenses = "^3.5.3"
[tool.taskipy.tasks]
# Lint the app
lint = { cmd = "pre-commit run --all-files -v", help = "lint using flake8, mypy, black, isort, and pre-commit" }
# Formatting scripts
format = { cmd = "task format_black && task format_isort", help = "format using black, isort, and autoflake" }
format_black = { cmd = "black hytek_parser", help = "format using black" }
format_isort = { cmd = "isort hytek_parser", help = "format imports using isort" }
# License check
license_check = { cmd = "pip-licenses --fail-on 'GPLv3;GPLv2;AGPLv3;AGPLv2;AGPL'", help = "check licenses for GPL or AGPL" }
# Set up pre-commit
precommit = { cmd = "pre-commit install --hook-type pre-commit --hook-type commit-msg", help = "set up pre-commit" }
[tool.flake8]
max-line-length = 80
ignore = "D203,E203,E501,W503,D100,D104,D105,D107,ANN101,ANN002,ANN003,ANN204"
per-file-ignores = '**/__init__.py:I252'
max-complexity = 10
select = "A,ANN,B,C,D,E,EXE,F,I,N,W,B950"
exclude = ".git,__pycache__,logs,.venv,.cache,.mypy_cache,.pytest_cache"
ban-relative-imports = "true"
[tool.mypy]
exclude = ['.mypy_cache', '.venv']
ignore_missing_imports = true
ignore_missing_imports_per_module = true
disallow_untyped_defs = true
show_error_codes = true
[tool.isort]
profile = "black"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"