Skip to content

Tools to work with PCB data (Gerber, Excellon, NC files) using Python.

License

Notifications You must be signed in to change notification settings

PCBNexus/pcb-tools

This branch is up to date with TheJigsApp/pcb-tools:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fc32e8e · Sep 17, 2024
Feb 8, 2024
May 14, 2024
May 14, 2024
Sep 17, 2024
Nov 27, 2019
Nov 26, 2019
May 14, 2024
May 14, 2024
May 14, 2024
Jan 19, 2024
Sep 17, 2024
Jan 19, 2024
May 14, 2024
Oct 30, 2020
Sep 16, 2024

Repository files navigation

pcb-tools - unofficial but maintained fork

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

About

Tools to work with PCB data (Gerber, Excellon, NC files) using Python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • Other 0.6%