Pythonic library for reading/modifying/writing Gerber/Excellon/IPC-356 files.
 
 
 
 
 
Go to file
jaseg 1872df4a33 Make split_commands faster 2022-02-06 14:20:13 +01:00
.github/workflows Run workflow on pull request 2020-05-30 10:22:19 -04:00
docs Add Zuken tests and fix parsing 2022-02-06 01:10:17 +01:00
examples Make split_commands faster 2022-02-06 14:20:13 +01:00
gerbonara Make split_commands faster 2022-02-06 14:20:13 +01:00
.coveragerc Add .coveragerc 2019-11-26 23:31:48 -03:00
.gitignore Add some documentation 2022-02-01 22:08:54 +01:00
.gitlab-ci.yml Initial commit 2021-06-06 13:16:10 +02:00
.pypirc Initial commit 2021-06-06 13:16:10 +02:00
LICENSE Graft pcb-tools upstream onto gerbonara tree 2021-06-06 13:25:45 +02:00
Makefile Add some documentation 2022-02-01 22:08:54 +01:00
README.md Graft pcb-tools-extension master onto gerbonara main 2021-06-06 13:28:42 +02:00
requirements-dev.txt Bump pytest-cov from 2.8.1 to 2.10.1 2020-08-17 10:09:01 +00:00
requirements-docs.txt Merge branch 'master' into dependabot/pip/numpydoc-1.1.0 2020-08-26 01:00:45 -03:00
requirements.txt Rename requirements for docs and dev and upgrade nose and coverage packages 2019-11-25 15:34:10 -03:00
setup.cfg Initial commit 2021-06-06 13:16:10 +02:00
setup.py Add some documentation 2022-02-01 22:08:54 +01:00
test-requirements.txt Initial commit 2021-06-06 13:16:10 +02:00

README.md

pipeline status coverage report pypi aur

gerbonara

Tools to handle Gerber and Excellon files in Python.

This repository is a friendly fork of phsilva's pcb-tools with extensions from opiopan integrated. We decided to fork pcb-tools since we need it as a dependency for gerbolyze and pcb-tools was sometimes very behind on bug fixes.

Installation

Arch Linux:

yay -S python-gerbonara

Python:

pip install gerbonara

Usage

Here's a simple example:

import gerbonara
from gerbonara.render import GerberCairoContext

# Read gerber and Excellon files
top_copper = gerbonara.read('example.GTL')
nc_drill = gerbonara.read('example.txt')

# Rendering context
ctx = GerberCairoContext()

# Create SVG image
top_copper.render(ctx)
nc_drill.render(ctx, 'composite.svg')

Made with ❤️ and 🐍.