kicad-returnpath 0.1.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.
@@ -0,0 +1,50 @@
1
+ Metadata-Version: 2.4
2
+ Name: kicad-returnpath
3
+ Version: 0.1.0
4
+ Summary: Geometric current-return-path checker for KiCad PCBs (split-crossing / plane-edge / return-via)
5
+ Author: Ciro Caputo Viglione
6
+ License-Expression: GPL-3.0-or-later
7
+ License-File: LICENSE
8
+ Keywords: drc,eda,kicad,pcb,return-path,signal-integrity
9
+ Requires-Python: >=3.10
10
+ Requires-Dist: kicad-core
11
+ Requires-Dist: shapely>=2.0
12
+ Requires-Dist: tomli>=2.0; python_version < '3.11'
13
+ Provides-Extra: dev
14
+ Requires-Dist: mypy>=1.8; extra == 'dev'
15
+ Requires-Dist: pytest-cov>=4; extra == 'dev'
16
+ Requires-Dist: pytest>=7; extra == 'dev'
17
+ Requires-Dist: ruff>=0.6; extra == 'dev'
18
+ Description-Content-Type: text/markdown
19
+
20
+ # kicad-returnpath
21
+
22
+ A geometric **current-return-path checker** for KiCad PCBs. It parses a
23
+ `.kicad_pcb`, identifies the reference plane under each routed signal trace, and
24
+ reports where the return path is broken — a plane void the trace crosses
25
+ (*split-crossing*), degraded, or unreferenced.
26
+
27
+ CLI-first and headless (CI-friendly); a thin in-KiCad IPC layer is planned on top.
28
+ Full design: [`docs/return-path-checker-v1-spec.md`](../../docs/return-path-checker-v1-spec.md).
29
+
30
+ ```
31
+ return-path check BOARD.kicad_pcb
32
+ ```
33
+
34
+ Exits `0` (clean), `1` (finding at or above `--fail-on`, default `error`), or `2`
35
+ (bad args / unreadable board).
36
+
37
+ ## Walking skeleton (this build)
38
+
39
+ The first end-to-end slice: parse a real **KiCad-10** board (file version
40
+ `20260206`), detect **split-crossing** findings with the *both-ends-on-plane*
41
+ interior predicate (§4.4), and print a grouped, severity-iconed text report.
42
+
43
+ The parser honours the §3 contract — nets are **name-based** everywhere
44
+ (`(net "GND")`, no net numbers, no zone `net_name` child) and a single zone can
45
+ **span multiple layers** (the reference plane is selected per `filled_polygon`
46
+ layer). A pre-KiCad-10 board (numeric nets / `net_name` child) is **rejected**
47
+ rather than silently passed — the exact failure mode the real-board retest surfaced.
48
+
49
+ Built on the shared [`kicad-core`](../kicad-core) S-expression parser and Shapely.
50
+ Licensed GPL-3.0-or-later.
@@ -0,0 +1,19 @@
1
+ returnpath/__init__.py,sha256=xfoZ19E6S0cemKJqdWcz7ZwE8PPgO0urYE9iCxkaD_4,518
2
+ returnpath/cli.py,sha256=IQonIzA85i_O1MFPxfvG3NHhuZgnTC6eRvARE9Fev3k,10423
3
+ returnpath/config.py,sha256=FVSHC2izHHf6H9vqb-ay-3lqyE7gR20vERPjD7vmVHo,15977
4
+ returnpath/detector.py,sha256=A37qiOh7KvGOR99jC2FnYTrGAOSLIIeap_uVg-mH5xs,21142
5
+ returnpath/engine.py,sha256=od44WkQBtMB-_QdAcROvdI9o14D_MiOd-tUbPyOGp6Y,4238
6
+ returnpath/parser.py,sha256=Qmkthj6DvFWqAfDpZFeOhZo6OvM0PfA8vLyShshjGVs,14589
7
+ returnpath/report.py,sha256=5ww5tWEjuqulxg7jaSI9gQozY9Gxzv_SvW36I72d2tM,15196
8
+ returnpath/stackup.py,sha256=hXEd9o6jJ6cccCnZm-Ep7h4lDwyBEI86TYWdyJ819RI,6220
9
+ returnpath/waivers.py,sha256=HBvQWBTaBle9kGdWyAv6yGzIYd4CHPyg_zLTlDLEa9Q,14568
10
+ returnpath/kicad_plugin/__init__.py,sha256=vBLa__lcRJTx94RjI5LC4pbHufshKfeWCYdSukKoQ90,755
11
+ returnpath/kicad_plugin/panel.py,sha256=NkWZ6wIDqMwC7zbe41-y07fCVCgPJ4InAglLxtoKkJY,5602
12
+ returnpath/kicad_plugin/panel_window.py,sha256=ybaZfc-4X17Lmt5_q81ISBnse3qRhh9M5K3EeNHTrJw,7604
13
+ returnpath/kicad_plugin/plugin.py,sha256=OWchJVkLcp3wT5vw2WE6IGk6uidTVzt_RMWAQ1YeOHk,14176
14
+ returnpath/kicad_plugin/surfaces.py,sha256=vaXNdQEHcbUzIAxOFgCCwHKLnZXA41RVdxF0F5tVmv4,5731
15
+ kicad_returnpath-0.1.0.dist-info/METADATA,sha256=5IWRRZgJeNgKokF3mJlGKJ1Acj38q_pqK-5rXBkzxOU,2078
16
+ kicad_returnpath-0.1.0.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
17
+ kicad_returnpath-0.1.0.dist-info/entry_points.txt,sha256=PUTXlNP5AeNzf3ybx6GVv6YkK7zUC404dxlhnOW_ZaI,52
18
+ kicad_returnpath-0.1.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
19
+ kicad_returnpath-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.31.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ return-path = returnpath.cli:main