voicemeeter-api-python/pyproject.toml

138 lines
3.1 KiB
TOML
Raw Normal View History

2022-06-16 14:07:12 +01:00
[tool.poetry]
name = "voicemeeter-api"
2024-06-29 05:16:30 +01:00
version = "2.6.0"
2022-06-16 14:07:12 +01:00
description = "A Python wrapper for the Voiceemeter API"
authors = ["onyx-and-iris <code@onyxandiris.online>"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/onyx-and-iris/voicemeeter-api-python"
2023-07-10 17:45:38 +01:00
packages = [{ include = "voicemeeterlib" }]
2022-06-16 14:07:12 +01:00
[tool.poetry.requires-plugins]
poethepoet = "^0.32.1"
2022-06-16 14:07:12 +01:00
[tool.poetry.dependencies]
python = "^3.10"
tomli = { version = "^2.0.1", python = "<3.11" }
2022-06-16 14:07:12 +01:00
[tool.poetry.group.dev.dependencies]
2024-02-15 18:47:41 +00:00
pytest = "^7.4.4"
2022-06-16 14:07:12 +01:00
pytest-randomly = "^3.12.0"
ruff = "^0.8.6"
tox = "^4.23.2"
virtualenv-pyenv = "^0.5.0"
2022-06-16 14:07:12 +01:00
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poe.tasks]
dsl.script = "scripts:ex_dsl"
events.script = "scripts:ex_events"
gui.script = "scripts:ex_gui"
levels.script = "scripts:ex_levels"
midi.script = "scripts:ex_midi"
obs.script = "scripts:ex_obs"
observer.script = "scripts:ex_observer"
basic.script = "scripts:test_basic"
banana.script = "scripts:test_banana"
potato.script = "scripts:test_potato"
all.script = "scripts:test_all"
[tool.tox]
legacy_tox_ini = """
[tox]
2024-02-07 18:40:05 +00:00
envlist = py310,py311,py312
[testenv]
setenv = VIRTUALENV_DISCOVERY=pyenv
allowlist_externals = poetry
commands =
poetry install -v
poetry run pytest tests/
"""
[tool.ruff]
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",
]
# Same as Black.
line-length = 88
indent-width = 4
# Assume Python 3.10
target-version = "py310"
[tool.ruff.lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
# McCabe complexity (`C901`) by default.
select = ["E4", "E7", "E9", "F"]
ignore = []
# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent with spaces, rather than tabs.
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"
# Enable auto-formatting of code examples in docstrings. Markdown,
# reStructuredText code/literal blocks and doctests are all supported.
#
# This is currently disabled by default, but it is planned for this
# to be opt-out in the future.
docstring-code-format = false
# Set the line length limit used when formatting code snippets in
# docstrings.
#
# This only has an effect when the `docstring-code-format` setting is
# enabled.
docstring-code-line-length = "dynamic"
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.ruff.lint.per-file-ignores]
"__init__.py" = [
"E402",
"F401",
]