# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-FileCopyrightText: 2023 Phil Howard [build-system] requires = ["setuptools>=77.0.0", "packaging"] build-backend = "setuptools.build_meta" [project] name = "gpiod" dynamic = ["version"] description = "Python bindings for libgpiod" readme = "README.md" license = "LGPL-2.1-or-later" requires-python = ">=3.10" authors = [ {name = "Bartosz Golaszewski", email = "brgl@bgdev.pl"}, ] classifiers = [ "Development Status :: 5 - Production/Stable", "Operating System :: POSIX :: Linux", "Typing :: Typed", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Free Threading :: 3 - Stable", ] [project.urls] Homepage = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git" Issues = "https://github.com/brgl/libgpiod/issues/" Changelog = "https://github.com/brgl/libgpiod/blob/master/bindings/python/CHANGELOG.md" [dependency-groups] lint = ["mypy>=1.18.1", "ruff~=0.15.0", "types-setuptools", "packaging"] [tool.setuptools] platforms = ["linux"] include-package-data = false [tool.setuptools.dynamic] version = {attr = "gpiod.version.__version__"} [tool.setuptools.packages.find] include = ["gpiod"] namespaces = false [tool.mypy] python_version = "3.10" exclude_gitignore = true files = [ ".", ] [tool.ruff.lint] select = ["B", "E", "F", "I", "TC", "UP"] ignore=[ # Ignore chained exception warnings for now: https://docs.astral.sh/ruff/rules/raise-without-from-inside-except/ "B904", # Never enforce line length violations. Let the formatter handle it: https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules "E501", ] [tool.ruff.lint.per-file-ignores] "gpiod/__init__.py" = ["F403", "F405"] # ignore warnings about star imports "tests/__main__.py" = ["F403"] "tests/**.py" = ["F841"] # ignore warnings about unused variables [tool.cibuildwheel] build = "cp*" archs = ["x86_64", "aarch64"]