[tool.poetry] name = "dbus-fast" version = "2.29.0" description = "A faster version of dbus-next" authors = ["Bluetooth Devices Authors "] 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.0" pytest-cov = ">=3,<7" pytest-asyncio = ">=0.19,<0.24" pycairo = "^1.21.0" PyGObject = "^3.42.2" Cython = ">=3,<3.1.0" setuptools = ">=65.4.1,<76.0.0" pytest-timeout = "^2.1.0" pytest-codspeed = "^3.1.1" [tool.semantic_release] branch = "main" version_toml = "pyproject.toml:tool.poetry.version" version_variable = "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 [tool.coverage.report] exclude_lines = [ "pragma: no cover", "@overload", "if TYPE_CHECKING", "raise NotImplementedError", ] [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 ]