Pythonic library for reading/modifying/writing Gerber/Excellon/IPC-356 files.
 
 
 
 
 
Go to file
Paulo Henrique Silva 72257258ed
Merge pull request #154 from curtacircuitos/fix/run-workflow-on-pr
Run workflow on pull request
2020-08-26 01:01:38 -03:00
.github/workflows Run workflow on pull request 2020-05-30 10:22:19 -04:00
doc
examples
gerber
.coveragerc
.gitignore
LICENSE
Makefile
README.md
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
setup.py

README.md

pcb-tools

CI Coverage Docs

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 pytest to run pcb-tools's suite of unittests and doctests.

(venv)$ pytest