/
pyproject.toml
111 lines (100 loc) · 2.79 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
110
111
[tool.poetry]
name = "bel"
version = "2.0.0"
description = ""
authors = ["William Hayes <william.s.hayes@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.7"
python-arango = "^5.4.0"
jinja2 = "^2.11.2"
pyyaml = "^5.3.1"
ulid-py = "^0.0.12"
lxml = "^4.5.0"
cityhash = "^0.2.3"
python-dateutil = "^2.8.1"
elasticsearch = "~6"
cachetools = "^4.1.0"
httpx = "^0.12.1"
redis = "^3.4.1"
boltons = "^20.1.0"
pydantic = "^1.5"
typer = "^0.1.1"
semver = "^2.9.1"
python-dotenv = "^0.13.0"
loguru = "^0.5.1"
pytest = "^6.0.1"
fastapi = {version = "^0.61.0", extras = ["api"]}
gunicorn = {version = "^20.0.4", extras = ["api"]}
uvicorn = {version = "^0.11.8", extras = ["api"]}
python-multipart = {version = "^0.0.5", extras = ["api"]}
starlette_prometheus = {version = "^0.7.0", extras = ["api"]}
aiofiles = {version = "^0.5.0", extras = ["api"]}
[tool.poetry.dev-dependencies]
pytest = "^6"
pytest-pep8 = "^1.0.6"
pytest-sugar = "^0.9.3"
pytest-cache = "^1.0"
pytest-cov = "^2.10.0"
pytest-env = "^0.6.2"
pytest-mypy = "^0.6.2"
pylint = "^2.5.3"
pydocstyle = "^5.0.2"
colorama = "^0.4.3"
pygments = "^2.6.1"
[tool.poetry.extras]
api = ["fastapi^0.61.0", "gunicorn^20.0.4", "uvicorn^0.11.8", "python-multipart^0.0.5", "starlette_prometheus^0.7.0", "aiofiles^0.5.0"]
[tool.black]
line-length = 100
target-version = ['py37', 'py38']
include = '\.pyi?$'
exclude = '''
/(
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
# The following are specific to Black, you probably don't want those.
| blib2to3
| tests/data
| profiling
)/
'''
[tool.isort]
multi_line_output=3
include_trailing_comma=true
force_grid_wrap=false
use_parentheses=true
line_length=100
import_heading_stdlib="Standard Library"
import_heading_thirdparty="Third Party Imports"
import_heading_firstparty="Local Imports"
known_third_party = ["arango", "boltons", "dramatiq", "elasticapm", "elasticsearch", "fastapi", "loguru", "pydantic", "pythonjsonlogger", "redis", "requests", "sentry_sdk", "starlette", "starlette_prometheus", "structlog", "tenacity", "ulid", "urllib3", "xxhash", "yaml"]
[tool.coverage.run]
source = ["bel"]
[tool.coverage.report]
exclude_lines = [
# Have to re-enable the standard pragma
"pragma: no cover",
# Don't complain about missing debug-only code:
"def __repr__",
"if self.debug",
# Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError",
# Don't complain if non-runnable code isn't run:
"if 0:",
"if __name__ == .__main__.:",
]
[tool.pytest.ini_options]
minversion = "6.0"
# Ignore E501=line too long, W391=end of file blank lines E128 continuation line under-indented
pep8ignore = "*.py E501 W391 E128 W503 E402"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"