Metadata-Version: 2.1
Name: gerber_writer
Version: 0.3.4
Summary: A library to write Gerber files
Author-email: Karel Tavernier <karel_tavernier@hotmail.com>
License: Apache 2.0 License
Project-URL: Homepage, https://github.com/Karel-Tavernier/gerber_writer
Project-URL: Documentation, https://karel-tavernier.github.io/gerber_writer/
Keywords: Gerber,PCB,library,CAD,CAM
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE

Readme of gerber_writer
=======================

Purpose
-------

A Python library for writing Gerber files. 

Its benefits over writing Gerber files directly from the spec are:

* No need to read the 200 page Gerber format specification.
* A much simpler API than the Gerber format specification -8 pages vs 200,
* Built-in pad with all common shapes.
* User-defined pad for special shapes
* 100% compliance with the specification, rev 2022.02.
* Conservative, robust output files. Risky constructions that fail in some buggy implementations are avoided.
* Include meta information need for fabrication, such as what pads are via, in a standardized manner.
* Input methods verify whether the parameters comply with the Gerber spec.
* Stateless input (the gerber_writer takes care of the Gerber states).

Example:: 

	from gerber_writer import DataLayer, Path    
	profile_layer = DataLayer('Profile,NP')    
	profile = Path()
	profile.moveto((0, 0))
	profile.lineto((150, 0))
	profile.arcto((160, 10), (160, 0), '-')
	profile.lineto((170, 10))
	profile.lineto((170, 90))
	profile.lineto((160, 90))
	profile.arcto((150, 100), (160, 100), '-')
	profile.lineto((0, 100))
	profile.lineto((0, 0))
	profile_layer.add_traces_path(profile, 0.5, 'Profile')
	with open('gerbers\profile.gbr', 'w') as outfile:
		profile_layer.dump_gerber(outfile)

Installation
------------

py -m pip install gerber_writer

Requirements
------------

* Python 3.10 or higher
* Standard library only.
* OS independent. Only tested on Windows 11. Let me know if you tested it on other OSs.

License
-------

Apache 2.0 license
 
Contact
-------
 
karel_tavernier@hotmail.com
