ecadlib 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. ecadlib/__init__.py +3 -0
  2. ecadlib/__main__.py +5 -0
  3. ecadlib/a365_sync.py +637 -0
  4. ecadlib/agent.py +1407 -0
  5. ecadlib/agent_queue.py +780 -0
  6. ecadlib/agent_watch.py +732 -0
  7. ecadlib/altium365.py +385 -0
  8. ecadlib/altium_dblib_sync.py +530 -0
  9. ecadlib/altium_export.py +209 -0
  10. ecadlib/altium_forms.py +768 -0
  11. ecadlib/altium_lib.py +1089 -0
  12. ecadlib/altium_menu.py +1751 -0
  13. ecadlib/altium_pkg.py +396 -0
  14. ecadlib/altium_project.py +1095 -0
  15. ecadlib/app.py +1458 -0
  16. ecadlib/approvals.py +395 -0
  17. ecadlib/assets/demo_bom.csv +8 -0
  18. ecadlib/assets/kicad_action_plugin.py +607 -0
  19. ecadlib/assets/kicad_reread.py +60 -0
  20. ecadlib/assets/pcblib_template.json.gz +0 -0
  21. ecadlib/bom_inputs.py +339 -0
  22. ecadlib/bom_triage.py +519 -0
  23. ecadlib/cad_model.py +528 -0
  24. ecadlib/cfb.py +171 -0
  25. ecadlib/cli.py +185 -0
  26. ecadlib/clihelp.py +149 -0
  27. ecadlib/cliutil.py +119 -0
  28. ecadlib/completion.py +173 -0
  29. ecadlib/costs.py +276 -0
  30. ecadlib/crosscheck.py +412 -0
  31. ecadlib/datasheet.py +2168 -0
  32. ecadlib/dedupe.py +572 -0
  33. ecadlib/detect.py +170 -0
  34. ecadlib/doctor.py +450 -0
  35. ecadlib/ds_route.py +541 -0
  36. ecadlib/eagle_export.py +1409 -0
  37. ecadlib/easy_setup.py +338 -0
  38. ecadlib/easyeda_convert.py +386 -0
  39. ecadlib/easyeda_pro_export.py +972 -0
  40. ecadlib/eval/__init__.py +0 -0
  41. ecadlib/eval/baselines/kicad-v1.json +404 -0
  42. ecadlib/eval/build_set.py +299 -0
  43. ecadlib/eval/cli.py +119 -0
  44. ecadlib/eval/gate.py +358 -0
  45. ecadlib/eval/golden/demo.txt +379 -0
  46. ecadlib/eval/golden/specs.txt +3120 -0
  47. ecadlib/eval/golden/testpack.txt +463 -0
  48. ecadlib/eval/golden.py +446 -0
  49. ecadlib/eval/replay/kicad-v1.json.gz +0 -0
  50. ecadlib/eval/runner.py +456 -0
  51. ecadlib/eval/score.py +179 -0
  52. ecadlib/eval/sets/kicad-v1.json +630 -0
  53. ecadlib/firstrun.py +400 -0
  54. ecadlib/footprint_adv.py +1006 -0
  55. ecadlib/footprint_bench.py +218 -0
  56. ecadlib/footprint_check.py +562 -0
  57. ecadlib/footprint_gen.py +582 -0
  58. ecadlib/footprint_rules.py +1092 -0
  59. ecadlib/forge.py +267 -0
  60. ecadlib/fp_share.py +95 -0
  61. ecadlib/fp_tidy.py +389 -0
  62. ecadlib/fsutil.py +62 -0
  63. ecadlib/house_style.py +1051 -0
  64. ecadlib/httpcache.py +124 -0
  65. ecadlib/hub.py +1490 -0
  66. ecadlib/hub_copy.py +161 -0
  67. ecadlib/hub_tools.py +79 -0
  68. ecadlib/kicad_dblib.py +257 -0
  69. ecadlib/kicad_export.py +837 -0
  70. ecadlib/kicad_import.py +913 -0
  71. ecadlib/kicad_index.py +160 -0
  72. ecadlib/kicad_menu.py +193 -0
  73. ecadlib/kicad_pcm.py +475 -0
  74. ecadlib/launcher.py +156 -0
  75. ecadlib/librarian.py +963 -0
  76. ecadlib/lifecycle.py +691 -0
  77. ecadlib/llm/__init__.py +276 -0
  78. ecadlib/llm/cli.py +70 -0
  79. ecadlib/llm/openai_compat.py +214 -0
  80. ecadlib/llm/profiles.py +245 -0
  81. ecadlib/llm/rails.py +570 -0
  82. ecadlib/llm/run.py +126 -0
  83. ecadlib/llm/sampling.py +49 -0
  84. ecadlib/mcp_server.py +723 -0
  85. ecadlib/messages.py +419 -0
  86. ecadlib/migrate.py +407 -0
  87. ecadlib/notify.py +329 -0
  88. ecadlib/package_schema.json +1238 -0
  89. ecadlib/package_specs/CP_EIA-3216-18_Kemet-A.json +27 -0
  90. ecadlib/package_specs/C_0402_1005Metric.json +22 -0
  91. ecadlib/package_specs/C_0805_2012Metric.json +22 -0
  92. ecadlib/package_specs/DFN-8-1EP_3x3mm_P0.5mm_EP1.66x2.38mm.json +40 -0
  93. ecadlib/package_specs/D_SMA.json +27 -0
  94. ecadlib/package_specs/D_SMB.json +27 -0
  95. ecadlib/package_specs/D_SOD-123.json +43 -0
  96. ecadlib/package_specs/D_SOD-323.json +43 -0
  97. ecadlib/package_specs/LED_0603_1608Metric.json +23 -0
  98. ecadlib/package_specs/LED_0805_2012Metric.json +23 -0
  99. ecadlib/package_specs/LQFP-48_7x7mm_P0.5mm.json +31 -0
  100. ecadlib/package_specs/L_0805_2012Metric.json +22 -0
  101. ecadlib/package_specs/MSOP-8_3x3mm_P0.65mm.json +31 -0
  102. ecadlib/package_specs/QFN-16-1EP_3x3mm_P0.5mm_EP1.75x1.75mm.json +39 -0
  103. ecadlib/package_specs/QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm.json +37 -0
  104. ecadlib/package_specs/R_0402_1005Metric.json +22 -0
  105. ecadlib/package_specs/R_0603_1608Metric.json +22 -0
  106. ecadlib/package_specs/R_0805_2012Metric.json +22 -0
  107. ecadlib/package_specs/R_1206_3216Metric.json +22 -0
  108. ecadlib/package_specs/SOIC-16_3.9x9.9mm_P1.27mm.json +32 -0
  109. ecadlib/package_specs/SOIC-8_3.9x4.9mm_P1.27mm.json +32 -0
  110. ecadlib/package_specs/SOT-223-3_TabPin2.json +56 -0
  111. ecadlib/package_specs/SOT-23-5.json +57 -0
  112. ecadlib/package_specs/SOT-23-6.json +62 -0
  113. ecadlib/package_specs/SOT-23.json +48 -0
  114. ecadlib/package_specs/TSSOP-16_4.4x5mm_P0.65mm.json +31 -0
  115. ecadlib/package_specs/VQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mm.json +39 -0
  116. ecadlib/package_specs/advanced/BGA-100_11.0x11.0mm_Layout10x10_P1.0mm_Ball0.5mm_Pad0.4mm_NSMD.json +26 -0
  117. ecadlib/package_specs/advanced/BGA-121_9.0x9.0mm_Layout11x11_P0.8mm_Ball0.4mm_Pad0.35mm_NSMD.json +26 -0
  118. ecadlib/package_specs/advanced/BGA-144_7.0x7.0mm_Layout13x13_P0.5mm_Ball0.3mm_Pad0.25mm_NSMD.json +29 -0
  119. ecadlib/package_specs/advanced/BGA-169_11.0x11.0mm_Layout13x13_P0.8mm_Ball0.5mm_Pad0.4mm_NSMD.json +23 -0
  120. ecadlib/package_specs/advanced/BGA-256_11.0x11.0mm_Layout20x20_P0.5mm_Ball0.3mm_Pad0.25mm_NSMD.json +26 -0
  121. ecadlib/package_specs/advanced/BGA-256_17.0x17.0mm_Layout16x16_P1.0mm_Ball0.5mm_Pad0.4mm_NSMD.json +26 -0
  122. ecadlib/package_specs/advanced/BGA-324_15.0x15.0mm_Layout18x18_P0.8mm_Ball0.5mm_Pad0.4mm_NSMD.json +26 -0
  123. ecadlib/package_specs/advanced/BGA-36_3.396x3.466mm_Layout6x6_P0.4mm_Ball0.25mm_Pad0.2mm_NSMD.json +24 -0
  124. ecadlib/package_specs/advanced/BGA-672_27.0x27.0mm_Layout26x26_P1.0mm_Ball0.6mm_Pad0.5mm_NSMD.json +32 -0
  125. ecadlib/package_specs/advanced/BGA-68_5.0x5.0mm_Layout9x9_P0.5mm_Ball0.3mm_Pad0.25mm_NSMD.json +30 -0
  126. ecadlib/package_specs/advanced/BGA-90_8.0x13.0mm_Layout2x3x15_P0.8mm.json +26 -0
  127. ecadlib/package_specs/advanced/DFN-8-1EP_3x3mm_P0.5mm_EP1.65x2.38mm_ThermalVias.json +60 -0
  128. ecadlib/package_specs/advanced/Example_Custom_LPad_Slot.json +24 -0
  129. ecadlib/package_specs/advanced/JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal.json +49 -0
  130. ecadlib/package_specs/advanced/JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical.json +33 -0
  131. ecadlib/package_specs/advanced/JST_PH_S4B-PH-SM4-TB_1x04-1MP_P2.00mm_Horizontal.json +55 -0
  132. ecadlib/package_specs/advanced/JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal.json +49 -0
  133. ecadlib/package_specs/advanced/JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical.json +34 -0
  134. ecadlib/package_specs/advanced/JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical.json +34 -0
  135. ecadlib/package_specs/advanced/JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical.json +33 -0
  136. ecadlib/package_specs/advanced/LFBGA-144_10x10mm_Layout12x12_P0.8mm.json +23 -0
  137. ecadlib/package_specs/advanced/Molex_KK-254_AE-6410-04A_1x04_P2.54mm_Vertical.json +34 -0
  138. ecadlib/package_specs/advanced/Molex_PicoBlade_53398-0471_1x04-1MP_P1.25mm_Vertical.json +54 -0
  139. ecadlib/package_specs/advanced/PinHeader_1x05_P1.00mm_Vertical_SMD_Pin1Left.json +14 -0
  140. ecadlib/package_specs/advanced/PinHeader_1x05_P1.27mm_Vertical_SMD_Pin1Left.json +14 -0
  141. ecadlib/package_specs/advanced/PinHeader_1x05_P2.00mm_Vertical.json +12 -0
  142. ecadlib/package_specs/advanced/PinHeader_1x05_P2.00mm_Vertical_SMD_Pin1Left.json +14 -0
  143. ecadlib/package_specs/advanced/PinHeader_1x05_P2.54mm_Vertical.json +12 -0
  144. ecadlib/package_specs/advanced/PinHeader_1x05_P2.54mm_Vertical_SMD_Pin1Left.json +25 -0
  145. ecadlib/package_specs/advanced/PinHeader_1x05_P2.54mm_Vertical_SMD_Pin1Right.json +14 -0
  146. ecadlib/package_specs/advanced/PinHeader_1x10_P1.00mm_Vertical.json +15 -0
  147. ecadlib/package_specs/advanced/PinHeader_2x05_P1.00mm_Vertical_SMD.json +13 -0
  148. ecadlib/package_specs/advanced/PinHeader_2x05_P1.27mm_Vertical.json +18 -0
  149. ecadlib/package_specs/advanced/PinHeader_2x05_P1.27mm_Vertical_SMD.json +24 -0
  150. ecadlib/package_specs/advanced/PinHeader_2x05_P2.00mm_Vertical_SMD.json +13 -0
  151. ecadlib/package_specs/advanced/PinHeader_2x05_P2.54mm_Vertical.json +12 -0
  152. ecadlib/package_specs/advanced/PinHeader_2x05_P2.54mm_Vertical_SMD.json +24 -0
  153. ecadlib/package_specs/advanced/PinHeader_2x20_P2.54mm_Vertical.json +12 -0
  154. ecadlib/package_specs/advanced/QFN-16-1EP_3x3mm_P0.5mm_EP1.75x1.75mm_ThermalVias.json +87 -0
  155. ecadlib/package_specs/advanced/UFBGA-132_7x7mm_Layout12x12_P0.5mm.json +43 -0
  156. ecadlib/package_specs/advanced/USB_C_Receptacle_HRO_TYPE-C-31-M-12.json +218 -0
  157. ecadlib/package_specs/standard.json.gz +0 -0
  158. ecadlib/parity.py +1204 -0
  159. ecadlib/parts_export.py +154 -0
  160. ecadlib/partview.py +215 -0
  161. ecadlib/plugins.py +231 -0
  162. ecadlib/providers.py +226 -0
  163. ecadlib/rebuild.py +471 -0
  164. ecadlib/release_check.py +437 -0
  165. ecadlib/reports.py +274 -0
  166. ecadlib/resolve.py +556 -0
  167. ecadlib/review_cli.py +292 -0
  168. ecadlib/rules.py +979 -0
  169. ecadlib/rules_infer.py +1205 -0
  170. ecadlib/sexpr.py +149 -0
  171. ecadlib/sheetsafe.py +65 -0
  172. ecadlib/sim_models.py +1087 -0
  173. ecadlib/sourcing.py +1161 -0
  174. ecadlib/stdparts.py +755 -0
  175. ecadlib/step_gen.py +929 -0
  176. ecadlib/symbol_layout.py +798 -0
  177. ecadlib/team.py +558 -0
  178. ecadlib/team_setup.py +288 -0
  179. ecadlib/term.py +420 -0
  180. ecadlib/term_views.py +64 -0
  181. ecadlib/testpack.py +334 -0
  182. ecadlib/ui/__init__.py +1 -0
  183. ecadlib/ui/__main__.py +3 -0
  184. ecadlib/ui/server.py +1029 -0
  185. ecadlib/ui/static/hairline.js +2 -0
  186. ecadlib/ui/static/index.html +2098 -0
  187. ecadlib/ui/static/setup.html +294 -0
  188. ecadlib/upkeep.py +717 -0
  189. ecadlib/upstream.py +573 -0
  190. ecadlib/userconfig.py +257 -0
  191. ecadlib/visual_check.py +1603 -0
  192. ecadlib/ws_status.py +203 -0
  193. ecadlib-0.3.0.dist-info/METADATA +2245 -0
  194. ecadlib-0.3.0.dist-info/RECORD +199 -0
  195. ecadlib-0.3.0.dist-info/WHEEL +5 -0
  196. ecadlib-0.3.0.dist-info/entry_points.txt +2 -0
  197. ecadlib-0.3.0.dist-info/licenses/LICENSE +21 -0
  198. ecadlib-0.3.0.dist-info/licenses/NOTICE +53 -0
  199. ecadlib-0.3.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,199 @@
