Pythonic library for reading/modifying/writing Gerber/Excellon/IPC-356 files.
 
 
 
 
 
Go to file
Paulo Henrique Silva b75d2f8d90
Merge branch 'master' into outline
2019-11-25 23:45:19 -03:00
.github/workflows Run workflow checks on PRs 2019-11-25 23:40:59 -03:00
doc doc options 2015-02-18 23:28:19 -05:00
examples Fix hard requirement of cairo per #83, and add stubs for required subclass methods to GerberContext per #84 2018-06-05 08:57:37 -04:00
gerber Merge branch 'master' into outline 2019-11-25 23:35:43 -03:00
.coveragerc add coveralls 2014-09-30 17:49:04 -04:00
.gitignore Fix most broken tests so that I can safely merge into changes with known expected test result 2016-07-16 15:49:48 +08:00
LICENSE Initial commit 2013-12-17 12:01:34 -08:00
Makefile Cleanup, rendering fixes. 2016-01-28 12:19:03 -05:00
README.md Rename requirements for docs and dev and upgrade nose and coverage packages 2019-11-25 15:34:10 -03:00
requirements-dev.txt Rename requirements for docs and dev and upgrade nose and coverage packages 2019-11-25 15:34:10 -03:00
requirements-docs.txt Merge branch 'master' into dependabot/pip/numpydoc-0.9.1 2019-11-25 21:15:13 -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.py Remove references to scipy from travis config and setup.py 2017-09-18 10:23:08 +02:00

README.md

pcb-tools

Travis CI Build Status Coverage Status Documentation Status

Tools to handle Gerber and Excellon files in Python.

Usage Example:

import gerber
from gerber.render import GerberCairoContext

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

# Rendering context
ctx = GerberCairoContext()

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

Rendering Examples:

Top Composite rendering

Composite Top Image Composite Bottom Image

Source code for this example can be found here.

Install from source:

$ git clone https://github.com/curtacircuitos/pcb-tools.git
$ cd pcb-tools
$ pip install -r requirements.txt
$ python setup.py install

Documentation:

PCB Tools Documentation

Development and Testing:

Dependencies for developing and testing pcb-tools are listed in requirements-dev.txt. Use of a virtual environment is strongly recommended.

$ virtualenv venv
$ source venv/bin/activate
(venv)$ pip install -r requirements-dev.txt
(venv)$ pip install -e .

We use nose to run pcb-tools's suite of unittests and doctests.

(venv)$ nosetests