[tool.poetry] name = "icon-service-base" version = "0.1.0" description = "Repository storing the code that is common to all icon services." authors = ["Mose Mueller "] license = "MIT" readme = "README.md" packages = [{ include = "icon_service_base" }] [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.dependencies] python = "^3.10" influxdb-client = "^1.36.1" sqlmodel = "^0.0.8" confz = "^2.0.0" psycopg2-binary = "^2.9.6" pydase = "*" # optional dependencies tiqi-rpc = { git = "ssh://git@gitlab.phys.ethz.ch/tiqi-projects/tiqi-rpc-python.git", optional=true } [tool.poetry.extras] ionizer = ["tiqi-rpc"] [tool.poetry.group.dev] optional = true [tool.poetry.group.dev.dependencies] mypy = "^1.4.1" pyright = "^1.1.323" ruff = "^0.1.5" [tool.ruff] target-version = "py310" # Always generate Python 3.10-compatible code select = [ "ASYNC", # flake8-async "C4", # flake8-comprehensions "C901", # mccabe complex-structure "E", # pycodestyle errors "ERA", # eradicate "F", # pyflakes "FLY", # flynt "G", # flake8-logging-format "I", # isort "ICN", # flake8-import-conventions "INP", # flake8-no-pep420 "ISC", # flake8-implicit-str-concat "N", # pep8-naming "NPY", # NumPy-specific rules "PERF", # perflint "PIE", # flake8-pie "PL", # pylint "PYI", # flake8-pyi "Q", # flake8-quotes "RET", # flake8-return "RUF", # Ruff-specific rules "SIM", # flake8-simplify "TID", # flake8-tidy-imports "TCH", # flake8-type-checking "UP", # pyupgrade "YTT", # flake8-2020 "W", # pycodestyle warnings ] ignore = [ "E203", # whitespace-before-punctuation "W292", # missing-newline-at-end-of-file "PERF203", # try-except-in-loop ] extend-exclude = [ "docs", "frontend" ] [tool.ruff.lint.mccabe] max-complexity = 7 [tool.pyright] include = ["icon_service_base"] typeCheckingMode = "basic" [tool.mypy] disallow_untyped_defs = true disallow_untyped_calls = true disallow_incomplete_defs = true disallow_any_generics = true check_untyped_defs = true ignore_missing_imports = false