{"id":34072998,"url":"https://github.com/tousstnicolas/jlc2kicad_lib","last_synced_at":"2025-12-14T08:32:36.024Z","repository":{"id":47509956,"uuid":"427068601","full_name":"TousstNicolas/JLC2KiCad_lib","owner":"TousstNicolas","description":"JLC2KICAD_lib is a python script that generate a component library (schematic, footprint and 3D model ) for KiCad from the JLCPCB/easyEDA library.","archived":false,"fork":false,"pushed_at":"2025-02-14T12:14:52.000Z","size":1290,"stargazers_count":301,"open_issues_count":13,"forks_count":45,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-09-24T22:01:52.602Z","etag":null,"topics":["easyeda","eeschema","footprint","jlcpcb","kicad","library","pcb-design","pcbnew","python-script","schematic"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TousstNicolas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2021-11-11T16:26:57.000Z","updated_at":"2025-09-24T19:02:17.000Z","dependencies_parsed_at":"2023-02-06T08:16:19.917Z","dependency_job_id":"50f6e92c-24e6-4bdb-8982-72f39cd068fa","html_url":"https://github.com/TousstNicolas/JLC2KiCad_lib","commit_stats":{"total_commits":91,"total_committers":7,"mean_commits":13.0,"dds":0.6813186813186813,"last_synced_commit":"9d0cf85f7d5403f04cd0250c2a22eacbfed7bae2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TousstNicolas/JLC2KiCad_lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TousstNicolas%2FJLC2KiCad_lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TousstNicolas%2FJLC2KiCad_lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TousstNicolas%2FJLC2KiCad_lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TousstNicolas%2FJLC2KiCad_lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TousstNicolas","download_url":"https://codeload.github.com/TousstNicolas/JLC2KiCad_lib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TousstNicolas%2FJLC2KiCad_lib/sbom","scorecard":{"id":143277,"data":{"date":"2025-08-11","repo":{"name":"github.com/TousstNicolas/JLC2KiCad_lib","commit":"bb86aece9c8caeb26add8c7f957b948920fede17"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":1,"reason":"Found 3/28 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 5 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T08:42:29.924Z","repository_id":47509956,"created_at":"2025-08-16T08:42:29.924Z","updated_at":"2025-08-16T08:42:29.924Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27723287,"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","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["easyeda","eeschema","footprint","jlcpcb","kicad","library","pcb-design","pcbnew","python-script","schematic"],"created_at":"2025-12-14T08:32:34.939Z","updated_at":"2025-12-14T08:32:36.011Z","avatar_url":"https://github.com/TousstNicolas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JLC2KiCadLib\n\n\u003cp style=\"text-align: center;\"\u003e\n\n[![PyPI version](https://badge.fury.io/py/JLC2KiCadLib.svg)](https://badge.fury.io/py/JLC2KiCadLib)\n![Python versions](https://img.shields.io/pypi/pyversions/JLC2KiCadLib.svg)\n[![Downloads](https://pepy.tech/badge/jlc2kicadlib)](https://pepy.tech/project/jlc2kicadlib)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\u003c/p\u003e\n\nJLC2KiCadLib is a python script that generate a component library (symbol, footprint and 3D model) for KiCad from the JLCPCB/easyEDA library.\nThis script requires **Python 3.6** or higher.\n\n## Example \n\n\n\neasyEDA origin | KiCad result\n---- | ----\n![JLCSymbol](https://raw.githubusercontent.com/TousstNicolas/JLC2KiCad_lib/master/images/JLC_Symbol_1.png) | ![KiCadSymbol](https://raw.githubusercontent.com/TousstNicolas/JLC2KiCad_lib/master/images/KiCad_Symbol_1.png)\n![JLCFootprint](https://raw.githubusercontent.com/TousstNicolas/JLC2KiCad_lib/master/images/JLC_Footprint_1.png) | ![KiCadFootprint](https://raw.githubusercontent.com/TousstNicolas/JLC2KiCad_lib/master/images/KiCad_Footprint_1.png)\n![JLC3Dmodel](https://raw.githubusercontent.com/TousstNicolas/JLC2KiCad_lib/master/images/JLC_3Dmodel.png) | ![KiCad3Dmodel](https://raw.githubusercontent.com/TousstNicolas/JLC2KiCad_lib/master/images/KiCad_3Dmodel.png)\n\n## Installation\n\nInstall using pip: \n\n```\npip install JLC2KiCadLib\n```\n\nInstall from source:\n\n```\ngit clone https://github.com/TousstNicolas/JLC2KiCad_lib.git\ncd JLC2KiCad_lib \npip install . \n```\n\n## Usage \n\n```\nusage: JLC2KiCadLib [-h] [-dir OUTPUT_DIR] [--no_footprint] [--no_symbol] [-symbol_lib SYMBOL_LIB] [-footprint_lib FOOTPRINT_LIB]\n                    [-models [{STEP,WRL} ...]] [--skip_existing] [-model_base_variable MODEL_BASE_VARIABLE]\n                    [-logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--log_file] [--version]\n                    JLCPCB_part_# [JLCPCB_part_# ...]\n\ntake a JLCPCB part # and create the according component's kicad's library\n\npositional arguments:\n  JLCPCB_part_#         list of JLCPCB part # from the components you want to create\n\noptions:\n  -h, --help            show this help message and exit\n  -dir OUTPUT_DIR       base directory for output library files\n  --no_footprint        use --no_footprint if you do not want to create the footprint\n  --no_symbol           use --no_symbol if you do not want to create the symbol\n  -symbol_lib SYMBOL_LIB\n                        set symbol library name, default is \"default_lib\"\n  -symbol_lib_dir SYMBOL_LIB_DIR\n                        Set symbol library path, default is \"symbol\" (relative to OUTPUT_DIR)\n  -footprint_lib FOOTPRINT_LIB\n                        set footprint library name, default is \"footprint\"\n  -models [{STEP,WRL} ...]\n                        Select the 3D model you want to use. Default is STEP. \n                        If both are selected, only the STEP model will be added to the footprint (the WRL model will still be generated alongside the STEP model). \n                        If you do not want any model to be generated, use the --models without arguments\n  -model_dir MODEL_DIR  Set directory for storing 3d models, default is \"packages3d\" (relative to FOOTPRINT_LIB)\n  --skip_existing       use --skip_existing if you want do not want to replace already existing footprints and symbols\n  -model_base_variable MODEL_BASE_VARIABLE\n                        use -model_base_variable if you want to specify the base path of the 3D model using a path variable\n  -logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}\n                        set logging level. If DEBUG is used, the debug logs are only written in the log file if the option --log_file is set\n  --log_file            use --log_file if you want logs to be written in a file\n  --version             Print versin number and exit\n\nexemple use : \n        JLC2KiCadLib C1337258 C24112 -dir My_lib -symbol_lib My_Symbol_lib --no_footprint\n```\n\nThe only required arguments are the JLCPCP_part number (e.g. Cxxxxx)\n\nExample usage : \n```\nJLC2KiCadLib C1337258 C24112 -dir My_lib                       \\\n                             -model_dir My_model_dir           \\\n                             -footprint_lib My_footprint_lib   \\\n                             -symbol_lib_dir My_symbol_lib_dir \\\n                             -symbol_lib My_symbol_lib\n```\n\nThis example will create the symbol, footprint and 3D model for the two components specified and will output the symbol in the `./My_lib/symbol/My_symbol_lib.lib` file, the footprint and 3D model will be created in the `./My_lib/Footprint`. This will result in the following tree to be created : \n\n```\nMy_lib\n├── My_footprint_lib\n│   ├── My_model_dir\n│   │   ├── QFN-24_L4.0-W4.0-P0.50-BL-EP2.7.step\n│   │   └── VQFN-48_L7.0-W7.0-P0.50-BL-EP5.5.step\n│   ├── QFN-24_L4.0-W4.0-P0.50-BL-EP2.7.kicad_mod\n│   └── VQFN-48_L7.0-W7.0-P0.50-BL-EP5.5.kicad_mod\n└── My_symbol_lib_dir\n    └── My_symbol_lib.kicad_sym\n```\n\nMost of those arguments are optional. The only required argument is the JLCPCB part #.\n\nThe JLCPCB part # is found in the part info section of every component in the JLCPCB part library. \n\nBy default, the library folder will be created in the execution directory. You can specify an absolute path with the -dir option. \n\n## Dependencies \n\nJLC2KiCadLib relies on the [KicadModTree](https://gitlab.com/kicad/libraries/kicad-footprint-generator) framework to generate the footprints. \n\n## Notes\n\n* Even so I tested the script on a lot of components, be careful and always check the output footprint and symbol.\n* I consider this project completed. I will continue to maintain it if a bug report is filed, but I will not develop new functionality in the near future. If you feel that an important feature is missing, please open an issue to discuss it, then you can fork this project with a new branch before submitting a PR. \n\n## License \n\nCopyright © 2021 TousstNicolas \n\nThe code is released under the MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftousstnicolas%2Fjlc2kicad_lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftousstnicolas%2Fjlc2kicad_lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftousstnicolas%2Fjlc2kicad_lib/lists"}