mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-06-02 03:50:40 +02:00
121 lines
3.1 KiB
TOML
121 lines
3.1 KiB
TOML
[project]
|
|
name = "pydase"
|
|
version = "0.10.12"
|
|
description = "A flexible and robust Python library for creating, managing, and interacting with data services, with built-in support for web and RPC servers, and customizable features for diverse use cases."
|
|
authors = [
|
|
{name = "Mose Müller",email = "mosemueller@gmail.com"}
|
|
]
|
|
readme = "README.md"
|
|
requires-python = ">=3.10,<4.0"
|
|
dependencies = [
|
|
"toml (>=0.10.2,<0.11.0)",
|
|
"python-socketio (>=5.13.0,<6.0.0)",
|
|
"confz (>=2.1.0,<3.0.0)",
|
|
"pint (>=0.24.4,<0.25.0)",
|
|
"websocket-client (>=1.8.0,<2.0.0)",
|
|
"aiohttp (>=3.11.18,<4.0.0)",
|
|
"click (>=8.2.0,<9.0.0)",
|
|
"aiohttp-middlewares (>=2.4.0,<3.0.0)",
|
|
"anyio (>=4.9.0,<5.0.0)"
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
socks = ["aiohttp-socks (>=0.10.1,<0.11.0)"]
|
|
|
|
[tool.poetry]
|
|
packages = [{include = "pydase", from = "src"}]
|
|
|
|
[tool.poetry.group.dev]
|
|
optional = true
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
types-toml = "^0.10.8.20240310"
|
|
pytest = "^8.3.5"
|
|
pytest-cov = "^6.1.1"
|
|
mypy = "^1.15.0"
|
|
matplotlib = "^3.10.3"
|
|
pyright = "^1.1.400"
|
|
pytest-mock = "^3.14.0"
|
|
ruff = "^0.11.10"
|
|
pytest-asyncio = "^0.26.0"
|
|
|
|
[tool.poetry.group.docs]
|
|
optional = true
|
|
|
|
[tool.poetry.group.docs.dependencies]
|
|
mkdocs-material = "^9.6.14"
|
|
mkdocs-include-markdown-plugin = "^7.1.5"
|
|
mkdocstrings = {extras = ["python"], version = "^0.29.1"}
|
|
pymdown-extensions = "^10.15"
|
|
mkdocs-swagger-ui-tag = "^0.7.1"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.ruff]
|
|
target-version = "py310" # Always generate Python 3.10-compatible code
|
|
extend-exclude = [
|
|
"docs", "frontend"
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
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 = [
|
|
"RUF006", # asyncio-dangling-task
|
|
"PERF203", # try-except-in-loop
|
|
"ASYNC110", # async-busy-wait
|
|
]
|
|
|
|
[tool.ruff.lint.mccabe]
|
|
max-complexity = 7
|
|
|
|
|
|
[tool.pyright]
|
|
include = ["src/pydase"]
|
|
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
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_default_fixture_loop_scope = "function"
|
|
filterwarnings = [
|
|
# I don't controll the usage of the timeout
|
|
"ignore:parameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout"
|
|
]
|