{"id":16603306,"url":"https://github.com/dbrgn/svg2librepcb","last_synced_at":"2025-09-28T15:30:32.553Z","repository":{"id":45810596,"uuid":"201752308","full_name":"dbrgn/svg2librepcb","owner":"dbrgn","description":"Generate LibrePCB library elements from an SVG file.","archived":false,"fork":false,"pushed_at":"2024-08-02T01:30:01.000Z","size":101,"stargazers_count":6,"open_issues_count":8,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-12T10:42:25.302Z","etag":null,"topics":["inkscape","librepcb","svg"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbrgn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-11T10:49:55.000Z","updated_at":"2024-12-13T06:47:32.000Z","dependencies_parsed_at":"2023-02-09T17:01:03.180Z","dependency_job_id":null,"html_url":"https://github.com/dbrgn/svg2librepcb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fsvg2librepcb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fsvg2librepcb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fsvg2librepcb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbrgn%2Fsvg2librepcb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbrgn","download_url":"https://codeload.github.com/dbrgn/svg2librepcb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234452073,"owners_count":18834740,"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":["inkscape","librepcb","svg"],"created_at":"2024-10-12T00:49:14.115Z","updated_at":"2025-09-28T15:30:32.215Z","avatar_url":"https://github.com/dbrgn.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# svg2librepcb\n\nA small program to generate LibrePCB packages from an SVG file, along with an\nInkscape extension.\n\n## Building\n\nYou need Rust and Cargo installed. Then run:\n\n    cargo build --release\n\nThen you can find the binary at `target/release/svg2librepcb`.\n\n## CLI Usage\n\nUse `svg2librepcb --help` to view the usage help.\n\nExample:\n\n    svg2librepcb \\\n        --outpath ~/LibrePCB-Workspace/v0.1/libraries/local/MyLibrary.lplib/ \\\n        --name MyName \\\n        --author Danilo \\\n        logo.svg\n\nThis will result in the following files being generated in the output directory:\n\n    cmp/2288621c-6056-4531-90d1-21e9f6f72175/\n    ├── component.lp\n    └── .librepcb-cmp\n    dev/f9207d36-6bc1-41f9-a61c-cf1f9657b8e3/\n    ├── device.lp\n    └── .librepcb-dev\n    pkg/8d92aac5-2fe0-460c-baad-35e9361d5f79/\n    ├── .librepcb-pkg\n    └── package.lp\n    sym/c1fbc16a-a380-4387-aee7-a3facd5f50aa/\n    ├── .librepcb-sym\n    └── symbol.lp\n\n## SVG Constraints\n\n- Only paths are considered, without transformations or style.\n- If you have an object that consists of outer and inner paths (e.g. a donut\n  shape), you need to join the inner and outer path.\n\n## Inkscape Extension\n\nYou can use this program as an Inkscape extension:\n\n![Screenshot](inkscape/screenshot.png)\n\nTo use it, create a release build and copy the binary and the extension file to\nthe Inkscape extension directory:\n\n    cargo build --release\n    cp target/release/svg2librepcb ~/.config/inkscape/extensions/\n    cp inkscape/svg2librepcb.inx ~/.config/inkscape/extensions/\n\nAlternatively, during development, you can also symlink the two files:\n\n    cargo build\n    ln -s $(pwd)/target/debug/svg2librepcb ~/.config/inkscape/extensions/\n    ln -s $(pwd)/inkscape/svg2librepcb.inx ~/.config/inkscape/extensions/\n\nThen, launch the extension through \"Extensions \u003e Export \u003e Export to LibrePCB\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbrgn%2Fsvg2librepcb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbrgn%2Fsvg2librepcb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbrgn%2Fsvg2librepcb/lists"}