[project]
name = "pycairo"
version = "1.27.0"
description = "Python interface for cairo"
readme = "README.rst"
requires-python = ">=3.9"
license = {text = "LGPL-2.1-only OR MPL-1.1"}
maintainers = [{name = "Christoph Reiter", email = "reiter.christoph@gmail.com"}]
urls = {Homepage = "https://pycairo.readthedocs.io", Source = "https://github.com/pygobject/pycairo"}

[tool.poetry]
name = "pycairo"
version = "1.26.2"
description = "Python interface for cairo"
authors = ["Christoph Reiter"]
packages = [
    { include = "cairo" },
]

[tool.poetry.dependencies]
python = "^3.9"

[tool.poetry.dev-dependencies]
pytest = "^7.2.0"
hypothesis = "^6.58.0"
mypy = {version = "1.8.0", markers = "platform_python_implementation != 'PyPy'"}
flake8 = "^7.0.0"
Sphinx = "^6.2.1"
sphinx-rtd-theme = "^2.0.0"
coverage = {extras = ["toml"], version = "^7.2.3"}
sphinx-autobuild = "^2021.3.14"
meson-python = ">= 0.16.0"

[tool.coverage.run]
include = [
    "cairo/*",
    "tests/*"
]

[tool.mypy]
disallow_any_unimported = true
disallow_any_expr = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
check_untyped_defs = true
warn_return_any = true
no_implicit_optional = true
disallow_any_decorated = true
disallow_any_explicit = false
strict_optional = true
follow_imports = "silent"
exclude = ["^(examples/|build|docs/)"]

[[tool.mypy.overrides]]
module = "setup"
ignore_errors = true

[[tool.mypy.overrides]]
module = "tests.*"
ignore_errors = true

[tool.meson-python.args]
setup = ["-Dwheel=true", "-Dtests=false"]

[build-system]
build-backend = 'mesonpy'
requires = ['meson-python >= 0.16.0']
