113 lines
2.7 KiB
TOML
113 lines
2.7 KiB
TOML
[tool.poetry]
|
|
name = "discoursio-core"
|
|
version = "0.2.22"
|
|
description = "core module for discours.io"
|
|
authors = ["discoursio devteam"]
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.12"
|
|
SQLAlchemy = "^2.0.22"
|
|
psycopg2-binary = "^2.9.9"
|
|
redis = {extras = ["hiredis"], version = "^5.0.1"}
|
|
sentry-sdk = "^1.4.1"
|
|
starlette = "^0.36.1"
|
|
gql = "^3.4.1"
|
|
ariadne = "^0.21"
|
|
aiohttp = "^3.9.1"
|
|
pre-commit = "^3.6.0"
|
|
granian = "^1.0.1"
|
|
google-analytics-data = "^0.18.3"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
setuptools = "^69.0.2"
|
|
pyright = "^1.1.341"
|
|
pytest = "^7.4.2"
|
|
black = { version = "^23.12.0", python = ">=3.12" }
|
|
ruff = { version = "^0.1.8", python = ">=3.12" }
|
|
isort = "^5.13.2"
|
|
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
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
|
|
'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
|
|
'E712', # allow == True
|
|
]
|
|
flake8-quotes = { inline-quotes = 'single', multiline-quotes = 'double' }
|
|
mccabe = { max-complexity = 13 }
|
|
target-version = "py312"
|
|
|
|
[tool.ruff.format]
|
|
quote-style = 'single'
|
|
|
|
[tool.black]
|
|
skip-string-normalization = true
|
|
|
|
[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']
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12"
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
ignore_missing_imports = true
|
|
exclude = ["nb"]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = 'auto'
|
|
|
|
[tool.pyright]
|
|
venvPath = "."
|
|
venv = ".venv"
|
|
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
|