-
Notifications
You must be signed in to change notification settings - Fork 53
/
pyproject.toml
118 lines (101 loc) · 2.61 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
112
113
114
115
116
117
118
[tool.poetry]
name = "fastapi-sso"
version = "0.17.0"
description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account)"
authors = ["Tomas Votava <[email protected]>"]
readme = "README.md"
license = "MIT"
repository = "https://github.com/tomasvotava/fastapi-sso"
homepage = "https://tomasvotava.github.io/fastapi-sso/"
documentation = "https://tomasvotava.github.io/fastapi-sso/"
keywords = [
"fastapi",
"sso",
"oauth",
"google",
"facebook",
"spotify",
"linkedin",
]
include = ["fastapi_sso/py.typed"]
[tool.pytest.ini_options]
testpaths = ["tests/"]
asyncio_mode = "auto"
addopts = [
"-v",
"--cov=fastapi_sso",
"--cov-report=xml:coverage.xml",
"--cov-report=json:coverage.json",
"--cov-report=term-missing",
]
[tool.black]
line-length = 120
[tool.ruff]
target-version = "py38"
line-length = 120
[tool.ruff.lint]
select = [
#"D",
"E",
"F",
"B",
"I",
"N",
"UP",
"S",
"A",
"DTZ",
"PT",
"SIM",
"PTH",
"PD",
"RUF",
"T20",
]
ignore = [
"B028", # allow warning without specifying `stacklevel`
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.isort]
known-first-party = ["fastapi_sso"]
[tool.ruff.lint.per-file-ignores]
"tests*/**/*.py" = ["S101"] # Allow asserts in tests
"**/__init__.py" = ["D104"] # Allow missing docstrings in __init__ files
[tool.poe.tasks]
ruff = "ruff check fastapi_sso"
black = "black fastapi_sso"
isort = "isort --settings-path .isort.cfg fastapi_sso"
mypy = "mypy --config-file mypy.ini fastapi_sso"
black-check = "black --check fastapi_sso"
isort-check = "isort --settings-path .isort.cfg --check-only fastapi_sso"
format = ["black", "isort"]
lint = ["ruff", "mypy", "black-check", "isort-check"]
pre-commit = "pre-commit"
test = "pytest"
coverage = "coverage report"
docs = "mkdocs build --clean"
[tool.poetry.group.dev.dependencies]
black = ">=23.7.0"
isort = "^5"
markdown-include = "^0.8.1"
mkdocs-material = { extras = ["imaging"], version = "^9.3.2" }
mkdocstrings = { extras = ["python"], version = ">=0.23,<0.27" }
mypy = "^1"
poethepoet = ">=0.21.1,<0.30.0"
pre-commit = "^3"
pytest = ">=7,<9"
pytest-asyncio = "^0.24"
pytest-cov = ">=4,<6"
uvicorn = ">=0.23.1"
ruff = ">=0.4.2,<0.8.0"
[tool.poetry.dependencies]
fastapi = ">=0.80"
httpx = ">=0.23.0"
oauthlib = ">=3.1.0"
pydantic = { extras = ["email"], version = ">=1.8.0" }
python = ">=3.8,<4.0"
typing-extensions = { version = "^4.12.2", python = "<3.10" }
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"