gerbolyze/pyproject.toml
2026-04-25 13:14:28 +02:00

77 lines
2.1 KiB
TOML

[project]
name = "gerbolyze"
version = "3.3.0"
description = """A high-resolution image-to-PCB converter. Gerbolyze plots SVG, PNG and JPG onto existing gerber \
files. It handles almost the full SVG spec and deals with text, path outlines, patterns, arbitrary paths with \
self-intersections and holes, etc. fully automatically. It can vectorize raster images both by contour tracing and by \
grayscale dithering. All processing is done at the vector level without intermediate conversions to raster images \
accurately preserving the input."""
readme = "README.rst"
license = "AGPL-3.0-or-later"
requires-python = ">=3.12"
dependencies = [
'gerbonara >= 1.2.0',
'beautifulsoup4',
'numpy',
'python-slugify',
'lxml',
'click',
'svg-flatten-wasi >= 3.2.0']
authors = [
{ name = "jaseg" },
]
maintainers = [
{ name = "Gerbolyze maintainers", email = "gerbonara@jaseg.de" },
]
keywords = ["gerber", "excellon", "pcb", "RS274x", "EDA"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Manufacturing",
"Intended Audience :: Science/Research",
"Intended Audience :: Religion",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
"Natural Language :: English",
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
"Topic :: Scientific/Engineering :: Image Processing",
"Topic :: Artistic Software",
"Topic :: Utilities",
"Topic :: Multimedia :: Graphics",
"Topic :: Printing",
]
[project.urls]
Homepage = "https://jaseg.de/projects/gerbolyze/"
Source = "https://git.jaseg.de/gerbolyze"
Tracker = "https://github.com/jaseg/gerbolyze/issues"
[project.scripts]
gerbolyze = "gerbolyze:cli"
[project.optional-dependencies]
resvg-wasi = ["resvg-wasi >= 0.47.0"]
[dependency-groups]
dev = [
"pytest",
"pytest-xdist",
"numpy",
"scipy",
"tqdm",
"beautifulsoup4",
"lxml",
"pillow"
]
[build-system]
requires = ["uv-build < 0.11"]
build-backend = "uv_build"
[tool.pytest]
testpaths = ["tests"]
norecursedirs = ["*"]