{"id":21850056,"url":"https://github.com/steffen-w/import-lib-kicad-plugin","last_synced_at":"2026-04-06T22:01:30.301Z","repository":{"id":143468798,"uuid":"615837310","full_name":"Steffen-W/Import-LIB-KiCad-Plugin","owner":"Steffen-W","description":"Helps to import KiCad component libraries imported from ultralibrarian and snapeda zipfiles.","archived":false,"fork":false,"pushed_at":"2026-03-13T20:58:13.000Z","size":7437,"stargazers_count":180,"open_issues_count":0,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-03-14T08:55:15.548Z","etag":null,"topics":["kicad","library","plugin","samacsys","snapeda","ultralibrarian"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"topherbuckley/kicad_remote_import","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Steffen-W.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-18T20:25:14.000Z","updated_at":"2026-03-13T23:47:32.000Z","dependencies_parsed_at":"2024-08-08T21:56:35.276Z","dependency_job_id":"a34efc5d-d114-48c2-ac8d-0d71c311fd82","html_url":"https://github.com/Steffen-W/Import-LIB-KiCad-Plugin","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/Steffen-W/Import-LIB-KiCad-Plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffen-W%2FImport-LIB-KiCad-Plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffen-W%2FImport-LIB-KiCad-Plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffen-W%2FImport-LIB-KiCad-Plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffen-W%2FImport-LIB-KiCad-Plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Steffen-W","download_url":"https://codeload.github.com/Steffen-W/Import-LIB-KiCad-Plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffen-W%2FImport-LIB-KiCad-Plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31491097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["kicad","library","plugin","samacsys","snapeda","ultralibrarian"],"created_at":"2024-11-28T00:15:51.842Z","updated_at":"2026-04-06T22:01:30.276Z","avatar_url":"https://github.com/Steffen-W.png","language":"Python","funding_links":["https://ko-fi.com/steffenw1"],"categories":[],"sub_categories":[],"readme":"![Static Badge](https://img.shields.io/badge/Supports_KiCad-v6%2C_v7%2C_v8%2C_v9-%23314cb0)\n![Static Badge](https://img.shields.io/badge/Supports-Windows%2C_Mac%2C_Linux-Green)\n![Static Badge](https://img.shields.io/badge/Python-3.9_%7C_3.10_%7C_3.11_%7C_3.12-blue?logo=python\u0026logoColor=white)\n\n[![Static Badge](\u003chttps://img.shields.io/badge/Samacsys-Works_(Component_Search_Engine)-1e8449\u003e)](https://componentsearchengine.com/)\n[![Static Badge](\u003chttps://img.shields.io/badge/SnapEDA-Works_(v4%2C_v6)-27ae60\u003e)](https://www.snapeda.com/home/)\n[![Static Badge](https://img.shields.io/badge/UltraLibrarian-Works-229954)](https://app.ultralibrarian.com/search)\n[![Static Badge](https://img.shields.io/badge/Octopart-Works-52be80)](https://octopart.com/)\n[![Static Badge](https://img.shields.io/badge/LCSC--EasyEDA-Works-008000)](https://www.lcsc.com/)\n\n[![GitHub Release](https://img.shields.io/github/release/Steffen-W/Import-LIB-KiCad-Plugin.svg)](https://github.com/Steffen-W/Import-LIB-KiCad-Plugin/releases/latest)\n[![Nightly Build](https://img.shields.io/badge/nightly-download-orange)](https://github.com/Steffen-W/Import-LIB-KiCad-Plugin/releases/tag/nightly)\n[![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/Steffen-W/Import-LIB-KiCad-Plugin/total)](https://github.com/Steffen-W/Import-LIB-KiCad-Plugin/releases/latest/download/Import-LIB-KiCad-Plugin.zip)\n\n# KiCad Import-LIB-KiCad-Plugin ![icon](plugins/icon_small.png)\n\nThis plugin allows importing downloaded libraries from the platforms [Octopart](https://octopart.com/), [Samacsys](https://componentsearchengine.com/), [Ultralibrarian](https://app.ultralibrarian.com/search), [Snapeda](https://www.snapeda.com/home/) and [EasyEDA](https://www.lcsc.com/). It can import symbols, footprints, descriptions, and if available, 3D files. Normally, when you select the imported symbol in KiCad, the appropriate footprint and the 3D file should also be linked. Provided, of course, that the libraries have been included as specified below.\n\n[![SC2 Video](doc/demo.gif)](https://youtu.be/VrWPPHtCovQ)\n\n[YouTube - Instructions for installation and use](https://youtu.be/BYIKjCs1qKQ)\n\n## Installation\n\nInstall the plugin easily through KiCad's **Plugin And Content Manager**. Select ![icon](plugins/icon_small.png) **Import-LIB-KiCad-Plugin** in the Plugins tab, press **Install** and then **Apply Pending Changes**.\n\nYou can also download the latest version [here](https://github.com/Steffen-W/Import-LIB-KiCad-Plugin/releases/latest/download/Import-LIB-KiCad-Plugin.zip) and install it via **KiCad** -\u003e **Plugin And Content Manager** -\u003e **Install from File...** -\u003e select **Import-LIB-KiCad-Plugin.zip** and import.\n\n## Use of the application\n\nThe import window is accessible in the **PCB Editor** -\u003e **Tools** -\u003e **External Plugins** -\u003e **impartGUI**\n\n\u003cimg width=\"648\" height=\"649\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/b5c65f6f-7612-4883-9032-aaf6e16cc782\" /\u003e\n\nThe libraries to import must be located in the folder specified as **Folder of the library** to import. After pressing Start, the libraries will be imported into the specified folder (**Library save location**).\n\n**New:** You can also drag and drop ZIP files directly into the text area for instant import without setting up folder monitoring.\n\nBy default, each source gets its own library (e.g. `Samacsys.kicad_sym`, `Snapeda.kicad_sym`). Enable **single lib name** and enter a name to merge all imports into one library file instead.\n\nProvided that the paths have been [added correctly in KiCad](#including-the-imported-libraries-in-kicad), the parts can be used immediately in KiCad. If the libraries have not been imported correctly, a warning will indicate this.\n\n## Including the imported libraries in KiCad\n\n⚠️ **IMPORTANT:** Before using the plugin, you must manually configure the library paths in KiCad. The automatic configuration option may not work reliably in all cases.\n\n**Step 1: Configure Environment Variable**\n\n**Preferences** -\u003e **Configure paths** -\u003e **Environment Variables** -\u003e Add the following entry\n\n| Name            | Path                        |\n| --------------- | --------------------------- |\n| KICAD_3RD_PARTY | **YourLibraryFolder**/KiCad |\n\n**Step 2: Add Symbol Libraries**\n\n**Preferences** -\u003e **Manage Symbol Libraries** -\u003e **Global Libraries** -\u003e Add the following entries\n\n**Note:** Add only the libraries you plan to use. Errors will appear if you add libraries that don't exist yet - they will be created automatically when you import your first component from that source.\n\n| Active             | Visible            | Nickname       | Library Path                                | Library Format |\n| ------------------ | ------------------ | -------------- | ------------------------------------------- | -------------- |\n| :heavy_check_mark: | :heavy_check_mark: | Samacsys       | ${KICAD_3RD_PARTY}/Samacsys.kicad_sym       | KiCad          |\n| :heavy_check_mark: | :heavy_check_mark: | Snapeda        | ${KICAD_3RD_PARTY}/Snapeda.kicad_sym        | KiCad          |\n| :heavy_check_mark: | :heavy_check_mark: | UltraLibrarian | ${KICAD_3RD_PARTY}/UltraLibrarian.kicad_sym | KiCad          |\n| :heavy_check_mark: | :heavy_check_mark: | EasyEDA        | ${KICAD_3RD_PARTY}/EasyEDA.kicad_sym        | KiCad          |\n\n**Step 3: Add Footprint Libraries**\n\n**Preferences** -\u003e **Manage Footprint Libraries** -\u003e **Global Libraries** -\u003e Add the following entries\n\n**Note:** Add only the libraries you plan to use. As with symbol libraries, errors will appear until you import your first component.\n\n| Active             | Nickname       | Library Path                             | Library Format |\n| ------------------ | -------------- | ---------------------------------------- | -------------- |\n| :heavy_check_mark: | Samacsys       | ${KICAD_3RD_PARTY}/Samacsys.pretty       | KiCad          |\n| :heavy_check_mark: | Snapeda        | ${KICAD_3RD_PARTY}/Snapeda.pretty        | KiCad          |\n| :heavy_check_mark: | UltraLibrarian | ${KICAD_3RD_PARTY}/UltraLibrarian.pretty | KiCad          |\n| :heavy_check_mark: | EasyEDA        | ${KICAD_3RD_PARTY}/EasyEDA.pretty        | KiCad          |\n\n**Step 4: Restart KiCad**\n\nAfter adding the library paths, **restart KiCad** to ensure all settings are properly loaded.\n\n---\n\n**About the \"auto KiCad setting\" option:** While the plugin offers an automatic configuration option, it may not work reliably in all KiCad versions or configurations. If you encounter errors like \"Failed to add library automatically\", follow the manual steps above instead.\n\n## CLI Support\n\nThe import process can also be done completely without the GUI. Run from the `plugins` directory:\n\n```bash\ncd plugins\npython -m KiCadImport -h\n```\n\n```bash\nusage: __main__.py [-h] (--download-folder DOWNLOAD_FOLDER | --download-file DOWNLOAD_FILE | --easyeda EASYEDA)\n                   --lib-folder LIB_FOLDER [--overwrite-if-exists] [--path-variable PATH_VARIABLE]\n                   [--prefer-step] [--lib-name LIB_NAME]\n\nImport KiCad libraries from a file or folder.\n\noptions:\n  -h, --help            show this help message and exit\n  --download-folder DOWNLOAD_FOLDER\n                        Path to the folder with the zip files to be imported.\n  --download-file DOWNLOAD_FILE\n                        Path to the zip file to import.\n  --easyeda EASYEDA     Import easyeda part. example: C2040\n  --lib-folder LIB_FOLDER\n                        Destination folder for the imported KiCad files.\n  --overwrite-if-exists\n                        Overwrite existing files if they already exist\n  --path-variable PATH_VARIABLE\n                        Example: if only project-specific '${KIPRJMOD}' standard is '${KICAD_3RD_PARTY}'\n  --prefer-step         Use STEP instead of WRL as the 3D model reference in footprints\n                        (falls back to WRL if no STEP available)\n  --lib-name LIB_NAME   Use a custom library name for all imports\n                        (e.g., 'Custom' instead of Samacsys/Snapeda/EasyEDA)\n```\n\n## KiCad IPC API (Recommended)\n\nThe **KiCad IPC API** is the modern and recommended way to run this plugin. It provides automatic dependency management and better performance compared to the fallback solution.\n\n**To activate the KiCad IPC API:**\n\n1. **KiCad** -\u003e **Settings** -\u003e **Plugins** -\u003e **Enable Plugin System**\n2. Check **Enable KiCad API** option\n3. Restart KiCad\n\n![KiCad API Settings](doc/kicad_api_settings.png)\n\n**Benefits of using the KiCad IPC API:**\n\n- Automatic dependency installation in isolated environment\n- Faster startup and execution\n- Better integration with KiCad\n- No manual setup required\n\n**Plugin access with IPC API:**\n\n- **PCB Editor** -\u003e **Tools** -\u003e **External Plugins** -\u003e **impartGUI (IPC API)**\n- **Schematic Editor** -\u003e **Tools** -\u003e **External Plugins** -\u003e **impartGUI (IPC API)**\n\n## Fallback Solution (pcbnew)\n\nIf the **KiCad IPC API** is not available or activated, the plugin will automatically use a fallback solution. The KiCad API handles dependency installation in its own virtual environment automatically, while the fallback solution requires manual setup.\n\n**To activate the KiCad IPC API (recommended):**\n**KiCad** -\u003e **Settings** -\u003e **Plugins** -\u003e **Activate KiCad API**\n\n## Warranty\n\n**None. Zero. Zilch. Use at your own risk**, and please be sure to use git or some other means of backing up/reverting changes caused by this script. This script will modify existing lib, dcm, footprint or 3D model files. It is your responsibility to back them up or have a way to revert changes should you inadvertently mess something up using this tool.\n\nPlease write an issues if an import does not work as requested.\n\n## FAQ\n\n**Do I have to manually create a library that does not yet exist before using the plugin?**\nNo, you do not need to create a file manually. Your only task is to download your desired part from the internet and start the import process with the plugin.\n\n**Where can I save the library?**\nIt is possible to save the files in any place on your PC where you have read and write permissions.\nIt is also possible to store the files on network drives or cloud storage to share the library with others.\nIn the libraries relative paths are used, the absolute path is not considered.\n\n**Can I change the storage location?**\nYes, this is of course always possible. But you should keep in mind that the existing libraries will not be moved automatically. You would have to do that yourself if necessary.\n\n**If I import from one source, do I have to stay with that source, or can I import from all sources?**\nNo, you can import from all sources freely. Each source gets its own library (e.g. `Samacsys.kicad_sym`, `Snapeda.kicad_sym`, `Octopart.kicad_sym`, `UltraLibrarian.kicad_sym`, `EasyEDA.kicad_sym`). If you enable **single lib name**, all imports are merged into one library instead.\n\n### General KiCad Questions\n\n**I have entered a library in the settings in KiCad that does not exist at this time, what happens?**\nYou get a message that this library does not exist. Nothing more. As soon as it exists, it can be accessed.\n\n**Can I remove a library from the settings?**\nYes, you can always do that. The libraries are neither deleted nor edited in any way. They are just not included.\n\n## Todo List\n\n- [x] Drag and drop support for ZIP files\n- [x] add as local project Lib\n- [x] plugin in schematic windows\n- [x] Add digikey support\n- [x] Reloading the dependency pydantic for [uPesy/easyeda2kicad.py](https://github.com/uPesy/easyeda2kicad.py)\n- [x] Updating the library before an import `kicad-cli sym upgrade`\n- [x] Updating the footprint library `kicad-cli fp upgrade *.pretty`\n- [x] add [jlcpcb parts](https://jlcpcb.com/parts) to import (integrate [uPesy/easyeda2kicad.py](https://github.com/uPesy/easyeda2kicad.py))\n- [x] Automatic background import\n- [x] Test on a Mac\n- [x] Testing all library formats\n- [x] Using the new KiCad format\n- [x] Possibility of automatic KiCad settings adjustment\n\nIf you notice an error then please write me an issue. If you want to change the GUI or the functionality, I am also open for ideas.\n\n[![Create Issue](https://img.shields.io/badge/Create%20Issue-blue.svg)](https://github.com/Steffen-W/Import-LIB-KiCad-Plugin/issues/new)\n\n\u003ca href=\"https://ko-fi.com/steffenw1\" target=\"_blank\"\u003e\u003cimg src=\"https://storage.ko-fi.com/cdn/brandasset/kofi_button_stroke.png\" alt=\"Support via Ko-fi\" height=\"30\"\u003e\u003c/a\u003e\n\n## Development Setup\n\n### Building the KiCad Plugin Package\n\n```bash\n# Clone repository with submodules\ngit clone --recurse-submodules https://github.com/Steffen-W/Import-LIB-KiCad-Plugin.git\ncd Import-LIB-KiCad-Plugin\n\n# If you already cloned without --recurse-submodules, initialize submodules:\ngit submodule update --init\n\n# Update to latest changes (including submodules)\ngit pull --recurse-submodules\ngit submodule update --remote --merge\n\n# Generate KiCad plugin ZIP file (Linux/macOS/Windows Git Bash)\n./generate_zip.sh\n```\n\n**The `generate_zip.sh` script:**\n\n- Updates version in `metadata.json` with current date\n- Packages only essential files (excludes dev files, caches, etc.)\n- Creates `Import-LIB-KiCad-Plugin.zip` ready for KiCad Plugin Manager\n\n## Many thanks to\n\n[wexi with impart](https://github.com/wexi/impart) and [topherbuckley](https://github.com/topherbuckley/kicad_remote_import) for the code on which the GUI is based.\nI would also like to thank [uPesy](https://github.com/uPesy) for enabling the import of [EasyEDA](https://www.lcsc.com/) through his python project [uPesy/easyeda2kicad.py](https://github.com/uPesy/easyeda2kicad.py) (AGPL-3.0 license).\nI also thank the people who helped me find the errors in the code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteffen-w%2Fimport-lib-kicad-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteffen-w%2Fimport-lib-kicad-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteffen-w%2Fimport-lib-kicad-plugin/lists"}