241 lines
7.1 KiB
TOML
241 lines
7.1 KiB
TOML
[tool.poetry]
|
|
name = "dbus-fast"
|
|
version = "2.44.1"
|
|
description = "A faster version of dbus-next"
|
|
authors = ["Bluetooth Devices Authors <bluetooth@koston.org>"]
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
repository = "https://github.com/bluetooth-devices/dbus-fast"
|
|
documentation = "https://dbus-fast.readthedocs.io"
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"Natural Language :: English",
|
|
"Operating System :: OS Independent",
|
|
"Topic :: Software Development :: Libraries",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
packages = [
|
|
{ include = "dbus_fast", from = "src" },
|
|
]
|
|
# Make sure we don't package temporary C files generated by the build process
|
|
exclude = [ "**/*.c" ]
|
|
|
|
[tool.poetry.build]
|
|
generate-setup-file = true
|
|
script = "build_ext.py"
|
|
|
|
[tool.poetry.urls]
|
|
"Bug Tracker" = "https://github.com/bluetooth-devices/dbus-fast/issues"
|
|
"Changelog" = "https://github.com/bluetooth-devices/dbus-fast/blob/main/CHANGELOG.md"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.9"
|
|
|
|
# duplicated in docs/requirements.txt for readthedocs compatibility
|
|
[tool.poetry.group.docs.dependencies]
|
|
myst-parser = ">=0.18,<3.1"
|
|
sphinx = ">=5.1.1,<8.0.0"
|
|
sphinx-rtd-theme = ">=1,<4"
|
|
sphinxcontrib-asyncio = "^0.3.0"
|
|
sphinxcontrib-fulltoc = "^1.2.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest = ">=7,<9"
|
|
pytest-cov = ">=3,<7"
|
|
pytest-asyncio = ">=0.19,<0.27"
|
|
pycairo = "^1.21.0"
|
|
PyGObject = {version = ">=3.50,<3.51", python = "<4"}
|
|
Cython = ">=3,<3.1.0"
|
|
setuptools = ">=65.4.1,<81.0.0"
|
|
pytest-timeout = "^2.1.0"
|
|
pytest-codspeed = "^3.1.1"
|
|
covdefaults = "^2.3.0"
|
|
|
|
[tool.semantic_release]
|
|
branch = "main"
|
|
version_toml = ["pyproject.toml:tool.poetry.version"]
|
|
version_variables = ["src/dbus_fast/__version__.py:__version__"]
|
|
build_command = "pip install poetry && poetry build"
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-v -Wdefault --cov=dbus_fast --cov-report=term-missing:skip-covered"
|
|
pythonpath = ["src"]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
plugins = ["covdefaults"]
|
|
|
|
[tool.coverage.report]
|
|
fail_under = 30 # cython version will have low cover because we do not have Cython tracing
|
|
exclude_also = [
|
|
"if cython.compiled:",
|
|
]
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
known_first_party = ["dbus_fast", "tests"]
|
|
|
|
[tool.mypy]
|
|
check_untyped_defs = true
|
|
disallow_any_generics = false # turn this on when we drop 3.7/3.8 support
|
|
disallow_incomplete_defs = true
|
|
disallow_untyped_defs = true
|
|
mypy_path = "src/"
|
|
no_implicit_optional = true
|
|
show_error_codes = true
|
|
warn_unreachable = true
|
|
warn_unused_ignores = true
|
|
exclude = [
|
|
'docs/.*',
|
|
'setup.py',
|
|
]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = "tests.*"
|
|
allow_untyped_defs = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = "docs.*"
|
|
ignore_errors = true
|
|
|
|
[build-system]
|
|
requires = ['setuptools>=65.4.1', 'wheel', 'Cython>=3,<3.1.0', "poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.ruff]
|
|
target-version = "py39"
|
|
line-length = 88
|
|
|
|
[tool.ruff.lint]
|
|
ignore = [
|
|
"F821", # undefined names are used for decorators
|
|
"S101", # use of assert detected
|
|
"S105", # too many false positives
|
|
"SLF001", # intended
|
|
"SIM109", # intended for cython
|
|
"SIM102", # intended for cython
|
|
"E501", # too many to fix,
|
|
"TID252", # intended
|
|
"PLC0414", # intended
|
|
"TRY003", # too many to fix
|
|
"PLR2004", # way too many to fix right now
|
|
"PLR0911", # api is public
|
|
"PYI036", # too many to fix
|
|
"PYI034", # too many to fix
|
|
"E721", # many are as intended
|
|
## should fix these sooner
|
|
"B007", # too many to fix -- should fix sooner
|
|
"SIM103", # too many to fix -- should fix sooner
|
|
"SIM110", # too many to fix -- should fix sooner
|
|
"RUF012", # too many to fix -- should fix sooner
|
|
"TRY002", # too many to fix -- should fix sooner
|
|
"B904", # too many to fix -- should fix sooner
|
|
"PERF401", # too many to fix -- should fix sooner
|
|
"B904", # too many to fix -- should fix sooner
|
|
"B006", # too many to fix -- should fix sooner
|
|
"G004", # too many to fix -- should fix sooner
|
|
"PT015", # too many to fix -- should fix sooner
|
|
"B011", # too many to fix -- should fix sooner
|
|
"PLR1714", # too many to fix -- should fix sooner
|
|
"PLR0915", # too many to fix -- should fix sooner
|
|
"PERF102", # too many to fix -- should fix sooner
|
|
"TRY401", # too many to fix -- should fix sooner
|
|
"PLR0913", # too many to fix -- should fix sooner
|
|
"PLR0912", # too many to fix -- should fix sooner
|
|
"PERF203", # too many to fix -- should fix sooner
|
|
"G201", # too many to fix -- should fix sooner
|
|
"TRY301", # too many to fix -- should fix sooner
|
|
"B020", # too many to fix -- should fix sooner
|
|
"S314", # too many to fix -- should fix sooner
|
|
"RET504", # too many to fix -- should fix sooner
|
|
"SIM105", # too many to fix -- should fix sooner
|
|
"TRY300", # too many to fix -- should fix sooner
|
|
"PLW2901", # too many to fix -- should fix sooner
|
|
"PERF402", # too many to fix -- should fix sooner
|
|
|
|
]
|
|
select = [
|
|
"ASYNC", # async rules
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"S", # flake8-bandit
|
|
"F", # pyflake
|
|
"E", # pycodestyle
|
|
"W", # pycodestyle
|
|
"UP", # pyupgrade
|
|
"I", # isort
|
|
"LOG", # log
|
|
"RUF", # ruff specific
|
|
"FLY", # flynt
|
|
"FURB", # refurb
|
|
"G", # flake8-logging-format ,
|
|
"PERF", # Perflint
|
|
"PGH", # pygrep-hooks
|
|
"PIE", # flake8-pie
|
|
"PL", # pylint
|
|
"PT", # flake8-pytest-style
|
|
"PYI", # flake8-pyi
|
|
"RET", # flake8-return
|
|
"RSE", # flake8-raise ,
|
|
"SIM", # flake8-simplify
|
|
"SLF", # flake8-self
|
|
"SLOT", # flake8-slots
|
|
"T100", # Trace found: {name} used
|
|
"T20", # flake8-print
|
|
"TID", # Tidy imports
|
|
"TRY", # tryceratops
|
|
]
|
|
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"tests/**/*" = [
|
|
"D100",
|
|
"D101",
|
|
"D102",
|
|
"D103",
|
|
"D104",
|
|
"S101",
|
|
"S108",
|
|
"SLF001",
|
|
"PLW", # too many to fix
|
|
"TRY",# too many to fix right now
|
|
"PT",# too many to fix right now
|
|
"B",# too many to fix right now
|
|
"RET",# too many to fix right now
|
|
"PLR2004", # too many to fix right now
|
|
"PT011", # too many to fix right now
|
|
"PT006", # too many to fix right now
|
|
"PGH003", # too many to fix right now
|
|
"PT007", # too many to fix right now
|
|
"PT027", # too many to fix right now
|
|
"PLW0603" , # too many to fix right now
|
|
"PLR0915", # too many to fix right now
|
|
"FLY002", # too many to fix right now
|
|
"PT018", # too many to fix right now
|
|
"PLR0124", # too many to fix right now
|
|
"SIM202" , # too many to fix right now
|
|
"PT012" , # too many to fix right now
|
|
"TID252", # too many to fix right now
|
|
"PLR0913", # skip this one
|
|
"SIM102" , # too many to fix right now
|
|
"SIM108", # too many to fix right now
|
|
"T201", # too many to fix right now
|
|
]
|
|
"bench/**/*" = [
|
|
"T201", # intended
|
|
]
|
|
"examples/**/*" = [
|
|
"T201", # intended
|
|
"RSE102", # too many to fix
|
|
"C408", # too many to fix
|
|
"E402", # as intended
|
|
]
|
|
"docs/**/*" = [
|
|
"E402", # as intended
|
|
]
|