[project]
name = "gerbonara"
version = "1.6.2"
description = "Tools to handle Gerber and Excellon files in Python"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.12"
dependencies = ["click", "rtree", "quart"]

authors = [
  { name = "jaseg" },
  { name = "XenGi" },
]

maintainers = [
  { name = "Gerbonara maintainers", email = "gerbonara@jaseg.de" },
]

keywords = ["gerber", "excellon", "pcb", "RS274x", "EDA"]

classifiers = [
  "Development Status :: 5 - Production/Stable",
  "Environment :: Console",
  "Intended Audience :: Developers",
  "Intended Audience :: Information Technology",
  "Intended Audience :: Manufacturing",
  "Intended Audience :: Science/Research",
  "License :: OSI Approved :: Apache Software License",
  "Topic :: Artistic Software",
  "Topic :: Multimedia :: Graphics",
  "Topic :: Printing",
  "Topic :: Scientific/Engineering",
  "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
  "Topic :: Scientific/Engineering :: Image Processing",
  "Topic :: Utilities",
]

[project.urls]
Homepage = "https://jaseg.de/projects/gerbonara/"
Documentation = "https://gerbolyze.gitlab.io/gerbonara/"
Source = "https://git.jaseg.de/gerbonara.git"
Tracker = "https://gitlab.com/gerbolyze/gerbonara/issues"

[project.scripts]
gerbonara = "gerbonara.cli:cli"
protoserve = "gerbonara.cad.protoserve:main"

[dependency-groups]
dev = [
    "pytest",
    "pytest-xdist",
    "numpy",
    "scipy",
    "tqdm",
    "beautifulsoup4",
    "lxml",
    "pillow"
    ]

[build-system]
requires = ["uv-build"]
build-backend = "uv_build"

[tool.pytest]
testpaths = ["tests"]
norecursedirs = ["*"]
kicad_symbols_tag = "9.0.6"
kicad_footprints_tag = "9.0.6"
kicad_source_tag = "9.0.6"
# Tag to use for container for footprint svg export
# For a list of available tags, see https://hub.docker.com/r/kicad/kicad/tags
kicad_container_tag = "9.0.6-full"
