# -------------------------------------------------------------------------------------- # Copyright (c) 2013-2022, Nucleic Development Team. # # Distributed under the terms of the Modified BSD License. # # The full license is in the file LICENSE, distributed with this software. # -------------------------------------------------------------------------------------- [project] name = "kiwisolver" description = "A fast implementation of the Cassowary constraint solver" readme = "README.rst" requires-python = ">=3.7" license = { file = "LICENSE" } authors = [{ name = "The Nucleic Development Team", email = "sccolbert@gmail.com" }] maintainers = [{ name = "Matthieu C. Dartiailh", email = "m.dartiailh@gmail.com" }] classifiers = [ "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", ] dependencies = ["typing_extensions;python_version<'3.8'"] dynamic = ["version"] [project.urls] homepage = "https://github.com/nucleic/kiwi" documentation = "https://kiwisolver.readthedocs.io/en/latest/" repository = "https://github.com/nucleic/kiwi" changelog = "https://github.com/nucleic/kiwi/blob/main/releasenotes.rst" [build-system] requires = ["setuptools>=61.2", "wheel", "setuptools_scm[toml]>=3.4.3", "cppy>=1.2.0"] build-backend = "setuptools.build_meta" [tool.setuptools] include-package-data = false package-data = { kiwisolver = ["py.typed", "*.pyi"] } [tool.setuptools.packages.find] where = ["py"] include = ["kiwisolver"] [tool.setuptools_scm] write_to = "py/src/version.h" write_to_template = """ /* ---------------------------------------------------------------------------- | Copyright (c) 2013-2023, Nucleic Development Team. | | Distributed under the terms of the Modified BSD License. | | The full license is in the file LICENSE, distributed with this software. | ---------------------------------------------------------------------------*/ // This file is auto-generated by setuptools-scm do NOT edit it. #pragma once #define PY_KIWI_VERSION "{version}" """ [tool.ruff] src = ["src"] extend-exclude = ["tests/instruments/hardware/nifpga/scope_based"] line-length = 88 [tool.ruff.lint] select = ["C", "E", "F", "W", "I", "C90", "RUF"] extend-ignore = ["E501", "RUF012"] [tool.ruff.lint.isort] combine-as-imports = true known-first-party = ["kiwisolver"] [tool.ruff.lint.mccabe] max-complexity = 20 [tool.pytest.ini_options] minversion = "6.0" [tool.mypy] follow_imports = "normal" strict_optional = true