Pythonic library for reading/modifying/writing Gerber/Excellon/IPC-356 files.
 
 
 
 
 
Go to file
jaseg a6017937e6 Fix ALL the tests. 2022-01-30 18:48:32 +01:00
.github/workflows Run workflow on pull request 2020-05-30 10:22:19 -04:00
doc Improve cairo backend tests 2021-06-13 16:28:20 +02:00
examples Parser half-refactored 2021-11-08 13:06:23 +01:00
gerbonara Fix ALL the tests. 2022-01-30 18:48:32 +01:00
.coveragerc Add .coveragerc 2019-11-26 23:31:48 -03:00
.gitignore Fix more bugs, refined round-trip tests pass now 2021-12-30 12:57:53 +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 Graft pcb-tools upstream onto gerbonara tree 2021-06-06 13:25:45 +02: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 Repo re-org, make gerberex tests run 2021-06-13 15:00:17 +02: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 🐍.