gerber-writer


Namegerber-writer JSON
Version 0.4.3.2 PyPI version JSON
download
home_pageNone
SummaryA library to write Gerber files
upload_time2024-04-17 19:38:05
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseApache 2.0 License
keywords gerber rs-274x pcb cad cam library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.29489s