aprsd-slack-plugin/pyproject.toml
2026-01-27 16:03:40 -05:00

116 lines
2.5 KiB
TOML

[project]
name = "aprsd_slack_plugin"
version = "1.2.0"
description = "Amateur radio APRS daemon which listens for messages and responds"
readme = "README.md"
requires-python = ">=3.11"
license = {file = "LICENSE.txt"}
authors = [
{name = "Walter A. Boring IV", email = "something@somewhere.com"}
]
classifiers = [
"Topic :: Communications :: Ham Radio",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"slack_sdk>=3.0",
"slackeventsapi>=2.1.0",
"oslo_config",
]
[project.optional-dependencies]
dev = [
"tox",
"pytest",
"pytest-cov",
"mypy",
"flake8",
"pep8-naming",
"black",
"isort",
"sphinx",
"pre-commit",
"pip-tools",
]
[project.entry-points."oslo.config.opts"]
"aprsd_slack_plugin.conf" = "aprsd_slack_plugin.conf.opts:list_opts"
[tool.setuptools]
py-modules = ["aprsd_slack_plugin"]
package-data = {aprsd_slack_plugin = ["*.dat"]}
packages = ["aprsd_slack_plugin"]
[tool.isort]
profile = "black"
line_length = 99
force_sort_within_sections = true
# Inform isort of paths to import names that should be considered part of the "First Party" group.
src_paths = ["aprsd_slack_plugin"]
skip_gitignore = true
# If you need to skip/exclude folders, consider using skip_glob as that will allow the
# isort defaults for skip to remain without the need to duplicate them.
[tool.mypy]
ignore_missing_imports = true
strict = true
[build-system]
requires = [
"setuptools>=80.0",
"setuptools_scm>=0",
"wheel",
]
build-backend = "setuptools.build_meta"
[tool.ruff]
line-length = 88
target-version = "py311"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"UP", # pyupgrade
]
ignore = [
"E501", # line too long (handled by formatter)
]
[tool.ruff.lint.isort]
force-sort-within-sections = true
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"-ra",
"--strict-markers",
"--strict-config",
"--cov=aprsd_slack_plugin",
"--cov-report=term-missing",
"--cov-report=html",
]
[tool.coverage.run]
branch = true
source = ["aprsd_slack_plugin"]
omit = [
"*/tests/*",
"*/test_*.py",
]
[tool.setuptools_scm]