inbox/pyproject.toml

110 lines
2.6 KiB
TOML
Raw Normal View History

2023-10-14 11:52:04 +00:00
[tool.poetry]
name = "discoursio-inbox"
2024-01-10 13:31:01 +00:00
version = "0.2.19"
2023-10-14 11:52:04 +00:00
description = "Inbox server for discours.io"
authors = ["Tony Rewin <anton.rewin@gmail.com>"]
[tool.poetry.dependencies]
2023-10-14 12:09:40 +00:00
python = "^3.12"
2023-12-17 17:13:17 +00:00
sentry-sdk = "^1.39.1"
2023-10-14 12:59:43 +00:00
redis = { extras = ["hiredis"], version = "^5.0.1" }
2023-11-22 12:09:24 +00:00
ariadne = "^0.21"
2023-12-17 17:13:17 +00:00
starlette = "^0.34.0"
2023-10-14 12:09:40 +00:00
itsdangerous = "^2.1.2"
2023-11-30 06:49:23 +00:00
aiohttp = "^3.9.1"
2023-12-19 15:31:31 +00:00
requests = "^2.31.0"
2024-01-24 22:09:11 +00:00
granian = "^1.0.1"
2024-01-25 08:28:06 +00:00
pre-commit = "^3.6.0"
2023-10-14 11:52:04 +00:00
2023-12-02 10:59:25 +00:00
[tool.poetry.group.dev.dependencies]
setuptools = "^69.0.2"
2023-12-17 17:13:17 +00:00
isort = "^5.13.2"
pyright = "^1.1.341"
mypy = "^1.7.1"
ruff = "^0.1.8"
black = "^23.12.0"
pytest = "^7.4.3"
2023-12-02 10:59:25 +00:00
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
2023-10-17 15:22:05 +00:00
[tool.ruff]
line-length = 120
2024-01-25 08:28:06 +00:00
extend-select = [
# E and F are enabled by default
'B', # flake8-bugbear
'C4', # flake8-comprehensions
'C90', # mccabe
'I', # isort
'N', # pep8-naming
'Q', # flake8-quotes
'RUF100', # ruff (unused noqa)
'S', # flake8-bandit
'W', # pycodestyle
]
extend-ignore = [
'B008', # function calls in args defaults are fine
'B009', # getattr with constants is fine
'B034', # re.split won't confuse us
'B904', # rising without from is fine
'E501', # leave line length to black
'N818', # leave to us exceptions naming
'S101', # assert is fine
2024-01-25 09:25:52 +00:00
'RUF100', # black's noqa
2024-01-25 08:28:06 +00:00
]
2024-01-25 09:25:52 +00:00
flake8-quotes = { inline-quotes = 'single', multiline-quotes = 'double' }
2024-01-25 08:28:06 +00:00
mccabe = { max-complexity = 13 }
2023-11-22 12:09:24 +00:00
target-version = "py312"
2023-11-27 08:13:17 +00:00
2024-01-25 09:25:52 +00:00
[tool.ruff.format]
quote-style = 'single'
[tool.black]
skip-string-normalization = true
2024-01-25 08:28:06 +00:00
[tool.ruff.isort]
combine-as-imports = true
lines-after-imports = 2
known-first-party = ['resolvers', 'services', 'orm', 'tests']
[tool.ruff.per-file-ignores]
'tests/**' = ['B018', 'S110', 'S501']
2024-01-25 09:25:52 +00:00
[tool.mypy]
python_version = "3.12"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
exclude = ["nb"]
2024-01-25 08:28:06 +00:00
[tool.pytest.ini_options]
asyncio_mode = 'auto'
2023-11-27 08:13:17 +00:00
[tool.pyright]
venvPath = "."
venv = ".venv"
2023-12-02 10:59:25 +00:00
include = ["."]
useLibraryCodeForTypes = true
disableLanguageServices = false
disableOrganizeImports = false
reportMissingImports = false
reportMissingModuleSource = "warning"
reportImportCycles = "warning"
maxMemoryForLargeFile = 4096
pythonVersion = "3.12"
autoImportCompletions = true
useVirtualEnv = true
typeCheckingMode = "basic"
disableJediCompletion = false
disableCompletion = false
disableSnippetCompletion = false
disableGoToDefinition = false
disableRenaming = false
disableSignatureHelp = false
diagnostics = true
logLevel = "Information"
pluginSearchPaths = []
typings = {}
mergeTypeStubPackages = false