{"id":14982470,"url":"https://github.com/librepcb/librepcb","last_synced_at":"2025-05-14T01:06:08.748Z","repository":{"id":2351887,"uuid":"37735755","full_name":"LibrePCB/LibrePCB","owner":"LibrePCB","description":"A powerful, innovative and intuitive EDA suite for everyone!","archived":false,"fork":false,"pushed_at":"2024-10-29T12:31:40.000Z","size":54986,"stargazers_count":2410,"open_issues_count":173,"forks_count":297,"subscribers_count":75,"default_branch":"master","last_synced_at":"2024-10-29T13:27:36.348Z","etag":null,"topics":["cad","eda","electronics","hacktoberfest","linux","macos","pcb","qt","schematic","unix","windows"],"latest_commit_sha":null,"homepage":"https://librepcb.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LibrePCB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["ubruhin"],"patreon":"librepcb","open_collective":"librepcb","custom":"https://librepcb.org/donate/"}},"created_at":"2015-06-19T17:21:08.000Z","updated_at":"2024-10-29T12:58:53.000Z","dependencies_parsed_at":"2023-10-11T09:12:24.819Z","dependency_job_id":"7d2e77af-a7ed-4f81-9d2f-13414cef817c","html_url":"https://github.com/LibrePCB/LibrePCB","commit_stats":{"total_commits":2846,"total_committers":50,"mean_commits":56.92,"dds":0.07554462403373152,"last_synced_commit":"11b1f5830dc5cc73e128e0fe6880c38b1ca43ab4"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2FLibrePCB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2FLibrePCB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2FLibrePCB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibrePCB%2FLibrePCB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LibrePCB","download_url":"https://codeload.github.com/LibrePCB/LibrePCB/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248229622,"owners_count":21068945,"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":["cad","eda","electronics","hacktoberfest","linux","macos","pcb","qt","schematic","unix","windows"],"created_at":"2024-09-24T14:05:29.377Z","updated_at":"2025-04-10T13:55:28.685Z","avatar_url":"https://github.com/LibrePCB.png","language":"C++","readme":"# LibrePCB\n\n[![Become a Patron](https://img.shields.io/badge/Patreon-donate-orange.svg)](https://www.patreon.com/librepcb)\n[![Discourse](https://img.shields.io/badge/Discourse-discuss-blueviolet.svg)](https://librepcb.discourse.group/)\n[![Telegram](https://img.shields.io/badge/Telegram-chat-blue.svg)](https://telegram.me/LibrePCB_dev)\n[![Website](https://img.shields.io/badge/Website-librepcb.org-29d682.svg)](https://librepcb.org/)\n[![Docs](https://img.shields.io/badge/Docs-read-yellow.svg)](https://librepcb.org/docs/)\n\n[![Azure Build Status](https://dev.azure.com/LibrePCB/LibrePCB/_apis/build/status/LibrePCB.LibrePCB?branchName=master)](https://dev.azure.com/LibrePCB/LibrePCB/_build/latest?definitionId=2\u0026branchName=master)\n[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/1652/badge)](https://bestpractices.coreinfrastructure.org/projects/1652)\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/librepcb.svg?columns=3\u0026header=LibrePCB)](https://repology.org/project/librepcb/versions)\n\n## About LibrePCB\n\nLibrePCB is a free\n[EDA](https://en.wikipedia.org/wiki/Electronic_design_automation) suite to\ndevelop printed circuit boards on Windows, Linux and MacOS. More information\nand screenshots are available at [librepcb.org](https://librepcb.org).\n\n## Installation \u0026 Usage\n\n**Official stable releases are provided at our\n[download page](https://librepcb.org/download/).**\n\n**Please read our [user manual](https://librepcb.org/docs/) to see how you can\ninstall and use LibrePCB.** The\n[quickstart tutorial](https://librepcb.org/docs/quickstart/) provides a\nstep-by-step guide through the whole process of designing a PCB.\n\n## Contributing\n\nContributions are welcome! See\n[librepcb.org/contribute](https://librepcb.org/contribute/) and\n[`CONTRIBUTING.md`](CONTRIBUTING.md) for details.\n\nFor internal details take a look at the\n[developers documentation](https://developers.librepcb.org/).\n\n## Development\n\n***WARNING: The `master` branch always contains the latest UNSTABLE version of\nLibrePCB. Everything you do with this unstable version could break your\nworkspace, libraries or projects, so you should not use it productively! For\nproductive use, please install an official release as described in the\n[user manual](https://librepcb.org/docs/). For development, please read details\n[here](https://developers.librepcb.org/df/d30/doc_developers.html#doc_developers_unstable_versions).***\n\n### Requirements\n\nTo compile and run LibrePCB, you need the following software components:\n\n- C++ compiler: g++, MinGW or Clang (any version with C++20 support should work)\n- [Rust](https://www.rust-lang.org/) toolchain (GNU, not MSVC)\n- [Qt](http://www.qt.io/download-open-source/) \u003e= 6.2 (make\n  sure the [imageformats](https://doc.qt.io/qt-6/qtimageformats-index.html)\n  plugin is installed too as it will be needed at runtime!).\n- [OpenCASCADE](https://www.opencascade.com/) OCCT or OCE (optional,\n  OCCT highly preferred)\n- [OpenGL Utility Library](https://en.wikipedia.org/wiki/OpenGL_Utility_Library)\n  GLU (optional)\n- [zlib](http://www.zlib.net/)\n- [OpenSSL](https://www.openssl.org/)\n- [CMake](https://cmake.org/) 3.22 or newer\n\n#### Prepared Docker Image\n\nInstead of installing the dependencies manually on your system (see instructions\nbelow), you can also use one of our\n[Docker images](https://hub.docker.com/r/librepcb/librepcb-dev) with all\ndependencies pre-installed (except GUI tools like QtCreator). These images are\nactually used for CI, but are also useful to build LibrePCB locally.\n\n#### Installation on Debian/Ubuntu/Mint\n\n##### Ubuntu \u003e= 22.04\n\n```bash\nsudo apt-get install build-essential git cmake openssl zlib1g zlib1g-dev \\\n     qt6-base-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools \\\n     libqt6core5compat6-dev libqt6opengl6-dev libqt6svg6-dev \\\n     qt6-image-formats-plugins libglu1-mesa-dev libtbb-dev libxi-dev \\\n     occt-misc libocct-*-dev rustc cargo\nsudo apt-get install qtcreator # optional\n```\n\n##### Ubuntu 20.04\n\n```bash\nsudo apt-get install build-essential git cmake openssl zlib1g zlib1g-dev \\\n     qt5-default qttools5-dev-tools qttools5-dev libqt5opengl5-dev \\\n     libqt5svg5-dev qt5-image-formats-plugins libglu1-mesa-dev \\\n     liboce-*-dev rustc cargo\nsudo apt-get install qt5-doc qtcreator # optional\n```\n\n#### Installation on Arch Linux\n\n```bash\nsudo pacman -S base-devel git cmake openssl zlib desktop-file-utils \\\n     shared-mime-info qt6-base qt6-5compat qt6-svg qt6-tools \\\n     qt6-imageformats opencascade rust\nsudo pacman -S qt6-doc qtcreator # optional\n```\n\n*Note: Instead of installing the dependencies and building LibrePCB manually,\nyou could install the package\n[librepcb-git](https://aur.archlinux.org/packages/librepcb-git/) from the AUR.\nThe package clones and builds the latest version of the `master` branch from\nGitHub.*\n\n#### Installation on Mac OS X\n\n1. Install Xcode through the app store and start it at least once (for the license)\n2. Install [homebrew](https://github.com/Homebrew/brew) (**the** package manager)\n3. Install dependencies: `brew update \u0026\u0026 brew install qt6 cmake opencascade rust`\n4. Make the toolchain available: `brew unlink qt \u0026\u0026 brew link --force qt6`\n\n#### Installation on Windows\n\nDownload and run the\n[Qt for Windows installer](https://download.qt.io/official_releases/online_installers/qt-unified-windows-x64-online.exe)\nfrom [here](https://www.qt.io/download-open-source/). LibrePCB does not compile\nwith MSVC, so you must install following components with the Qt installer:\n\n- MinGW 11.2.0 64-bit compiler\n- Qt binaries for MinGW 11.2.0 64-bit (use the latest 6.x version)\n- Qt 5 Compatibility Module for MinGW 11.2.0 64-bit\n- Qt Image Formats for MinGW 11.2.0 64-bit\n- CMake\n\nIn addition, install the Rust toolchain with\n[Rustup](https://rust-lang.github.io/rustup/installation/windows.html).\nUse the toolchain `x86_64-pc-windows-gnu` as we don't support MSVC!\n\nFor the OpenCascade library the installation procedure is not that easy\nunfortunately. Basically you have to build it by yourself, see instructions\n[here](https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html).\nHowever, to avoid this effort you could instead just set the CMake option\n`USE_OPENCASCADE=0` (can be set in the QtCreator build config) to allow\ncompiling LibrePCB without OpenCascade.\n\n### Cloning\n\nIt's important to clone the repository recursively to get all submodules too:\n\n```bash\ngit clone --recursive https://github.com/LibrePCB/LibrePCB.git \u0026\u0026 cd LibrePCB\n```\n\n### Updating\n\nWhen updating the repository, make sure to also update all the submodules\nrecursively. Otherwise you may get strange compilation errors:\n\n```bash\ngit submodule update --init --recursive\n```\n\n### Building\n\nYou can either build LibrePCB using Qt Creator, or you can build on the command\nline using cmake. To build LibrePCB using cmake/make:\n\n```bash\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake -j8\n```\n\nThe binary can then be found in `build/apps/librepcb/`.\n\nFor more detailed instructions (including how to set up Qt Creator), see\nhttps://developers.librepcb.org/d5/d96/doc_building.html\n\n## Credits\n\n- First of all, many thanks to all of our [contributors](AUTHORS.md)!\n- A big thank you goes to all [our sponsors](https://librepcb.org/sponsors/)\n  which help to keep this project alive!\n- Special thanks also to [cloudscale.ch](https://www.cloudscale.ch/)\n  for sponsoring our API server!\n\n## License\n\nLibrePCB is published under the\n[GNU GPLv3](http://www.gnu.org/licenses/gpl-3.0.html) license.\n","funding_links":["https://github.com/sponsors/ubruhin","https://patreon.com/librepcb","https://opencollective.com/librepcb","https://librepcb.org/donate/","https://www.patreon.com/librepcb"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrepcb%2Flibrepcb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibrepcb%2Flibrepcb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrepcb%2Flibrepcb/lists"}