handy tools to work with PCB data (Gerber, Excellon) using Python.
Clone or download
hamiltonkibbe Merge pull request #87 from ju5t/full-filename-regex
Match full filename instead of the base name
Latest commit 7c20bd3 Jun 27, 2018



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
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


PCB Tools Documentation

Development and Testing:

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

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

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

(venv)$ nosetests