1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
[build-system]
requires = ["setuptools >= 45", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "python-dbusmock"
description = "Mock D-Bus objects"
readme = "README.md"
license = { file = "COPYING" }
authors = [
{ name = "Martin Pitt", email = "martin@piware.de" },
]
classifiers = [
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
"Programming Language :: Python :: 3",
"Development Status :: 6 - Mature",
"Operating System :: POSIX :: Linux",
"Operating System :: POSIX :: BSD",
"Operating System :: Unix",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Testing :: Mocking",
"Topic :: Software Development :: Testing :: Unit",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dynamic = ["version"]
requires-python = ">=3.8"
dependencies = ["dbus-python"]
[project.urls]
homepage = "https://github.com/martinpitt/python-dbusmock"
[tool.setuptools]
packages = ["dbusmock", "dbusmock.templates"]
[tool.setuptools_scm]
write_to = "dbusmock/_version.py"
write_to_template = """
__version__ = "{version}"
"""
version_scheme = 'post-release'
[tool.pylint]
format = { max-line-length = 130 }
"messages control" = { disable = ["invalid-name", "too-many-arguments", "too-many-positional-arguments"] }
design = { max-args = 7, max-locals = 25, max-public-methods = 25 }
[tool.mypy]
warn_unused_configs = true
[[tool.mypy.overrides]]
module = ["dbus.*", "gi.repository", "dbusmock._version"]
ignore_missing_imports = true
[tool.ruff]
line-length = 130
preview = true
[tool.ruff.lint]
select = [
"A", # flake8-builtins
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez
"E", # pycodestyle
"EXE", # flake8-executable
"F", # pyflakes
"G", # flake8-logging-format
"I", # isort
"ICN", # flake8-import-conventions
"ISC", # flake8-implicit-str-concat
"PIE", # unnecessary type wrappers
"PLE", # pylint errors
"PGH", # pygrep-hooks
"PYI", # https://pypi.org/project/flake8-pyi/ type hints
"RET", # flake8-return
"RSE", # flake8-raise
"RUF", # ruff rules
"SIM", # flake8-simplify
"T10", # flake8-debugger
"TCH", # flake8-type-checking
"UP", # pyupgrade, e.g. f-string checks
"W", # warnings (mostly whitespace)
"YTT", # flake8-2020
]
ignore = [
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
"SIM105", # Use `contextlib.suppress(KeyError)` instead of `try`-`except`-`pass`
]
[tool.black]
line-length = 118
|