This repository has been archived by the owner on Nov 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
100 lines (85 loc) · 2.02 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
# Python Poetry Dev Setup Template.
#
# Original Author: Grant Ramsay
# Version: 0.2.0
# License: MIT
# Repository: https://github.com/seapagan/poetry-dev-setup
#
# Please leave the above information intact if you use this template.
[tool.poetry]
name = "dev-setup"
version = "0.1.0"
description = "A bare-bones Poetry setup including Dev tools"
authors = ["Grant Ramsay <[email protected]>"]
readme = "README.md"
license = "MIT"
# you can remove this next line if you don't want to publish to PyPI, or your
# project is not an installable package.
# Otherise, rename the 'app' directory to your package name
packages = [{include = "app"}]
[tool.poetry.dependencies]
python = ">=3.8.1,<4.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# Configure dev dependencies
[tool.poetry.group.dev.dependencies]
# linting and security checks
bandit = { extras = ["toml"], version = "^1.7.5" }
black = "^23.3.0"
flake8 = "^6.0.0"
flake8-docstrings = "^1.7.0"
flake8-pyproject = "^1.2.3"
flake8-pytest-style = "^1.7.2"
isort = "^5.12.0"
pylint = "^2.17.2"
pep8-naming = "^0.13.3"
pre-commit = "^3.3.3"
pydocstyle = "^6.3.0"
# task runner
poethepoet = "^0.20.0"
# testing
pytest = "^7.4.0"
pytest-cov = "^4.0.0"
pytest-xdist = "^3.2.1"
pytest-sugar = "^0.9.7"
pytest-randomly = "^3.12.0"
pytest-reverse = "^1.6.0"
pytest-asyncio = "^0.21.0"
pytest-mock = "^3.11.1"
mock = "^5.0.2"
faker = "^18.11.2"
# setup PoeThePoet tasks
[tool.poe.tasks]
pre = "pre-commit run --all-files"
lint = "pylint **/*.py"
# configure assorted tools and linters
[tool.isort]
profile = "black"
[tool.black]
line-length = 80
exclude = '''
/(
\.git
| \.mypy_cache
| \.tox
| venv
| \.venv
| _build
| build
| dist
)/
'''
[tool.flake8]
max-line-length = 80
exclude = ["__init__.py", ".git"]
extend-ignore=["E203", "W503"]
docstring-convention = "google"
[tool.bandit]
exclude_dirs = []
[tool.bandit.assert_used]
skips = ['*_test.py', '*/test_*.py']
[tool.pydocstyle]
add-ignore = ["D104"]
[tool.pytest.ini_options]
filterwarnings = []