Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
2126c3284This file is pinned to the selected release. Download the original to open it in your design tool.
# Third-Party Notices
`akcli` is licensed under the MIT License (see [LICENSE](LICENSE)) and ships **zero bundled
third-party source code**. It has **no runtime dependencies** (Python standard library only).
This file records the **attribution chain** for projects that were used as **independent-design
references** — that is, for high-level *patterns* only. To be precise about provenance:
> **Independent reimplementation; no source copied; attribution retained where structures are
> referenced.** No source files, and no schema bytes, were copied from any project below. Our JSON
> Schema `$id`, titles, `ERROR` enum, and `protocol_version` field are original to this project.
## Provenance of the ported Altium parser logic
The OLE2/CFBF container-reading approach and the Altium record framing / `|KEY=VALUE|` field tokenizer
were **ported from the author's own prior work** and **relicensed by the same author** from a
proprietary header to MIT for this project. The net-naming
defect in that prior code was deliberately **not** reused; the net layer was rebuilt. This is
first-party material and is covered by this repository's MIT LICENSE; it is listed here only for a
complete provenance record.
## Attribution chain — Altium MCP pattern reference
The structured `ERROR: CODE` convention — and the since-deleted Windows live-bridge scaffold
(`drivers/altium_live/`, removed in 0.17) — were informed, as an **independent-design reference for
high-level patterns only**, by the Altium MCP lineage:
- **flaco-source / altium-mcp** (2026) — file-based JSON request/response bridge between an external
process and a running Altium instance; a `protocol_version` field on the bridge protocol; structured
`ERROR: CODE` response strings. Referenced for *concept*, not code.
- **coffeenmusic** and **Siddharth Ahuja** (2025) — earlier Altium scripting / MCP work that the above
builds upon, providing the DelphiScript-drives-Altium pattern.
Patterns referenced (no source copied): a file-based JSON bridge with atomic request/response files; a
protocol-version handshake; structured machine-readable error strings. Everything in this repository
that ever implemented those patterns — the schema namespace, the error-code registry, the op-list
vocabulary, and all code — is original to this project (the bridge scaffold itself is gone).
These upstream projects are distributed under the MIT License. The full MIT License text, reproduced for
each attributed copyright holder, follows.
---
### MIT License — flaco-source / altium-mcp (2026)
```
MIT License
Copyright (c) 2026 flaco-source (altium-mcp)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
### MIT License — coffeenmusic / Siddharth Ahuja (2025)
```
MIT License
Copyright (c) 2025 coffeenmusic
Copyright (c) 2025 Siddharth Ahuja
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
---
## JLC/EasyEDA fetch + convert (subprocess / service; no source vendored)
## Vendored third-party source — JLC2KiCadLib (MIT)
`src/akcli/_vendor/jlc2kicadlib/` contains the conversion core of
**JLC2KiCadLib** by **TousstNicolas**, vendored under its MIT license
(<https://github.com/TousstNicolas/JLC2KiCad_lib>, commit `48d36032…`; the
upstream LICENSE is preserved verbatim in that directory and reproduced below,
and every local modification is listed in its `PROVENANCE.md`). It powers
`akcli jlc add` (LCSC → KiCad symbol/footprint/3D), running in-process.
Deliberately **not** vendored: upstream's two dependencies. `requests` is
replaced by a stdlib shim, and the **GPLv3 `KicadModTree`** footprint writer is
replaced by `_kmt.py` — an original, clean-room implementation of the small API
surface the vendored files use, written against the public KiCad footprint file
format (KicadModTree source was neither copied nor consulted). This keeps the
project MIT-licensed and free of copyleft obligations.
```
The MIT License (MIT)
Copyright © 2021 TousstNicolas
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
## Network services
Beyond the vendored code above, `akcli` bundles no third-party
source. The `jlc` feature queries the following HTTP services over the network.
### jlcsearch (tscircuit) — MIT
Public search service over the JLCPCB/LCSC catalog, queried by `akcli jlc search`/`show`.
<https://github.com/tscircuit/jlcsearch>. (MIT text reproduced below.)
### jlcparts — MIT
Open dataset/tooling behind the catalog data. <https://github.com/yaqwsx/jlcparts>.
(MIT text reproduced below.)
### EasyEDA / LCSC / JLCPCB — data source (not a code dependency)
`akcli jlc show` performs a light, read-only metadata + 3D-availability lookup against
EasyEDA's **unofficial** Std-editor REST backend (`easyeda.com/api/products/...`,
`modules.easyeda.com/...`). These endpoints are undocumented and may change without notice;
they are the same backend the `easyeda2kicad.py` project (uPesy, GPL/community) documents.
We do not vendor easyeda2kicad and do not reuse its conversion code — conversion is
queried directly (part metadata, and CAD documents for `jlc add`). EasyEDA, LCSC, and JLCPCB are trademarks of their respective owners;
this project is not affiliated with or endorsed by them.
---
### MIT License — jlcsearch (tscircuit) and jlcparts
```
MIT License
Copyright (c) tscircuit — jlcsearch (https://github.com/tscircuit/jlcsearch)
Copyright (c) yaqwsx — jlcparts (https://github.com/yaqwsx/jlcparts)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
If you believe any attribution here is incomplete or incorrect, please open a GitHub issue so it can
be corrected.