Readme
======
Purpose
-------
A Python library for writing Gerber files.
* The API is much simpler than the Gerber format specification - 8 pages vs 200.
* No need to read the 200 page Gerber format specification.
* All common pad shapes are built-in.
* User-defined pads shapes are easily created.
* 100% compliance with revision 2023.08 of the Gerber Layer Format Specification.
* Conservative, robust output files.
* Risky constructs failing in some buggy applications are avoided.
* Standardized meta information for fabrication, such as which pads are vias.
* Input parameters are checked for compliance with the Gerber spec.
* Stateless input (the gerber_writer takes care of the Gerber states).
Example::
from gerber_writer import DataLayer, Circle, RoundedRectangle
trace_width = 0.127
via_pad = Circle(0.508, 'ViaPad')
IC17_toe = RoundedRectangle(1.257, 2.286, 0.254, 'SMDPad,CuDef')
toe_point = (0, 2.54)
via_point = (5.08, 0)
top = DataLayer('Copper,L1,Top,Signal')
top.add_pad(IC17_toe, toe_point, angle=45)
top.add_trace_line(toe_point, (2.54, 0), trace_width, 'Conductor')
top.add_trace_line((2.54, 0), via_point, trace_width, 'Conductor')
top.add_pad(via_pad, via_point)
with open('gerbers\gerber_writer_example_small.gbr', 'w') as outfile:
top.dump_gerber(outfile)
.. image:: example_small.png
:width: 800
Installation
------------
Windows::
$ py -m pip install gerber_writer
Linux::
$ python3 -m pip install gerber_writer
Requirements
------------
* Python 3.9 or higher
* Standard library only.
* OS independent.
License
-------
Apache 2.0 license
Contact
-------
karel_tavernier@hotmail.com
Raw data
{
"_id": null,
"home_page": null,
"name": "gerber-writer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "Gerber, RS-274X, PCB, CAD, CAM, library",
"author": null,
"author_email": "Karel Tavernier <karel_tavernier@hotmail.com>",
"download_url": "https://files.pythonhosted.org/packages/cd/06/23f11c4a65e1cb054402f29d2ea4624b7ff89ba7f22923efb7ee89b14639/gerber_writer-0.4.3.2.tar.gz",
"platform": null,
"description": "Readme\n======\n\nPurpose\n-------\n\nA Python library for writing Gerber files. \n\n* The API is much simpler than the Gerber format specification - 8 pages vs 200.\n* No need to read the 200 page Gerber format specification.\n* All common pad shapes are built-in.\n* User-defined pads shapes are easily created.\n* 100% compliance with revision 2023.08 of the Gerber Layer Format Specification.\n* Conservative, robust output files.\n* Risky constructs failing in some buggy applications are avoided.\n* Standardized meta information for fabrication, such as which pads are vias.\n* Input parameters are checked for compliance with the Gerber spec.\n* Stateless input (the gerber_writer takes care of the Gerber states).\n\nExample:: \n\n\tfrom gerber_writer import DataLayer, Circle, RoundedRectangle\n\t\t\n\ttrace_width = 0.127\n\tvia_pad = Circle(0.508, 'ViaPad')\n\tIC17_toe = RoundedRectangle(1.257, 2.286, 0.254, 'SMDPad,CuDef')\n\ttoe_point = (0, 2.54)\n\tvia_point = (5.08, 0)\n\n\ttop = DataLayer('Copper,L1,Top,Signal')\n\n\ttop.add_pad(IC17_toe, toe_point, angle=45)\n\ttop.add_trace_line(toe_point, (2.54, 0), trace_width, 'Conductor')\n\ttop.add_trace_line((2.54, 0), via_point, trace_width, 'Conductor')\n\ttop.add_pad(via_pad, via_point)\n\n\twith open('gerbers\\gerber_writer_example_small.gbr', 'w') as outfile:\n top.dump_gerber(outfile)\n\t\t\n.. image:: example_small.png\n\t:width: 800\n\nInstallation\n------------\n\nWindows::\n\n $ py -m pip install gerber_writer\n\t\nLinux::\n\n $ python3 -m pip install gerber_writer\n\nRequirements\n------------\n\n* Python 3.9 or higher\n* Standard library only.\n* OS independent.\n\nLicense\n-------\n\nApache 2.0 license\n \nContact\n-------\n \nkarel_tavernier@hotmail.com\n",
"bugtrack_url": null,
"license": "Apache 2.0 License",
"summary": "A library to write Gerber files",
"version": "0.4.3.2",
"project_urls": {
"Documentation": "https://karel-tavernier.github.io/gerber_writer/html",
"Repository": "https://github.com/karel-tavernier/gerber_writer"
},
"split_keywords": [
"gerber",
" rs-274x",
" pcb",
" cad",
" cam",
" library"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b00e35f8ed6b5e5ff2045516c0d729a2efd0fedeb9c418edec6266580c30835e",
"md5": "03b36f4c616da3155c37472cac53eeb0",
"sha256": "dd4dbaf2ff227efdc933978c87ee13f9f2ded95ddf2bd95afde8018462f7243d"
},
"downloads": -1,
"filename": "gerber_writer-0.4.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "03b36f4c616da3155c37472cac53eeb0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 25908,
"upload_time": "2024-04-17T19:38:04",
"upload_time_iso_8601": "2024-04-17T19:38:04.024859Z",
"url": "https://files.pythonhosted.org/packages/b0/0e/35f8ed6b5e5ff2045516c0d729a2efd0fedeb9c418edec6266580c30835e/gerber_writer-0.4.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cd0623f11c4a65e1cb054402f29d2ea4624b7ff89ba7f22923efb7ee89b14639",
"md5": "742bbc0db23d93da64aa4d9946d22c64",
"sha256": "7134b6bb858a9188a1bb9510f480a09f5124e33a12c5f4ffe7858e3dc10cf692"
},
"downloads": -1,
"filename": "gerber_writer-0.4.3.2.tar.gz",
"has_sig": false,
"md5_digest": "742bbc0db23d93da64aa4d9946d22c64",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 26508,
"upload_time": "2024-04-17T19:38:05",
"upload_time_iso_8601": "2024-04-17T19:38:05.408529Z",
"url": "https://files.pythonhosted.org/packages/cd/06/23f11c4a65e1cb054402f29d2ea4624b7ff89ba7f22923efb7ee89b14639/gerber_writer-0.4.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-17 19:38:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "karel-tavernier",
"github_project": "gerber_writer",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "gerber-writer"
}