[tool.poetry] name = "xair-api" version = "2.4.0" description = "Remote control Behringer X-Air | Midas MR mixers through OSC" authors = ["onyx-and-iris "] license = "MIT" readme = "README.md" repository = "https://github.com/onyx-and-iris/xair-api-python" [tool.poetry.dependencies] python = "^3.10" python-osc = "^1.8.0" tomli = { version = "^2.0.1", python = "<3.11" } [tool.poetry.group.dev.dependencies] pytest = "^7.4.4" pytest-randomly = "^3.12.0" ruff = "^0.8.6" tox = "^4.23.2" virtualenv-pyenv = "^0.5.0" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] obs = "scripts:ex_obs" sends = "scripts:ex_sends" xair = "scripts:test_xair" x32 = "scripts:test_x32" all = "scripts:test_all" [tool.tox] legacy_tox_ini = """ [tox] envlist = py310,py311,py312 [testenv] setenv = VIRTUALENV_DISCOVERY=pyenv allowlist_externals = poetry commands = poetry install -v poetry run pytest tests/ """ [tool.ruff] lint.select = [ "E", "F", ] lint.ignore = [ "E501", ] lint.fixable = [ "A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT", ] lint.unfixable = [] exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", ] line-length = 88 lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" target-version = "py312" [tool.ruff.lint.mccabe] max-complexity = 10 [tool.ruff.lint.per-file-ignores] "__init__.py" = [ "E402", "F401", ]