core/pyproject.toml

120 lines
2.8 KiB
TOML
Raw Normal View History

2023-10-23 14:47:11 +00:00
[tool.poetry]
name = "discoursio-core"
2024-02-02 12:03:44 +00:00
version = "0.3.0"
2023-10-23 14:47:11 +00:00
description = "core module for discours.io"
authors = ["discoursio devteam"]
license = "MIT"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.12"
SQLAlchemy = "^2.0.22"
2023-11-22 18:06:45 +00:00
psycopg2-binary = "^2.9.9"
2023-10-23 14:47:11 +00:00
redis = {extras = ["hiredis"], version = "^5.0.1"}
2024-01-28 01:02:22 +00:00
sentry-sdk = "^1.4.1"
2024-01-25 19:41:27 +00:00
starlette = "^0.36.1"
2023-11-29 07:23:41 +00:00
gql = "^3.4.1"
ariadne = "^0.21"
aiohttp = "^3.9.1"
2024-01-25 08:04:00 +00:00
pre-commit = "^3.6.0"
2024-01-25 19:58:35 +00:00
granian = "^1.0.1"
2024-01-28 13:33:45 +00:00
google-analytics-data = "^0.18.3"
2024-01-29 02:00:54 +00:00
opensearch-py = "^2.4.2"
2023-10-23 14:47:11 +00:00
2023-11-28 07:53:48 +00:00
[tool.poetry.group.dev.dependencies]
setuptools = "^69.0.2"
2023-12-17 20:30:20 +00:00
pyright = "^1.1.341"
pytest = "^7.4.2"
black = { version = "^23.12.0", python = ">=3.12" }
2024-02-02 12:03:44 +00:00
ruff = { version = "^0.1.15", python = ">=3.12" }
2023-12-17 20:30:20 +00:00
isort = "^5.13.2"
2023-11-28 07:53:48 +00:00
2023-10-23 14:47:11 +00:00
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
2024-02-02 12:16:53 +00:00
[[tool.poetry.packages]]
include = "./*"
2024-02-02 12:03:44 +00:00
[tool.setuptools.dynamic]
version = {attr = "core.__version__"}
readme = {file = "README.md"}
2024-01-25 08:02:31 +00:00
[tool.ruff]
2023-10-23 14:47:11 +00:00
line-length = 120
2024-01-25 08:02:31 +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
'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 19:41:27 +00:00
'E712', # allow == True
2024-01-25 08:02:31 +00:00
]
flake8-quotes = { inline-quotes = 'single', multiline-quotes = 'double' }
mccabe = { max-complexity = 13 }
target-version = "py312"
2023-10-23 14:47:11 +00:00
2024-01-25 08:02:31 +00:00
[tool.ruff.format]
quote-style = 'single'
2023-10-23 14:47:11 +00:00
2024-01-25 19:41:27 +00:00
[tool.black]
skip-string-normalization = true
2024-01-25 08:02:31 +00:00
[tool.ruff.isort]
combine-as-imports = true
lines-after-imports = 2
2024-01-25 19:41:27 +00:00
known-first-party = ['resolvers', 'services', 'orm', 'tests']
2023-10-23 14:47:11 +00:00
2024-01-25 08:02:31 +00:00
[tool.ruff.per-file-ignores]
'tests/**' = ['B018', 'S110', 'S501']
2023-11-27 08:12:42 +00:00
2024-01-25 19:41:27 +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:02:31 +00:00
[tool.pytest.ini_options]
asyncio_mode = 'auto'
2023-11-27 08:12:42 +00:00
[tool.pyright]
venvPath = "."
venv = ".venv"
include = ["."]
2023-11-29 08:00:00 +00:00
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