[tool.poetry] name = "core" version = "0.3.2" 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 = { version = "^1.4.1", extras = ["starlette", "ariadne", "sqlalchemy"] } starlette = "^0.36.1" gql = "^3.4.1" ariadne = "^0.21" pre-commit = "^3.6.0" granian = "^1.0.1" google-analytics-data = "^0.18.3" opensearch-py = "^2.4.2" httpx = "^0.26.0" dogpile-cache = "^1.3.1" colorlog = "^6.8.2" sqlalchemy-searchable = "^2.1.0" [tool.poetry.group.dev.dependencies] ruff = "^0.2.1" isort = "^5.13.2" pyright = "^1.1.350" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.isort] multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 use_parentheses = true ensure_newline_before_comments = true line_length = 120 [lint] select = ["E4", "E7", "E9", "F"] ignore = [] line-length = 120 target-version = "py312" [tool.ruff.format] # Prefer single quotes over double quotes. quote-style = "single" skip-magic-trailing-comma = true [tool.pyright] venvPath = "." venv = ".venv" include = ["."] useLibraryCodeForTypes = false disableLanguageServices = false disableOrganizeImports = false reportMissingImports = true reportMissingModuleSource = "warning" reportImportCycles = "warning" maxMemoryForLargeFile = 4096 pythonVersion = "3.12" autoImportCompletions = true useVirtualEnv = true typeCheckingMode = "basic" disableJediCompletion = true disableCompletion = false disableSnippetCompletion = false disableGoToDefinition = false disableRenaming = false disableSignatureHelp = false diagnostics = true logLevel = "debug" pluginSearchPaths = [] typings = {} mergeTypeStubPackages = false [tool.pytest.ini_options] pythonpath = ["."] [tool.pytest] python_files = "*_test.py"