[build-system] build-backend = "poetry.core.masonry.api" requires = ["poetry-core>=1.0.0"] [tool.black] line-length = 120 target-version = ["py310"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "raise NotImplementedError", "if __name__ == .__main__.:", "class .*Protocol\\):", "@(abc\\.)?abstractmethod", "if typing.TYPE_CHECKING:", ] [tool.coverage.run] include = ["bin/*", "lib/*"] [tool.isort] known_first_party = ["bin", "lib", "tests"] line_length = 120 profile = "black" py_version = 310 [tool.poetry] authors = ["ovsds "] description = "Python Service Example Backend" name = "python-service-example-backend" version = "0.0.1" [tool.poetry.dependencies] aiohttp = "3.8.4" pydantic = {extras = ["dotenv"], version = "1.10.2"} python = "~3.10" typing-extensions = "4.5.0" [tool.poetry.dev-dependencies] black = "22.6.0" coverage = "6.5.0" isort = "5.10.1" pylint = "2.14.5" pylint-pydantic = "0.1.4" pylint-pytest = "1.1.2" pytest = "7.1.2" pytest-asyncio = "0.19.0" pytest-mock = "3.8.2" pyupgrade = "3.1.0" sort-all = "1.2.0" toml-sort = "0.20.0" [tool.pylint] disable = [ "broad-except", "consider-using-from-import", "consider-using-sys-exit", "duplicate-code", "fixme", "missing-docstring", "no-member", "protected-access", "too-few-public-methods", "too-many-instance-attributes", "too-many-locals", "too-many-statements", "unnecessary-ellipsis", ] extension-pkg-allow-list = [ "pydantic", # https://github.com/samuelcolvin/pydantic/issues/1961 ] ignore-paths = [ "^.*venv/.*$", ] load-plugins = [ "pylint_pydantic", "pylint_pytest", ] max-args = 10 max-line-length = 120 recursive = true [tool.pylint.basic] argument-rgx = "^_{0,2}[a-z][a-z0-9_]*$" attr-rgx = "^_{0,2}[a-z][a-z0-9_]*$" class-attribute-rgx = "^_{0,2}[a-zA-Z][a-zA-Z0-9_]*$" variable-rgx = "^_{0,2}[a-z][a-z0-9_]*$" [tool.pyright] exclude = [ "**/__pycache__", ] include = [ "bin", "lib", "tests", ] pythonPlatform = "All" pythonVersion = "3.10" reportConstantRedefinition = "none" reportMissingTypeStubs = "warning" reportPrivateUsage = "information" reportPropertyTypeMismatch = "warning" reportUninitializedInstanceVariable = "warning" reportUnknownMemberType = "none" reportUnnecessaryTypeIgnoreComment = "warning" reportUntypedFunctionDecorator = "warning" typeCheckingMode = "strict" useLibraryCodeForTypes = true venv = ".venv" venvPath = '.' [tool.pytest.ini_options] pythonpath = "." [tool.tomlsort] all = true ignore_case = true in_place = true