-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
109 lines (99 loc) · 2.88 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
[tool.poetry]
name = "app"
version = "0.3.1"
description = "Backend server for integrations."
authors = ["Douglas Panhota <douglaspands@gmail.com>"]
[tool.poetry.dependencies]
python = ">=3.7,<3.9"
fastapi = "^0.65.2"
uvicorn = {extras = ["standard"], version = "^0.14.0"}
alembic = "^1.6.5"
ormar = {extras = ["postgresql"], version = "^0.10.12"}
passlib = {extras = ["bcrypt"], version = "^1.7.4"}
pydantic = {extras = ["email"], version = "^1.8.2"}
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
python-multipart = "^0.0.5"
pydash = "^5.0.1"
gunicorn = "^20.1.0"
[tool.poetry.dev-dependencies]
toml = "^0.10.2"
pytest-asyncio = "^0.15.1"
pytest-cov = "^2.12.1"
pgcli = "^3.1.0"
ipdb = "^0.13.9"
PyYAML = "^5.4.1"
httpx = "^0.18.2"
mypy = "^0.910"
sqlalchemy-stubs = "^0.4"
isort = "^5.9.2"
interrogate = "^1.4.0"
requests = "^2.26.0"
coverage-badge = "^1.0.1"
black = "^21.7b0"
flake8 = "^3.9.2"
flake8-isort = "^4.0.0"
pep8-naming = "^0.12.1"
pyproject-flake8 = "^0.0.1-alpha.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
runserver = "scripts.poetry:runserver"
lint = "scripts.poetry:lint"
test = "scripts.poetry:test"
build = "scripts.poetry:build"
dockerbuild = "scripts.poetry:dockerbuild"
fiximports = "scripts.poetry:fiximports"
codeformatter = "scripts.poetry:codeformatter"
migrate = "scripts.poetry:migrate"
makemigrations = "scripts.poetry:makemigrations"
requirements = "scripts.poetry:requirements"
dbshell = "scripts.poetry:dbshell"
pycacheremove = "scripts.poetry:pycacheremove"
cmd_test = "scripts.poetry:cmd_test"
[tool.flake8]
ignore = ["D104", "D105", "D107", "D203", "D403", "W503", "W504"]
exclude = ["tests", ".git", "__pycache__", "docs/source/conf.py", "old", "build", "dist", ".venv", "scripts", "migrations"]
max-complexity = 10
max-line-length = 120
show-source = "1"
classmethod-decorators = ["classmethod", "validator"]
[tool.mypy]
plugins = ["pydantic.mypy", "sqlmypy"]
ignore_missing_imports = true
disallow_untyped_defs = true
exclude = "__pycache__"
[tool.interrogate]
ignore-init-method = true
ignore-init-module = true
ignore-magic = true
ignore-semiprivate = false
ignore-private = false
ignore-property-decorators = false
ignore-module = false
ignore-nested-functions = false
ignore-nested-classes = true
ignore-setters = false
fail-under = 100
exclude = ["setup.py", "docs", "build"]
ignore-regex = ["^get$", "^mock_.*", ".*BaseClass.*"]
verbose = 2
quiet = false
whitelist-regex = []
color = true
generate-badge = "docs/badge_interrogate.svg"
badge-format = "svg"
[tool.black]
line-length = 120
[tool.isort]
profile = "black"
atomic = true
line_length = 120
multi_line_output = 3
length_sort = true
skip = ["migrations", ".venv", "scripts"]
[tool.pytest.ini_options]
minversion = "6.0"
testpaths = "tests"
python_files = "test_*.py"
addopts = "--cov=app --cov-report html --cov-report term --cov-fail-under=90"