You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
2.5 KiB
TOML
152 lines
2.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68", "setuptools-scm>=8", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "amcrest2mqtt"
|
|
dynamic = ["version"]
|
|
license = "MIT"
|
|
license-files = ["LICENSE"]
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"deepmerge==2.0",
|
|
"paho-mqtt>=2.1.0",
|
|
"pyyaml>=6.0.3",
|
|
"requests>=2.32.5",
|
|
"json-logging-graystorm",
|
|
"pathlib>=1.0.1",
|
|
"amcrest>=1.9.9",
|
|
]
|
|
|
|
[project.scripts]
|
|
amcrest2mqtt = "amcrest2mqtt.app:main"
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
# linting/formating
|
|
"black>=24.10.0",
|
|
"ruff>=0.6.9",
|
|
|
|
# testing/coverage
|
|
"pytest>=8.4.2",
|
|
"pytest-asyncio>=1.2.0",
|
|
"pytest-cov>=7.0.0",
|
|
|
|
# misc
|
|
"jsonschema>=4.25.1",
|
|
"packaging>=25.0",
|
|
"attrs>=25.4.0",
|
|
]
|
|
|
|
[tool.setuptools]
|
|
package-dir = {"" = "src"}
|
|
|
|
[tool.setuptools.package-data]
|
|
qtt = ["VERSION"]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
include = ["amcrest2mqtt*"]
|
|
|
|
[tool.setuptools_scm]
|
|
|
|
[tool.ruff]
|
|
# Exclude a variety of commonly ignored directories.
|
|
exclude = [
|
|
".bzr",
|
|
".direnv",
|
|
".eggs",
|
|
".git",
|
|
".git-rewrite",
|
|
".hg",
|
|
".ipynb_checkpoints",
|
|
".mypy_cache",
|
|
".nox",
|
|
".pants.d",
|
|
".pyenv",
|
|
".pytest_cache",
|
|
".pytype",
|
|
".ruff_cache",
|
|
".svn",
|
|
".tox",
|
|
".venv",
|
|
".vscode",
|
|
"__pypackages__",
|
|
"_build",
|
|
"buck-out",
|
|
"build",
|
|
"dist",
|
|
"node_modules",
|
|
"site-packages",
|
|
"venv",
|
|
]
|
|
|
|
# Same as Black.
|
|
line-length = 160
|
|
indent-width = 4
|
|
|
|
# Assume Python 3.13
|
|
target-version = "py313"
|
|
|
|
[tool.pyright]
|
|
include = [ "src" ]
|
|
extraPaths = [ "src" ]
|
|
venvPath = "./.venv"
|
|
typeCheckingMode = "basic"
|
|
venv = ".venv"
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
addopts = "--quiet"
|
|
testpaths = "tests"
|
|
pythonpath = "src"
|
|
|
|
[tool.coverage.run]
|
|
# .coveragerc
|
|
branch = true
|
|
source = [
|
|
"amcrest_api",
|
|
"qtt",
|
|
"util",
|
|
]
|
|
omit = [
|
|
"tests/*",
|
|
"*/__init__.py",
|
|
"*/venv/*",
|
|
"*/.venv/*",
|
|
"*/site-packages/*"
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
fail_under = 75
|
|
show_missing = true
|
|
skip_covered = false
|
|
precision = 1
|
|
exclude_lines = [
|
|
"pragma: no cover"
|
|
]
|
|
|
|
[tool.black]
|
|
line-length = 160
|
|
target-version = ["py313"]
|
|
extend-exclude = '''
|
|
/(
|
|
\.venv
|
|
|\.ruff_cache
|
|
|\.pytest_cache
|
|
|node_modules
|
|
|dist
|
|
|build
|
|
)/
|
|
'''
|
|
|
|
[tool.uv.sources]
|
|
json-logging-graystorm = { url = "https://github.com/weirdtangent/json_logging/archive/refs/tags/0.1.3.tar.gz" }
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"black>=25.9.0",
|
|
"pytest>=8.4.2",
|
|
"ruff>=0.14.1",
|
|
]
|