diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 79 |
1 files changed, 35 insertions, 44 deletions
@@ -1,62 +1,53 @@ -pcb-tools -============ -[![CI](https://github.com/curtacircuitos/pcb-tools/workflows/pcb-tools/badge.svg)](https://github.com/curtacircuitos/pcb-tools/actions) -[![Coverage](https://codecov.io/gh/curtacircuitos/pcb-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/curtacircuitos/pcb-tools) -[![Docs](https://readthedocs.org/projects/pcb-tools/badge/?version=latest)](https://readthedocs.org/projects/pcb-tools/?badge=latest) +[![pipeline status](https://gitlab.com/gerbonara/gerbonara/badges/master/pipeline.svg)](https://gitlab.com/gerbonara/gerbonara/commits/master) +[![coverage report](https://gitlab.com/gerbonara/gerbonara/badges/master/coverage.svg)](https://gitlab.com/gerbonara/gerbonara/commits/master) +[![pypi](https://img.shields.io/pypi/v/gerbonara)](https://pypi.org/project/gerbonara/) +[![aur](https://img.shields.io/aur/version/python-gerbonara)](https://aur.archlinux.org/packages/python-gerbonara/) -Tools to handle Gerber and Excellon files in Python. +# gerbonara -Usage Example: ---------------- +Tools to handle Gerber and Excellon files in Python. -```py -import gerber -from gerber.render import GerberCairoContext +This repository is a friendly fork of [phsilva's pcb-tools](https://github.com/curtacircuitos/pcb-tools) with +[extensions from opiopan](https://github.com/opiopan/pcb-tools-extension) integrated. We decided to fork pcb-tools since +we need it as a dependency for [gerbolyze](https://gitlab.com/gerbolyze/gerbolyze) and pcb-tools was sometimes very +behind on bug fixes. -# Read gerber and Excellon files -top_copper = gerber.read('example.GTL') -nc_drill = gerber.read('example.txt') +# Installation -# Rendering context -ctx = GerberCairoContext() +Arch Linux: -# Create SVG image -top_copper.render(ctx) -nc_drill.render(ctx, 'composite.svg') +``` +yay -S python-gerbonara ``` -Rendering Examples: -------------------- -### Top Composite rendering -![Composite Top Image](examples/cairo_example.png) -![Composite Bottom Image](examples/cairo_bottom.png) - -Source code for this example can be found [here](examples/cairo_example.py). - +Python: -Install from source: ``` -$ git clone https://github.com/curtacircuitos/pcb-tools.git -$ cd pcb-tools -$ pip install -r requirements.txt -$ python setup.py install +pip install gerbonara ``` -Documentation: --------------- -[PCB Tools Documentation](http://pcb-tools.readthedocs.org/en/latest/) +# Usage + +Here's a simple example: +```python +import gerbonara +from gerbonara.render import GerberCairoContext -Development and Testing: ------------------------- +# Read gerber and Excellon files +top_copper = gerbonara.read('example.GTL') +nc_drill = gerbonara.read('example.txt') -Dependencies for developing and testing pcb-tools are listed in requirements-dev.txt. Use of a virtual environment is strongly recommended. +# Rendering context +ctx = GerberCairoContext() - $ virtualenv venv - $ source venv/bin/activate - (venv)$ pip install -r requirements-dev.txt - (venv)$ pip install -e . +# Create SVG image +top_copper.render(ctx) +nc_drill.render(ctx, 'composite.svg') +``` -We use [pytest](https://docs.pytest.org/en/latest/) to run pcb-tools's suite of unittests and doctests. +--- - (venv)$ pytest +Made with ❤️ and 🐍. +======= +pcb-tools |