1
+ ecadlib/__init__.py,sha256=kuEof5x4ZShUL3eBtJ3vSDvwIscxtyURAE9B7m9AWrI,109
2
+ ecadlib/__main__.py,sha256=E6Gls0DNz8GQK2K-kOUIx8cYhgANW_CH54VKrfCfs14,52
3
+ ecadlib/a365_sync.py,sha256=N9wSPvVjR4X2NgsyMPm2mN3NnSzk9tV0yb52u6N36bI,34565
4
+ ecadlib/agent.py,sha256=Y2K3s4TA6k7zEETCy9jM-cRPQ7GP9gQXGdhc7SqL__U,78059
5
+ ecadlib/agent_queue.py,sha256=8Vpfk7Gw7yI52-e-__IVh0UuNllWO1o13zn30ZbtRlI,38761
6
+ ecadlib/agent_watch.py,sha256=cDPr3_MjU79B9GfHrh3cc0QgO9g8mQuqJ69fL0RXjaA,36150
7
+ ecadlib/altium365.py,sha256=n710830xyk-Cfw4yjtOO_oj64KreRjswVf4isvNI6A4,22048
8
+ ecadlib/altium_dblib_sync.py,sha256=UXguacgZmyM3DgzrOvnqbnWsGZ7fTZDoCB6P76_Av64,26699
9
+ ecadlib/altium_export.py,sha256=ttTo3-mVylwc2O19Tule_hiZ7kyFPdSsmMdGiAfv0pM,12384
10
+ ecadlib/altium_forms.py,sha256=GjoewwzGeza8nkDd3HuTBI1g9HSToCoI4jWaQyEyg4w,27309
11
+ ecadlib/altium_lib.py,sha256=07TLEGgx2Aoa35BgXKYdxPHpvjE2aL3WKMTxB025V2w,64248
12
+ ecadlib/altium_menu.py,sha256=O0TsH4wpUkbvwofp-ZdkkERqRGlLyJKhwyXuaANGnWc,90340
13
+ ecadlib/altium_pkg.py,sha256=D_9MUWmI2xEh08T8WIlUFCXwo0uwsWPD1aoYoryXShE,19977
14
+ ecadlib/altium_project.py,sha256=44ORS4ocU6mwf_1JLGdAZu3TPM9zCwZz1rGYYYB05X8,58949
15
+ ecadlib/app.py,sha256=bfH-0BjwDxjCwUgumd6x_LlTxKufr2oOm0QvWtb1EQw,90779
16
+ ecadlib/approvals.py,sha256=7xrP6tH1fh9QxiMlEWonFNav4aaOCqQgXdcHfpTh1Rs,20139
17
+ ecadlib/bom_inputs.py,sha256=LRSuI50suquf-KMQSOn928hbXKVPwJv5SMnZVKGoM2Y,17093
18
+ ecadlib/bom_triage.py,sha256=J5HTtxRM-XImKQ6cOf9GPpm_VAqoBuKZZMTnjwyN-QM,28328
19
+ ecadlib/cad_model.py,sha256=kARBW7cCNtNx5VMJ_gQQkObt836DdE--A51yzRCqs6o,27051
20
+ ecadlib/cfb.py,sha256=8aYQUWlqrQ77W3scZPj5PzTiYnacZ4NOw2VNQ0MvKow,7136
21
+ ecadlib/cli.py,sha256=tXbLUny8zFFzCukOTKBXZcQeadQDdLfm0JEwMLr4x8M,16622
22
+ ecadlib/clihelp.py,sha256=jX0Koqb_TUi7KekMCYMRWz8YbMpDpFEP6yjNS6a6WYA,11169
23
+ ecadlib/cliutil.py,sha256=_IztbqLj-rmxsXz6fWoWPhRNScu910IeUSnie_2XbeE,6075
24
+ ecadlib/completion.py,sha256=FN1Fgp4Yn3-Pw5o2ZdGu2BGqgQxKY3nbDbqyTF2SFTY,7992
25
+ ecadlib/costs.py,sha256=RfL5rSSGEjaJzUjMvjYCAnQHlKBE38df23syqvHDqDw,14600
26
+ ecadlib/crosscheck.py,sha256=r9mzhMJMVQbBH_RgN6a1mY8do80KzL9oWsCf41Aaacs,22204
27
+ ecadlib/datasheet.py,sha256=vdErDSLf9OcDNkQRN6Oa0IxOyOT7JRMFkMwORB2_7lg,124866
28
+ ecadlib/dedupe.py,sha256=lXTDRaSNbZpIH2FMbWDrRGxKw4HBTpr8CHPGDBoZ1mA,32294
29
+ ecadlib/detect.py,sha256=sz1XEFtpOthnZaIHn1i7HrVKWhi37HjnuZkkXowy8dM,7953
30
+ ecadlib/doctor.py,sha256=zCMToOht3318gJ9rmTTkEdkpKpYFogZEbHGfD7IyZhc,22852
31
+ ecadlib/ds_route.py,sha256=tV7VAZQNWXmkfTAtXvtV3wxd7wocAgzRr-6TOTFwrnQ,28873
32
+ ecadlib/eagle_export.py,sha256=YSNshvCm9y8GD_A7z76IZF_B8jzSJ7ASvcL52m0dPX0,78602
33
+ ecadlib/easy_setup.py,sha256=5AtNme8p_0Kq5Z8dqCopTzwk-Vfcfyidkdr4obpPSHQ,18470
34
+ ecadlib/easyeda_convert.py,sha256=3-JRZ2Oj9fZIdx9TokuY_uxeM7Btwf_3bTrzxfr9UwU,23814
35
+ ecadlib/easyeda_pro_export.py,sha256=-z1fhFaeWuOZI8Nvft9hZM3Orl9WbGiMaREBFnmON10,51199
36
+ ecadlib/firstrun.py,sha256=1LG52hYaqWrWmKap88XWa-_xvJ5bTnqtbPSpgBU7HHw,22161
37
+ ecadlib/footprint_adv.py,sha256=7Qn24JaYFJMQHGcdUDKr6kVf2uUdzSBAr8h9tWUpC1Y,56503
38
+ ecadlib/footprint_bench.py,sha256=f5iKxijVEBku_8MqqCT6oF-s5q6D0t8nZO5lRuCND8g,14618
39
+ ecadlib/footprint_check.py,sha256=FC7vHRyDd3F1HHQIY7m5c__mNnWtp0N-Nw7ofobVXcA,30488
40
+ ecadlib/footprint_gen.py,sha256=LFRdMnqTkak8wJ1Yhuks6SrtcGhsDiLONjJGzK9sSJ4,33163
41
+ ecadlib/footprint_rules.py,sha256=bKhtKLHFV0eG3pggxREmE3Q0iwbEm7dJ5XbXkHE-pe4,62059
42
+ ecadlib/forge.py,sha256=EHc96PTuTFIYLGj8AHuNXnE0EdgPovxJWxU75vw8qhg,13078
43
+ ecadlib/fp_share.py,sha256=n9kM1bjnzEGdLBJkoySo5t98zGXTZPkc57CwBVloMoo,5020
44
+ ecadlib/fp_tidy.py,sha256=K6cNd18uUqp1IVeKLEwICTfIaWsNlpyN1Oipgi9GNJw,21001
45
+ ecadlib/fsutil.py,sha256=97FKWzuQGCHmPkpM-NjkNnoSOxaZfYlG59Edy90ZWGA,2247
46
+ ecadlib/house_style.py,sha256=nSLGcKWNPOcLnUv4k2Q_i2-euZwmr8_WQQK9H0bDo1I,55437
47
+ ecadlib/httpcache.py,sha256=As8AJiDSETLl6BTku8bdhyWLhdZH38stDXeWkwyZKsE,6452
48
+ ecadlib/hub.py,sha256=xko6o7KEmehOZpXbU3PrUpUPmpeKjXc_ENLYz5e-X6c,81938
49
+ ecadlib/hub_copy.py,sha256=f97AN-e42QA3wEmrbSNir1edqOkfDcd_Ss8O6XN99Tg,8416
50
+ ecadlib/hub_tools.py,sha256=qvWcFvk7Tw6gto0QApvnUYDCWXppil4op3q2RU9Vofg,4105
51
+ ecadlib/kicad_dblib.py,sha256=P6OBK4XM5S4xE1_yy_CRUfEtkQaGXAzcghm4GXqzhHI,14030
52
+ ecadlib/kicad_export.py,sha256=qWPwWEquasd4qYcKvuRv3xLp9bMh48C_9mFC1RNDgg0,52119
53
+ ecadlib/kicad_import.py,sha256=RYAdRU4BEP4yypTg7k04v8sC-SY1u0_5CRL-o-yiZvY,51924
54
+ ecadlib/kicad_index.py,sha256=qoUAPPII_DyeATBBxaVPShIZZCI8s9275IH15mhqHFc,7314
55
+ ecadlib/kicad_menu.py,sha256=uWqntWh8wbOQiqOAABmkGzG8KzI02RmQ31i2-ht6k68,9783
56
+ ecadlib/kicad_pcm.py,sha256=DEZvBEIiWO1i_ZxSUKP34K12wv9XK840A_U5wL56RKc,29365
57
+ ecadlib/launcher.py,sha256=4QfVWu52uD559hr04UetH0bKRJU839nBRW88smx3HWk,6833
58
+ ecadlib/librarian.py,sha256=HS6S-LH1CQ9Mrx0q47fqUEYl34RGxMvAuSRdLxR-cgU,60898
59
+ ecadlib/lifecycle.py,sha256=u_rQMq5LUmVA6bJkQT48sFtZH9r4iYAhWUucjayblvA,35191
60
+ ecadlib/mcp_server.py,sha256=qv6oy54q8DOoib142K98EQFTyt8wueUkq2WUikdiaKM,58829
61
+ ecadlib/messages.py,sha256=JxjWq35QaJ03PXQZhKSFkzmCMk8WNOMbk0jJABu82BY,28122
62
+ ecadlib/migrate.py,sha256=eJiTbWYfk9VcG53B65arrhO5HJkhwMlUIk7EJ7kbkEc,19440
63
+ ecadlib/notify.py,sha256=H0cfNgN3W5T0U8aJJYkrNxIVpV0ONzywiNGyTjjpw5s,17792
64
+ ecadlib/package_schema.json,sha256=2xhAYU1aZeRbzoTaXCjCvCfWS44xLsSZRPpRYAp6Axc,39543
65
+ ecadlib/parity.py,sha256=FqZLNfFKeDjl6uUwXqLltuUXCwskj5q9dcTaLl-ktR0,65970
66
+ ecadlib/parts_export.py,sha256=Xk8PUI0z1TztnASagngoM2ksiF8at70yaql2PRfI5wU,8397
67
+ ecadlib/partview.py,sha256=wZGILhiL2Kp2ht-6dITXRedcrxHnyVe8ES4vOPiN8Pg,11552
68
+ ecadlib/plugins.py,sha256=agdtfxLDxcm1x81eOQVtaLJ1FZTaYuDmy1axd2OWM-4,11344
69
+ ecadlib/providers.py,sha256=WWiSBhdiG4z60fkRG1RTJPNVMsBRuIIwrbSzJEhTmAU,10757
70
+ ecadlib/rebuild.py,sha256=peczK6h5QCQB8DIkCaQRseoK8zz8FDqijAIjW-QHz4Y,22924
71
+ ecadlib/release_check.py,sha256=Dn3WDVcDm-5aWKm9ui1yjZpaDUBQTlH912ScC3o0zCE,26546
72
+ ecadlib/reports.py,sha256=XhzGhfIOuQLqBXr4xA_WGxqYO9s8DZklklNiJBPbTzo,16402
73
+ ecadlib/resolve.py,sha256=6_yDenpILatjBAplU1Qhj-V7DBWJ4emxGvrEjkh6PYs,29858
74
+ ecadlib/review_cli.py,sha256=6kPwPZUjJaYSqOGC_ZDLcsqAG79D5j4uchBpfT0-iH0,13965
75
+ ecadlib/rules.py,sha256=9jAPSwxsObjDPL0YdKZcws1-OcT_mkAsALl5AyEwTww,60453
76
+ ecadlib/rules_infer.py,sha256=NTygRDSy06n4YBYG5N1g8e2An0Od6d_YYYylAKuGgJE,59664
77
+ ecadlib/sexpr.py,sha256=m1NHPxBtGYKQWGkrNTSxmi1sw7i3PNxHHqSkR6knNRQ,6826
78
+ ecadlib/sheetsafe.py,sha256=3KpI-L4vzxn2rhjwhrom6uAGXcNtVImWRA1f5MpbL40,2575
79
+ ecadlib/sim_models.py,sha256=flGcE1cHU1GKkHbN6mJuLuOe76L-76RQI5E3HpRigko,59356
80
+ ecadlib/sourcing.py,sha256=lbDeK3p_cLWERJybVGi6TmuIuT8YgpbAwf-V7vCGQHs,62513
81
+ ecadlib/stdparts.py,sha256=Yq_nbRQ1IaxMWI8AHqKaGgdD1ZUQ-xc8nx-F6nOg0gM,47472
82
+ ecadlib/step_gen.py,sha256=lMaEcQhvJcivHKxMrMCARh8nMUVkLEFUiMJlytUFhJE,50825
83
+ ecadlib/symbol_layout.py,sha256=UXOCY6AP6qqw7RfXdqGzGylEJ0aZ8mkJqhsyZIUC1No,43813
84
+ ecadlib/team.py,sha256=R3HISeayA-zndTgWqxgOKZ5KhayeRdAPadQU443CdDE,24653
85
+ ecadlib/team_setup.py,sha256=i2t7othGibErMecFgzps4A4mliV5I4cQZ_aKnWMvoCA,14894
86
+ ecadlib/term.py,sha256=67YZhbP18WGfFt0WMH2z_OWaHOXUZ1fAhNgiSw_n7Ao,17346
87
+ ecadlib/term_views.py,sha256=3zEQbz88Zd7hhZSrMAJO9kcLLSfnJ9U_vPyZCZGr9sA,3611
88
+ ecadlib/testpack.py,sha256=c-nCCZ6QytQyqovRwImPyRLNBOH2yC-S7ORuFdWUly4,23260
89
+ ecadlib/upkeep.py,sha256=T9cUGh0feJatjaN4yxyEvhcy71QYEO6OsmbNBfpANuM,41045
90
+ ecadlib/upstream.py,sha256=o84qdWLIUELpGSaFcDSImEAYEeyBy8CMElFrYPINV0o,29097
91
+ ecadlib/userconfig.py,sha256=r3J3Vzig751LNAnOCLB4hHLNxrMIEtRSINdWVOH_b0E,10484
92
+ ecadlib/visual_check.py,sha256=VO5Nm6KJVvoQfd_S-FehSWXvzCtnFwqfT70GpFqKkPw,88100
93
+ ecadlib/ws_status.py,sha256=srS6BFx2aKTQdBMPrVFPn62WBh3WQcL-nNqcVH_MoC8,10472
94
+ ecadlib/assets/demo_bom.csv,sha256=FlAmQLO4XK-dlLPsF2Evw3FURJYe08_B25i8cN8y61M,750
95
+ ecadlib/assets/kicad_action_plugin.py,sha256=RiGvP-Iynse_sUH9hVO-YOK25-SV4Q50mJB_Qnp_d1Y,27370
96
+ ecadlib/assets/kicad_reread.py,sha256=k61yk_OYS-hoGBPZ6FfOV-pBxCYcyd6be_7ZDaHBDQ0,2513
97
+ ecadlib/assets/pcblib_template.json.gz,sha256=Rvp53kt6Hd8eB1ssvS_g4-6bKmnjry8mtlyhIWccRlc,13850
98
+ ecadlib/eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ ecadlib/eval/build_set.py,sha256=dsOcbUHy1w5OcuOmat54i2yDoDDjGvbdnL0euGz9hBo,18934
100
+ ecadlib/eval/cli.py,sha256=bFojpxajAqUqqlbLZb0h01IvxEbGfNelSrT0aGb55LA,7248
101
+ ecadlib/eval/gate.py,sha256=tQftYia4YkVzjUaKhpMRsRlLN0UZYKQUZLnkPA_NIpA,18750
102
+ ecadlib/eval/golden.py,sha256=wQjfzUQRMLT3w4LMVb0uxc7YZWBXwrc2583HIYO83hg,20490
103
+ ecadlib/eval/runner.py,sha256=cOt_-vDn1Rl0LAxq1kZ2R2s39Gkwto0bgDtz1ij_8fk,26152
104
+ ecadlib/eval/score.py,sha256=W-oE-5sHcNOHhp9j3GplFdGdOuoV4cii4jBHDiKfMUg,9131
105
+ ecadlib/eval/baselines/kicad-v1.json,sha256=7NJP1kLWkUxcD28LtSnh5ZQGzfla1AY1P4nMN2OvAvQ,8064
106
+ ecadlib/eval/golden/demo.txt,sha256=CE5dMoczAKYKYmpbMa5DTz2JbnhKNjM-5V4RHz_OoQk,35298
107
+ ecadlib/eval/golden/specs.txt,sha256=CFjjsJtwzV0BibT6NDiNXUehl_NDtysrLtRJ0Bek4oE,308207
108
+ ecadlib/eval/golden/testpack.txt,sha256=vVhui4sIiIdsmGWajz9wvGG1l4VTjDiCK3A4S6KvXw0,46564
109
+ ecadlib/eval/replay/kicad-v1.json.gz,sha256=OlRFNJG-J9h2cSJkISxR6h5cKiSU2TZs0yBx-yymZTY,154118
110
+ ecadlib/eval/sets/kicad-v1.json,sha256=tY2kfWTjIOtVdPHJOrjHg6hL4hFnFyeDjyfJNFm2fK8,480911
111
+ ecadlib/llm/__init__.py,sha256=zrVFPab0VGRMUwkypa2LWfM8tjEVco0qKtVy9iMQzo0,14949
112
+ ecadlib/llm/cli.py,sha256=1V_Yv1ynZtsuFKMMqR8ETs525sDggndtOF1bvoY6WwQ,3631
113
+ ecadlib/llm/openai_compat.py,sha256=Z0wl3dCwibEoizLezA2NYl63BQGPNf7BSBE0WqvNvl8,12507
114
+ ecadlib/llm/profiles.py,sha256=kHvTI20PhlebR6QowA9VWreAR4uXVSSIOY_6zL_bZcE,14057
115
+ ecadlib/llm/rails.py,sha256=kHINYXQRJwpiP3O1tFADXW03zz8qrxji7eg0jO7ZVpk,30738
116
+ ecadlib/llm/run.py,sha256=rNU1V3GdsrYvaNjSZGJ5qKQi4spgIlJj-edNVAiBatQ,6662
117
+ ecadlib/llm/sampling.py,sha256=IJmPntp-PgQsHhcJo5HUQ14GCX9dUKDWipDr6GcjoeQ,2296
118
+ ecadlib/package_specs/CP_EIA-3216-18_Kemet-A.json,sha256=lzoLRzVJIvLNPn9-X5ag59dtRS72K7cTV2ZR-vED5PI,553
119
+ ecadlib/package_specs/C_0402_1005Metric.json,sha256=rqBu0VGQvT9v9lqLAuMvhhoW_PggdesVTMYM97Al-5M,426
120
+ ecadlib/package_specs/C_0805_2012Metric.json,sha256=26TqIgfCX4VVtZU4HCbTBzO-JK6KoRU3qwlKI-O9e-k,487
121
+ ecadlib/package_specs/DFN-8-1EP_3x3mm_P0.5mm_EP1.66x2.38mm.json,sha256=qNSQ04BmHDBXaKDYDDvlqcqULIy79170vRGtmvweWqU,769
122
+ ecadlib/package_specs/D_SMA.json,sha256=dcHQcGUcJRVwT29ED50CjDCxHFhojaTIzs37X2E60TI,486
123
+ ecadlib/package_specs/D_SMB.json,sha256=oU_U2oGCwLQMDrcfCTYAz-76OGUGxhHPdhtOelp2iLc,521
124
+ ecadlib/package_specs/D_SOD-123.json,sha256=C05kOucud5LEkA6HyzSKjflrYsotCS4t7M6-0snKb7U,739
125
+ ecadlib/package_specs/D_SOD-323.json,sha256=9IU7yimR4L-aCjuOusa6QWV2v95AXilEgg3EkBHPTV0,733
126
+ ecadlib/package_specs/LED_0603_1608Metric.json,sha256=plahprwdf-X-wnFjyV6eH8jQTA5NLGYNATIJZXCJgU0,532
127
+ ecadlib/package_specs/LED_0805_2012Metric.json,sha256=1opA-IL02AfX44JCVJ_kmMAUYLOVAMIX0SBwfITwxwg,536
128
+ ecadlib/package_specs/LQFP-48_7x7mm_P0.5mm.json,sha256=BcOxu0NdSA_RU9v90vYTqkkjAZmvTttWU8bJ3ITjTwY,669
129
+ ecadlib/package_specs/L_0805_2012Metric.json,sha256=7a4Fkt9roEkgVkw3sSdeINQ7KwbMDj8BHh5GYMuVlG8,447
130
+ ecadlib/package_specs/MSOP-8_3x3mm_P0.65mm.json,sha256=2iKKZnSjkbjuTFVE8P8KDQ4RIqxDLx3tsnckqrFdohI,592
131
+ ecadlib/package_specs/QFN-16-1EP_3x3mm_P0.5mm_EP1.75x1.75mm.json,sha256=wmExpqSg5n2JPyJ1RiBqOk8Wmo-G7UmJqz9VfnoIARw,812
132
+ ecadlib/package_specs/QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm.json,sha256=tMCN9AykZtZida9oVMju-OWCrnB5bzIwIUkc7VB1ca4,739
133
+ ecadlib/package_specs/R_0402_1005Metric.json,sha256=LZud4SWz5VHdFyIKZe6IjJVNY5mgSy3iY3UBsMYKlrs,500
134
+ ecadlib/package_specs/R_0603_1608Metric.json,sha256=1aMAZ_-m51p0e5MDlFxirHqCjIlczlvMeOfD0kGPvhY,501
135
+ ecadlib/package_specs/R_0805_2012Metric.json,sha256=p7QfizWapVJiY0K1_SvW-FnZl_Oj4CS_uOLeDFzvR_Y,503
136
+ ecadlib/package_specs/R_1206_3216Metric.json,sha256=T-OpSKuNWpwFmfkMmju-oHqi8cuAhfoSrXai5sksajw,423
137
+ ecadlib/package_specs/SOIC-16_3.9x9.9mm_P1.27mm.json,sha256=48Cj7L0tWZKrcYSvX7gZwKvxfXXpZyAdPxnz0etSSp4,566
138
+ ecadlib/package_specs/SOIC-8_3.9x4.9mm_P1.27mm.json,sha256=JopIb_rEz1_bW0EZoxcaroiejxmMaXfcfa92AlUFgA4,662
139
+ ecadlib/package_specs/SOT-223-3_TabPin2.json,sha256=gm53m_mfBo2NsAm-jyH_aiWFXfaBVEXoZ-okLbWmG3o,957
140
+ ecadlib/package_specs/SOT-23-5.json,sha256=HbYHCex620I0HIDfnMshkzqVHj2iYg_cAj5JZ9fpHbE,986
141
+ ecadlib/package_specs/SOT-23-6.json,sha256=EJS2wNGXusMDmcYcDYvO-nByBb0dH73g-odbjKaDqnc,1057
142
+ ecadlib/package_specs/SOT-23.json,sha256=rCjbUHu0IuWfCu2BB1xgYMUaawet934hAZFmHZcfXhQ,859
143
+ ecadlib/package_specs/TSSOP-16_4.4x5mm_P0.65mm.json,sha256=GKeRdxNt1itlB5uPW_gZcoqOdY8btASn89UlRuS4jqc,679
144
+ ecadlib/package_specs/VQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mm.json,sha256=j24Q5n4AFLLwfdO_VqsX8ZOfEWrvQ1k1xZCcr2dV-6o,712
145
+ ecadlib/package_specs/standard.json.gz,sha256=zGAOuJIo2t8p-9YdI3dFHTi3-hD1hsif0tdXp8nNJT4,38970
146
+ ecadlib/package_specs/advanced/BGA-100_11.0x11.0mm_Layout10x10_P1.0mm_Ball0.5mm_Pad0.4mm_NSMD.json,sha256=8Oh_DwTE8N4UJcxMv-rE0YOdih6uGALwLjSevYfODn4,715
147
+ ecadlib/package_specs/advanced/BGA-121_9.0x9.0mm_Layout11x11_P0.8mm_Ball0.4mm_Pad0.35mm_NSMD.json,sha256=7j4PMIoGcxjyVjlPYPJEtPR9RaGVNFIgXCiyemJNA_Q,651
148
+ ecadlib/package_specs/advanced/BGA-144_7.0x7.0mm_Layout13x13_P0.5mm_Ball0.3mm_Pad0.25mm_NSMD.json,sha256=CeplbBjxSK_chfwYUc5i3gWuZseysyZL6ztzRYytPEA,774
149
+ ecadlib/package_specs/advanced/BGA-169_11.0x11.0mm_Layout13x13_P0.8mm_Ball0.5mm_Pad0.4mm_NSMD.json,sha256=6RA0SlR-ztkQ4NX_6rBvCMyeYgA74VAOJAUHpTrypzg,573
150
+ ecadlib/package_specs/advanced/BGA-256_11.0x11.0mm_Layout20x20_P0.5mm_Ball0.3mm_Pad0.25mm_NSMD.json,sha256=PUbxibk4TtypoAAW5cGrZjo7rIQvPIp3bcJNUQp2skk,644
151
+ ecadlib/package_specs/advanced/BGA-256_17.0x17.0mm_Layout16x16_P1.0mm_Ball0.5mm_Pad0.4mm_NSMD.json,sha256=yL73T5z-sot-cwlyIH70s5cdfjmNFA15S39wkWIcH8Y,696
152
+ ecadlib/package_specs/advanced/BGA-324_15.0x15.0mm_Layout18x18_P0.8mm_Ball0.5mm_Pad0.4mm_NSMD.json,sha256=IyCBaQUqqU0WI60GmTydh8nyW_tlUeqAiDcDmWM-_c0,717
153
+ ecadlib/package_specs/advanced/BGA-36_3.396x3.466mm_Layout6x6_P0.4mm_Ball0.25mm_Pad0.2mm_NSMD.json,sha256=M4YDvbiK0b15RX306knSQk9FhYfcsup1nBOsMabCnEo,642
154
+ ecadlib/package_specs/advanced/BGA-672_27.0x27.0mm_Layout26x26_P1.0mm_Ball0.6mm_Pad0.5mm_NSMD.json,sha256=JApcJymRhGZ7DBRdZ62CQXXwkdpa3LK-w1-pHzbHi9E,733
155
+ ecadlib/package_specs/advanced/BGA-68_5.0x5.0mm_Layout9x9_P0.5mm_Ball0.3mm_Pad0.25mm_NSMD.json,sha256=WJnhy8l4EmUol2BJusDP2QOkZ9QOS3C2Rbudy-lCjYo,659
156
+ ecadlib/package_specs/advanced/BGA-90_8.0x13.0mm_Layout2x3x15_P0.8mm.json,sha256=wMs_AZyKE6UGpGz1H1-xCkYhIMMX05rNWdrV8slw7DU,609
157
+ ecadlib/package_specs/advanced/DFN-8-1EP_3x3mm_P0.5mm_EP1.65x2.38mm_ThermalVias.json,sha256=EIPSCS_3pYySLW3pzGVjP1zNRPt_Z0dS67uwWJ-mr_4,1283
158
+ ecadlib/package_specs/advanced/Example_Custom_LPad_Slot.json,sha256=BZ1HtCoviFT-6B9d1rikOTcbqwKPAekNNCUI4olc_jc,1315
159
+ ecadlib/package_specs/advanced/JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal.json,sha256=Xgl4hWzC0MSEUP28NwRf-VC19m5ZPClXSZ_i68mdU5k,1063
160
+ ecadlib/package_specs/advanced/JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical.json,sha256=7cY6I-mQq-lgvqeShFoIT5F93J3gN6CvGSdoTLYXXBU,774
161
+ ecadlib/package_specs/advanced/JST_PH_S4B-PH-SM4-TB_1x04-1MP_P2.00mm_Horizontal.json,sha256=5QRR91NThK-EkgGgc2nAA7YGu3nFdTCkjddga0LbCWU,1174
162
+ ecadlib/package_specs/advanced/JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal.json,sha256=MkU3Q_8XbtutRBT2SZUeXATbnQuheCBQlVtzu7EzILQ,1105
163
+ ecadlib/package_specs/advanced/JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical.json,sha256=2VWPbwSAoJ_kwy5YnFRWzsuIL-KxDITg1G1xvvxYzXQ,854
164
+ ecadlib/package_specs/advanced/JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical.json,sha256=4jNSkgXTa6LWAVDu77rfWViIKSkxGKIDBdEaUPbH97k,856
165
+ ecadlib/package_specs/advanced/JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical.json,sha256=HtwYI_aCvHtiRItWKs78efqm8TboNtD40VjVjyBDoj0,777
166
+ ecadlib/package_specs/advanced/LFBGA-144_10x10mm_Layout12x12_P0.8mm.json,sha256=GzvaDy24PLqSW_CfZSMx_vvS406QYXD0pH-LS8q87H4,528
167
+ ecadlib/package_specs/advanced/Molex_KK-254_AE-6410-04A_1x04_P2.54mm_Vertical.json,sha256=nVj-yB2jhWYzBgv8PDcQCcqurtx3VxyUSEKN1PavGbo,934
168
+ ecadlib/package_specs/advanced/Molex_PicoBlade_53398-0471_1x04-1MP_P1.25mm_Vertical.json,sha256=55-dc1iIInH_qdaP6OrPuROrkX6PL3Tq90yxFVTO4hs,1194
169
+ ecadlib/package_specs/advanced/PinHeader_1x05_P1.00mm_Vertical_SMD_Pin1Left.json,sha256=5XyYnpa2VAVbqYQWlYPpgRGk2z4LjcMhZvB8VlW6_R4,436
170
+ ecadlib/package_specs/advanced/PinHeader_1x05_P1.27mm_Vertical_SMD_Pin1Left.json,sha256=GL_ovT2NkxZrTppqyaiRul8Auv1WuRXPxiLsX-6H99E,437
171
+ ecadlib/package_specs/advanced/PinHeader_1x05_P2.00mm_Vertical.json,sha256=sWaVCU5a1M1jUEnvTt9O-HF5IVgb08W_epLKHIkT6hc,371
172
+ ecadlib/package_specs/advanced/PinHeader_1x05_P2.00mm_Vertical_SMD_Pin1Left.json,sha256=PFYbiSt4LO5twQi5eT6BrCjonlKcdG18X7FfN2NoYbM,436
173
+ ecadlib/package_specs/advanced/PinHeader_1x05_P2.54mm_Vertical.json,sha256=esTNsxeb8k6DwGsHb0BIxmtSmIMXZplP-QzPLTQPR4Y,373
174
+ ecadlib/package_specs/advanced/PinHeader_1x05_P2.54mm_Vertical_SMD_Pin1Left.json,sha256=nLeaix0c60cV8z4v5r_uDgl2hLWnP1kO_U13C6Ubp9Y,593
175
+ ecadlib/package_specs/advanced/PinHeader_1x05_P2.54mm_Vertical_SMD_Pin1Right.json,sha256=7L38OT7ZmOuXe26r0m1cUjQsQVGGgtA-3gOxnL5c0ek,439
176
+ ecadlib/package_specs/advanced/PinHeader_1x10_P1.00mm_Vertical.json,sha256=UqZFtwznF1fvt8WrXVLuWaCYb_uIfPjVLG4koBSn3vU,425
177
+ ecadlib/package_specs/advanced/PinHeader_2x05_P1.00mm_Vertical_SMD.json,sha256=HCeSUWcC5dGPeHjvaK5C7apSTxAE8gYPCRRRO4AgEHo,405
178
+ ecadlib/package_specs/advanced/PinHeader_2x05_P1.27mm_Vertical.json,sha256=qmoHuOAINmocR4EVKcLdeQCCbJOESAcGm6WbyMPcdHA,453
179
+ ecadlib/package_specs/advanced/PinHeader_2x05_P1.27mm_Vertical_SMD.json,sha256=ghs8mPMLZTqjEWHNZwmz0suwJVisY5eRbFtrELYbc1I,560
180
+ ecadlib/package_specs/advanced/PinHeader_2x05_P2.00mm_Vertical_SMD.json,sha256=ZoGhF4VMY7sY_rsh8rGDhQsFPjst7KEo08zUMwYe0Hs,405
181
+ ecadlib/package_specs/advanced/PinHeader_2x05_P2.54mm_Vertical.json,sha256=aVMqJPMmBImwFi3_JwHmxd0dc71AVod-MPGv5b8eVdk,374
182
+ ecadlib/package_specs/advanced/PinHeader_2x05_P2.54mm_Vertical_SMD.json,sha256=Lh8rwLxn0MdUYvpromDuzN6w-BwA3OHo3xzySspJGhA,561
183
+ ecadlib/package_specs/advanced/PinHeader_2x20_P2.54mm_Vertical.json,sha256=1nLzdPwYbWUWcscb1vEmbFUEwwr-VhmiMQDnEmMUlSQ,344
184
+ ecadlib/package_specs/advanced/QFN-16-1EP_3x3mm_P0.5mm_EP1.75x1.75mm_ThermalVias.json,sha256=eyg9iQPJF0ADS4vP_Yw5IHUvndIDtSflc4MuPrEQhms,1755
185
+ ecadlib/package_specs/advanced/UFBGA-132_7x7mm_Layout12x12_P0.5mm.json,sha256=QIobbQYhVU2waA_n_DLAHZh45FxZEF3EOxoqvYGEpHE,995
186
+ ecadlib/package_specs/advanced/USB_C_Receptacle_HRO_TYPE-C-31-M-12.json,sha256=w_UFA-rk0XgNhDspqCwKL2_a3-btB3kRiRZiz6BagEU,3984
187
+ ecadlib/ui/__init__.py,sha256=vPXpHN4Rp8IJE3SvVLRi725egwvS_3PGYWl4-xebkk0,32
188
+ ecadlib/ui/__main__.py,sha256=3dYKHfmWsrdExFlTFlcR5a_icR9fAkn06Yh14TQkEd8,33
189
+ ecadlib/ui/server.py,sha256=lL_s20_yh1ch4akwhtU00EZXeEHyj6AtD31IvgraRYM,58552
190
+ ecadlib/ui/static/hairline.js,sha256=6SGtMEwawRXnhTuwS09WmxuZKhdWY5Df-Pgi-8W4fhI,24952
191
+ ecadlib/ui/static/index.html,sha256=3D0zxv7RgD7rhkPI7ZdiXactcT3-jCCFqX2RP8dYH1Q,177446
192
+ ecadlib/ui/static/setup.html,sha256=y86juAfaCYqddLulJqA2-fXTbpFjBj8xb0-2s5kTWQ8,17592
193
+ ecadlib-0.3.0.dist-info/licenses/LICENSE,sha256=JZkqMdvv7gsVJz0ifHuVGAEO9LsWIXjfsCkMD0LaGJM,1070
194
+ ecadlib-0.3.0.dist-info/licenses/NOTICE,sha256=wFmMYqkvRX_slpnafzLSuJOS6RI99x-MhE--QlfWqUI,3224
195
+ ecadlib-0.3.0.dist-info/METADATA,sha256=-0j059AIENSCFSAHd_6NOx2994Si5kltMmh2G7CYUV0,252191
196
+ ecadlib-0.3.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
197
+ ecadlib-0.3.0.dist-info/entry_points.txt,sha256=joX3qnedk9KuSBnFmkXjl6XZjHxDAg1OdiMq2frdW4Q,45
198
+ ecadlib-0.3.0.dist-info/top_level.txt,sha256=uhCrGU1vLUEuWTzwsMpq8fre72Uy_qHL_OQbzvCMHR8,8
199
+ ecadlib-0.3.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ ecadlib = ecadlib.cli:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 oliver browne
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,53 @@
1
+ ecad-librarian
2
+ Copyright (c) 2026 oliver browne. Licensed under the MIT License (see LICENSE).
3
+
4
+ This product includes material derived from AltiumSharp
5
+ (https://github.com/issus/AltiumSharp), licensed under the Apache License,
6
+ Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0):
7
+
8
+ * ecadlib/altium_lib.py ports the PcbLib/SchLib binary record layouts
9
+ (primitive common header, track, fill, region and pad records including
10
+ the pad main-block tail template, SchLib pin records, library/section
11
+ stream structure) from AltiumSharp's C# readers and writers. Modified:
12
+ rewritten in Python, reduced to the subset this project writes.
13
+ * ecadlib/assets/pcblib_template.json.gz holds the Library/Data header
14
+ parameters and the FileVersionInfo stream extracted from the AltiumSharp
15
+ TestData file "PCB - LEADLESS - QFN - PSEMI QFN-24 4x4.PcbLib"
16
+ (FILENAME and 2DCONFIGFULLFILENAME blanked).
17
+ * ecadlib/altium_lib.py also ports the through-hole pad hole fields, the arc
18
+ record, the ComponentBody record and parameter order, the Library/Models
19
+ storage and the 3D model checksum (PcbLibWriter.cs, PcbModel.cs).
20
+ * ecadlib/altium_lib.py also ports the PCB text record (252-byte block layout
21
+ and its constant fields, PcbLibWriter.cs WriteText/BuildTextExtended), the
22
+ WideStrings ENCODEDTEXT stream, the SchLib pin symbol and display-mode bytes
23
+ and the OwnerPartDisplayMode parameter order (SchLibWriter.cs).
24
+ * tests/test_kicad_import.py embeds three records from AltiumSharp TestData
25
+ (PAD_TH_SLOT, ARCS_TEST and BODY_3D .PcbLib files) as byte references.
26
+ * tests/test_altium_polish.py embeds three text records (TEXT_DESIGNATOR and
27
+ TEXT_TEST .PcbLib) and three pin records (CLOCK_PIN, INVERTED_PIN and
28
+ ACTIVE_LOW_PIN .SchLib) from AltiumSharp TestData as byte references.
29
+
30
+ tests/fixtures/kicad_golden/*.kicad_mod (24 footprints, kicad-footprints commit
31
+ f8440fa61a5690b48b325c891fdb99c0038a5a59, unmodified) and
32
+ tests/fixtures/kicad/USB_C_Receptacle_HRO_TYPE-C-31-M-12.kicad_mod and
33
+ tests/fixtures/kicad/Regulator_Linear_AMS1117.kicad_sym (symbols AP1117-15 and
34
+ AMS1117-3.3 combined into one library file) are from the KiCad libraries
35
+ (https://gitlab.com/kicad/libraries, kicad-footprints and kicad-symbols),
36
+ Copyright the KiCad Library contributors, licensed CC-BY-SA 4.0 with the KiCad
37
+ libraries' design-use exception (https://www.kicad.org/libraries/license/).
38
+ Footprints, symbols and 3D models converted from those libraries by
39
+ ecadlib/kicad_import.py are written to out/altium_models_kicad/, which is not
40
+ committed.
41
+
42
+ tests/nexar/schema.graphql is from NexarDeveloper/nexar-release-component-demo-wpf
43
+ (MIT).
44
+
45
+ No code from altium-designer-mcp (GPL-3.0) is included; it was read only
46
+ for behavioural notes about which files Altium Designer accepts.
47
+
48
+ ecadlib/ui/static/hairline.js bundles line figures from Hairline
49
+ (https://github.com/lucasmarkes/hairline), Copyright (c) 2026 Lucas Marques,
50
+ licensed under the MIT License: the slow, drawer and sieve figures and the
51
+ package's drawing and motion core, unmodified. scripts/hairline/seat.js is
52
+ ecadlib's own figure, written with Hairline's hairline-create skill and built
53
+ on that core (scripts/build_ui_figures.sh).
@@ -0,0 +1 @@
1
+ ecadlib