[build-system]
requires = ["hatchling", "hatch-fancy-pypi-readme"]
build-backend = "hatchling.build"

[project]
name = "st7789"
dynamic = ["version", "readme"]
description = "Driver for ST7789-based TFT LCD displays."
license = {file = "LICENSE"}
requires-python = ">= 3.7"
authors = [
    { name = "Philip Howard", email = "phil@pimoroni.com" },
]
maintainers = [
    { name = "Philip Howard", email = "phil@pimoroni.com" },
]
keywords = [
    "Pi",
    "Raspberry",
]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Operating System :: POSIX :: Linux",
    "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 :: Only",
    "Topic :: Software Development",
    "Topic :: Software Development :: Libraries",
    "Topic :: System :: Hardware",
]
dependencies = [
    "gpiod",
    "gpiodevice >= 0.0.4",
    "numpy >= 1.26.4",
    "spidev >= 3.6"
]

[project.urls]
GitHub = "https://www.github.com/pimoroni/st7789-python"
Homepage = "https://www.pimoroni.com"

[tool.hatch.version]
path = "st7789/__init__.py"

[tool.hatch.build]
include = [
    "st7789",
    "ST7789.py",
    "README.md",
    "CHANGELOG.md",
    "LICENSE"
]

[tool.hatch.build.targets.sdist]
include = [
    "*"
]
exclude = [
    ".*",
    "dist"
]

[tool.hatch.metadata.hooks.fancy-pypi-readme]
content-type = "text/markdown"
fragments = [
  { path = "README.md" },
  { text = "\n" },
  { path = "CHANGELOG.md" }
]

[tool.ruff]
exclude = [
    '.tox',
    '.egg',
    '.git',
    '__pycache__',
    'build',
    'dist'
]
line-length = 200

[tool.codespell]
skip = """
./.tox,\
./.egg,\
./.git,\
./__pycache__,\
./build,\
./dist.\
"""

[tool.isort]
line_length = 200

[tool.check-manifest]
ignore = [
    '.stickler.yml',
    'boilerplate.md',
    'check.sh',
    'install.sh',
    'uninstall.sh',
    'Makefile',
    'tox.ini',
    'tests/*',
    'examples/*',
    '.coveragerc',
    'requirements-dev.txt'
]

[tool.pimoroni]
apt_packages = []
configtxt = []
commands = []
