dbus-fast/pyproject.toml
dependabot[bot] 3f4563721d
chore(deps-dev): bump setuptools from 78.1.0 to 79.0.0 (#450)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-21 08:36:53 -10:00

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,<80.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
]