forked from atlasacademy/fgo-game-data-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
92 lines (80 loc) · 2.46 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
[tool.poetry]
name = "fgo-game-data-api"
version = "5.77.0"
description = "Provide raw and processed FGO game data"
authors = ["squaresmile <[email protected]>"]
packages = [{ include = "app" }]
[tool.poetry.dependencies]
python = "^3.10"
fastapi = "^0.75.1"
uvicorn = { extras = ["standard"], version = "^0.17.5" }
python-dotenv = "^0.20.0"
fuzzywuzzy = "^0.18.0"
python-Levenshtein = "^0.12.2"
orjson = "^3.6.8"
aiofiles = "^0.8.0"
GitPython = "^3.1.27"
SQLAlchemy = "^1.4.35"
psycopg2 = "^2.9.3"
httpx = "^0.22.0"
asyncpg = "^0.25.0"
fastapi-limiter = { git = "https://github.com/long2ice/fastapi-limiter.git" }
fastapi-cache2 = "^0.1.8"
gunicorn = "^20.1.0"
setproctitle = "^1.2.2"
tomli = "^2.0.1"
redis = "^4.2.2"
hiredis = "^2.0.0"
[tool.poetry.dev-dependencies]
pytest = "^7.1.1"
pylint = "^2.13.5"
mypy = "^0.942"
black = "^22.3.0"
pytest-xdist = "^2.5.0"
coverage = "^6.3.2"
fuzzywuzzy-stubs = "^0.0.1"
isort = "^5.10.1"
sqlalchemy2-stubs = "^0.0.2-alpha.21"
pytest-asyncio = "^0.18.3"
asgi-lifespan = "^1.0.1"
types-aiofiles = "^0.8.7"
types-redis = "^4.1.20"
[tool.pytest.ini_options]
asyncio_mode = "auto"
[tool.isort]
line_length = 88
profile = "black"
known_third_party = "orjson"
lines_after_imports = 2
[tool.black]
target-version = ['py310']
[tool.mypy]
plugins = "pydantic.mypy, sqlalchemy.ext.mypy.plugin"
follow_imports = "normal"
show_column_numbers = true
# mypy strict options
warn_unused_configs = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
no_implicit_reexport = true
strict_equality = true
[[tool.mypy.overrides]]
module = ["fastapi_cache.*"]
no_implicit_reexport = false
ignore_missing_imports = true
[tool.pylint.MASTER]
extension-pkg-whitelist = "orjson,pydantic"
[tool.pylint.'MESSAGES CONTROL']
disable = "duplicate-code,invalid-name,line-too-long,logging-fstring-interpolation,missing-docstring,no-else-return,raise-missing-from,too-few-public-methods,too-many-arguments,too-many-branches,too-many-instance-attributes,too-many-lines,too-many-locals,too-many-nested-blocks,too-many-statements,wrong-import-order"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"