{"id":16603277,"url":"https://github.com/MakerPnP/gerber-types","last_synced_at":"2025-09-28T17:31:34.115Z","repository":{"id":41203226,"uuid":"63634784","full_name":"dbrgn/gerber-types-rs","owner":"dbrgn","description":"Gerber X2 (compatible with Gerber RS-274X) code-generating library for Rust. Not yet complete, breaking changes possible. Contributions welcome!","archived":false,"fork":false,"pushed_at":"2022-07-05T20:38:22.000Z","size":178,"stargazers_count":14,"open_issues_count":6,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-12T10:42:15.978Z","etag":null,"topics":["cam","gerber","gerber-x2","pcb","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbrgn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-18T20:27:55.000Z","updated_at":"2023-09-27T16:34:42.000Z","dependencies_parsed_at":"2022-09-13T09:52:59.150Z","dependency_job_id":null,"html_url":"https://github.com/dbrgn/gerber-types-rs","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fgerber-types-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fgerber-types-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fgerber-types-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fgerber-types-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbrgn","download_url":"https://codeload.github.com/dbrgn/gerber-types-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234546241,"owners_count":18850355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cam","gerber","gerber-x2","pcb","rust"],"created_at":"2024-10-12T00:48:52.903Z","updated_at":"2025-09-28T17:31:33.861Z","avatar_url":"https://github.com/dbrgn.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Gerber Library\n\n[![Build status][build-status-badge]][build-status]\n[![Crates.io][crates-io-badge]][crates-io]\n\n- [Docs (released)](https://docs.rs/gerber-types/)\n\nThis crate implements the basic building blocks of Gerber X2 (compatible with\nGerber RS-274X) code. It focusses on the low level types (to be used like an\nAST) and code generation and does not do any semantic checking.\n\nFor example, you can use an aperture without defining it. This will generate\nsyntactically valid but semantially invalid Gerber code, but this module won't\ncomplain.\n\nThe plan is to write a high-level wrapper library on top of this. Early drafts\n[are in progress](https://github.com/dbrgn/gerber-rs) but the design isn't\nfixed yet.\n\nCurrent Gerber X2 spec: https://www.ucamco.com/files/downloads/file/81/the_gerber_file_format_specification.pdf\n\n## Example\n\nYou can find an example in the [`examples`\ndirectory](https://github.com/dbrgn/gerber-types-rs/blob/main/examples/polarities-apertures.rs).\nIt's still quite verbose, the goal is to make the API a bit more ergonomic in\nthe future. (This library has a low-level focus though, so it will never get a\nhigh-level API. That is the task of other libraries.)\n\nTo generate Gerber code for that example:\n\n    $ cargo run --example polarities-apertures\n\n## License\n\nLicensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n\u003c!-- Badges --\u003e\n[build-status]: https://github.com/dbrgn/gerber-types-rs/actions?query=workflow%3ACI\n[build-status-badge]: https://img.shields.io/github/workflow/status/dbrgn/gerber-types-rs/CI/main\n[crates-io]: https://crates.io/crates/gerber-types\n[crates-io-badge]: https://img.shields.io/crates/v/gerber-types.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMakerPnP%2Fgerber-types","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMakerPnP%2Fgerber-types","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMakerPnP%2Fgerber-types/lists"}