-
Notifications
You must be signed in to change notification settings - Fork 25
/
pyproject.toml
113 lines (100 loc) · 2.35 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
[tool.poetry]
name = "nebula"
version = "6.0.6"
description = "Open source broadcast automation system"
authors = ["Nebula Broadcast <info@nebulabroadcast.com>"]
[tool.poetry.group.dev.dependencies]
types-requests = "^2.31.0.20240311"
types-aiofiles = "^23.2.0.20240311"
asyncpg-stubs = "^0.29.1"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
#
# Dependencies
#
[tool.poetry.dependencies]
python = "^3.10"
aiofiles = "^23.2.1"
asyncpg = "^0.29.0"
email-validator = "^2.1.1"
fastapi = "^0.110.0"
geoip2 = "^4.8.0"
granian = "^1.1.1"
gunicorn = "^21.2.0"
httpx = "^0.27.0"
mistune = "^3.0.1"
nxtools = "^1.6"
pydantic = "^2.6.3"
python-dotenv = "^1.0.1"
redis = "^5.0.2"
requests = "^2.31.0"
rich = "^13.7.1"
shortuuid = "^1.0.12"
user-agents = "^2.2.0"
uvicorn = {extras = ["standard"], version = "0.27.1"}
[tool.poetry.dev-dependencies]
mypy = "^1.9"
pytest = "^8.0"
pytest-asyncio = "^0.20.3"
ruff = "^0.3.1"
#
# Tools
#
[tool.ruff]
line-length = 88
[tool.ruff.format]
indent-style = "space"
line-ending = "auto"
skip-magic-trailing-comma = false
docstring-code-format = true
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"C4", # flake8-comprehensions
"B", # flake8-bugbear
"ISC", # flake8-implicit-str-concat
"C4", # flake8-comprehensions
"UP", # pyupgrade
"ASYNC", # flake8-async
"SIM", # flake8-simplify
"ISC", # flake8-implicit-str-concat
# "ANN", # flake8-annotations
# "N", # pep8-naming
# "D", # pydocstyle
# "S", # flake8-bandit
]
ignore = [
"ISC001",
"B008", # do not perform function calls in argument defaults
"C901", # too complex. C'mon - this is a complex project
"ANN101", # missing type annotation for self
"ANN102", # missing type annotation for cls
]
[tool.mypy]
plugins = [
"pydantic.mypy"
]
#follow_imports = "silent"
#strict = true
warn_redundant_casts = true
warn_unused_ignores = true
disallow_any_generics = true
check_untyped_defs = true
disallow_untyped_defs = true
no_implicit_reexport = true
explicit_package_bases = true
strict_optional = true
exclude = "tests/|venv/"
[[tool.mypy.overrides]]
module = [
"nxtools",
"user_agents",
"tomllib"
]
ignore_errors = true
follow_imports = "skip"
ignore_missing_imports = true