kicad-python 0.7.0__tar.gz → 0.7.1__tar.gz

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 (139) hide show
  1. {kicad_python-0.7.0 → kicad_python-0.7.1}/PKG-INFO +7 -5
  2. {kicad_python-0.7.0 → kicad_python-0.7.1}/README.md +6 -4
  3. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/kicad.py +3 -1
  4. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/kicad.py +3 -1
  5. {kicad_python-0.7.0 → kicad_python-0.7.1}/pyproject.toml +1 -1
  6. kicad_python-0.7.1/setup.py +48 -0
  7. kicad_python-0.7.0/setup.py +0 -48
  8. {kicad_python-0.7.0 → kicad_python-0.7.1}/LICENSE +0 -0
  9. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/__init__.py +0 -0
  10. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/board.py +0 -0
  11. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/board_jobs.py +0 -0
  12. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/board_rules.py +0 -0
  13. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/board_types.py +0 -0
  14. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/client.py +0 -0
  15. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/common_types.py +0 -0
  16. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/errors.py +0 -0
  17. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/geometry.py +0 -0
  18. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/kicad_api_version.py +0 -0
  19. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/packaging/__init__.py +0 -0
  20. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/packaging/__main__.py +0 -0
  21. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/packaging/cli.py +0 -0
  22. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/packaging/schemas/__init__.py +0 -0
  23. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/packaging/types.py +0 -0
  24. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/packaging/validate.py +0 -0
  25. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/project.py +0 -0
  26. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/project_types.py +0 -0
  27. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/__init__.py +0 -0
  28. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/__init__.py +0 -0
  29. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_commands_pb2.py +0 -0
  30. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_commands_pb2.pyi +0 -0
  31. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_jobs_pb2.py +0 -0
  32. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_jobs_pb2.pyi +0 -0
  33. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_pb2.py +0 -0
  34. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_pb2.pyi +0 -0
  35. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_types_pb2.py +0 -0
  36. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/board/board_types_pb2.pyi +0 -0
  37. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/__init__.py +0 -0
  38. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/commands/__init__.py +0 -0
  39. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/commands/base_commands_pb2.py +0 -0
  40. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/commands/base_commands_pb2.pyi +0 -0
  41. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/commands/editor_commands_pb2.py +0 -0
  42. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/commands/editor_commands_pb2.pyi +0 -0
  43. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/commands/project_commands_pb2.py +0 -0
  44. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/commands/project_commands_pb2.pyi +0 -0
  45. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/envelope_pb2.py +0 -0
  46. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/envelope_pb2.pyi +0 -0
  47. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/__init__.py +0 -0
  48. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/base_types_pb2.py +0 -0
  49. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/base_types_pb2.pyi +0 -0
  50. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/enums_pb2.py +0 -0
  51. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/enums_pb2.pyi +0 -0
  52. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/generators_pb2.py +0 -0
  53. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/generators_pb2.pyi +0 -0
  54. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/jobs_pb2.py +0 -0
  55. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/jobs_pb2.pyi +0 -0
  56. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/project_settings_pb2.py +0 -0
  57. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/project_settings_pb2.pyi +0 -0
  58. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/wizards_pb2.py +0 -0
  59. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/common/types/wizards_pb2.pyi +0 -0
  60. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/schematic/schematic_commands_pb2.py +0 -0
  61. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/schematic/schematic_commands_pb2.pyi +0 -0
  62. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/schematic/schematic_jobs_pb2.py +0 -0
  63. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/schematic/schematic_jobs_pb2.pyi +0 -0
  64. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/schematic/schematic_types_pb2.py +0 -0
  65. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/proto/schematic/schematic_types_pb2.pyi +0 -0
  66. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/schematic.py +0 -0
  67. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/schematic_types.py +0 -0
  68. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/server.py +0 -0
  69. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/util/__init__.py +0 -0
  70. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/util/board_layer.py +0 -0
  71. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/util/proto.py +0 -0
  72. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/util/units.py +0 -0
  73. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/wizards.py +0 -0
  74. {kicad_python-0.7.0 → kicad_python-0.7.1}/build/lib/kipy/wrapper.py +0 -0
  75. {kicad_python-0.7.0 → kicad_python-0.7.1}/build.py +0 -0
  76. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/__init__.py +0 -0
  77. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/board.py +0 -0
  78. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/board_types.py +0 -0
  79. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/client.py +0 -0
  80. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/common_types.py +0 -0
  81. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/errors.py +0 -0
  82. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/geometry.py +0 -0
  83. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/kicad_api_version.py +0 -0
  84. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/__init__.py +0 -0
  85. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/__main__.py +0 -0
  86. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/cli.py +0 -0
  87. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/schemas/__init__.py +0 -0
  88. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/schemas/api.v1.schema.json +0 -0
  89. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/schemas/pcm.v1.schema.json +0 -0
  90. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/schemas/pcm.v2.schema.json +0 -0
  91. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/types.py +0 -0
  92. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/packaging/validate.py +0 -0
  93. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/project.py +0 -0
  94. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/project_types.py +0 -0
  95. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/__init__.py +0 -0
  96. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/__init__.py +0 -0
  97. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_commands_pb2.py +0 -0
  98. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_commands_pb2.pyi +0 -0
  99. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_jobs_pb2.py +0 -0
  100. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_jobs_pb2.pyi +0 -0
  101. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_pb2.py +0 -0
  102. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_pb2.pyi +0 -0
  103. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_types_pb2.py +0 -0
  104. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/board/board_types_pb2.pyi +0 -0
  105. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/__init__.py +0 -0
  106. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/commands/__init__.py +0 -0
  107. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/commands/base_commands_pb2.py +0 -0
  108. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/commands/base_commands_pb2.pyi +0 -0
  109. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/commands/editor_commands_pb2.py +0 -0
  110. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/commands/editor_commands_pb2.pyi +0 -0
  111. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/commands/project_commands_pb2.py +0 -0
  112. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/commands/project_commands_pb2.pyi +0 -0
  113. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/envelope_pb2.py +0 -0
  114. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/envelope_pb2.pyi +0 -0
  115. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/__init__.py +0 -0
  116. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/base_types_pb2.py +0 -0
  117. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/base_types_pb2.pyi +0 -0
  118. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/enums_pb2.py +0 -0
  119. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/enums_pb2.pyi +0 -0
  120. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/generators_pb2.py +0 -0
  121. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/generators_pb2.pyi +0 -0
  122. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/jobs_pb2.py +0 -0
  123. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/jobs_pb2.pyi +0 -0
  124. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/project_settings_pb2.py +0 -0
  125. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/project_settings_pb2.pyi +0 -0
  126. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/wizards_pb2.py +0 -0
  127. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/common/types/wizards_pb2.pyi +0 -0
  128. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/schematic/schematic_commands_pb2.py +0 -0
  129. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/schematic/schematic_commands_pb2.pyi +0 -0
  130. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/schematic/schematic_jobs_pb2.py +0 -0
  131. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/schematic/schematic_jobs_pb2.pyi +0 -0
  132. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/schematic/schematic_types_pb2.py +0 -0
  133. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/proto/schematic/schematic_types_pb2.pyi +0 -0
  134. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/py.typed +0 -0
  135. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/util/__init__.py +0 -0
  136. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/util/board_layer.py +0 -0
  137. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/util/proto.py +0 -0
  138. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/util/units.py +0 -0
  139. {kicad_python-0.7.0 → kicad_python-0.7.1}/kipy/wrapper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kicad-python
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: KiCad API Python Bindings
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -25,9 +25,8 @@ Description-Content-Type: text/markdown
25
25
  `kicad-python` is the official Python bindings for the [KiCad](https://kicad.org) IPC API. This
26
26
  library makes it possible to develop scripts and tools that interact with a running KiCad session.
27
27
 
28
- The KiCad IPC API can be considered in "public beta" state with the release of KiCad 9 (currently
29
- planned for on or around February 1, 2025). The existing SWIG-based Python bindings for KiCad's
30
- PCB editor still exist in KiCad 9, but are in maintenance mode and will not be expanded.
28
+ The KiCad IPC API replaces the legacy SWIG-based Python bindings for KiCad's PCB editor.
29
+ The SWIG bindings still exist in KiCad 9 and 10, but are removed in KiCad 11.
31
30
 
32
31
  For more information about the IPC API, please see the
33
32
  [KiCad developer documentation](https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/index.html).
@@ -99,6 +98,10 @@ plugins, copy or symlink them into the appropriate plugins path in order for KiC
99
98
 
100
99
  ## Release History
101
100
 
101
+ ### 0.7.1 (April 17, 2026)
102
+
103
+ - Fix `KiCad.run_action` (leommxj)
104
+
102
105
  ### 0.7.0 (April 17, 2026)
103
106
 
104
107
  - Add `Board.get_items_by_id` and groups support via `Board.get_groups` (requires KiCad 10) (Anthonypark, !15)
@@ -108,7 +111,6 @@ plugins, copy or symlink them into the appropriate plugins path in order for KiC
108
111
  - Add `Board.get_connected_items`, `Board.get_items_by_net`, and `Board.get_items_by_netclass` (requires KiCad 10.0.1)
109
112
  - Fix several bounding box calculation bugs
110
113
  - Support building with older versions of protoc
111
- - Fix `KiCad.run_action` (leommxj)
112
114
 
113
115
  ### 0.6.0 (March 15, 2026)
114
116
 
@@ -3,9 +3,8 @@
3
3
  `kicad-python` is the official Python bindings for the [KiCad](https://kicad.org) IPC API. This
4
4
  library makes it possible to develop scripts and tools that interact with a running KiCad session.
5
5
 
6
- The KiCad IPC API can be considered in "public beta" state with the release of KiCad 9 (currently
7
- planned for on or around February 1, 2025). The existing SWIG-based Python bindings for KiCad's
8
- PCB editor still exist in KiCad 9, but are in maintenance mode and will not be expanded.
6
+ The KiCad IPC API replaces the legacy SWIG-based Python bindings for KiCad's PCB editor.
7
+ The SWIG bindings still exist in KiCad 9 and 10, but are removed in KiCad 11.
9
8
 
10
9
  For more information about the IPC API, please see the
11
10
  [KiCad developer documentation](https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/index.html).
@@ -77,6 +76,10 @@ plugins, copy or symlink them into the appropriate plugins path in order for KiC
77
76
 
78
77
  ## Release History
79
78
 
79
+ ### 0.7.1 (April 17, 2026)
80
+
81
+ - Fix `KiCad.run_action` (leommxj)
82
+
80
83
  ### 0.7.0 (April 17, 2026)
81
84
 
82
85
  - Add `Board.get_items_by_id` and groups support via `Board.get_groups` (requires KiCad 10) (Anthonypark, !15)
@@ -86,7 +89,6 @@ plugins, copy or symlink them into the appropriate plugins path in order for KiC
86
89
  - Add `Board.get_connected_items`, `Board.get_items_by_net`, and `Board.get_items_by_netclass` (requires KiCad 10.0.1)
87
90
  - Fix several bounding box calculation bugs
88
91
  - Support building with older versions of protoc
89
- - Fix `KiCad.run_action` (leommxj)
90
92
 
91
93
  ### 0.6.0 (March 15, 2026)
92
94
 
@@ -207,7 +207,9 @@ class KiCad:
207
207
  :param action: the name of a KiCad TOOL_ACTION
208
208
  :return: a value from the KIAPI.COMMON.COMMANDS.RUN_ACTION_STATUS enum
209
209
  """
210
- return self._client.send(commands.RunAction(), commands.RunActionResponse)
210
+ command = commands.RunAction()
211
+ command.action = action
212
+ return self._client.send(command, commands.RunActionResponse)
211
213
 
212
214
  def get_open_documents(self, doc_type: DocumentType.ValueType) -> Sequence[DocumentSpecifier]:
213
215
  """Retrieves a list of open documents matching the given type"""
@@ -207,7 +207,9 @@ class KiCad:
207
207
  :param action: the name of a KiCad TOOL_ACTION
208
208
  :return: a value from the KIAPI.COMMON.COMMANDS.RUN_ACTION_STATUS enum
209
209
  """
210
- return self._client.send(commands.RunAction(), commands.RunActionResponse)
210
+ command = commands.RunAction()
211
+ command.action = action
212
+ return self._client.send(command, commands.RunActionResponse)
211
213
 
212
214
  def get_open_documents(self, doc_type: DocumentType.ValueType) -> Sequence[DocumentSpecifier]:
213
215
  """Retrieves a list of open documents matching the given type"""
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kicad-python"
3
- version = "0.7.0"
3
+ version = "0.7.1"
4
4
  description = "KiCad API Python Bindings"
5
5
  authors = [
6
6
  { name = "The KiCad Development Team" },
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ from setuptools import setup
3
+
4
+ packages = \
5
+ ['kipy',
6
+ 'kipy.packaging',
7
+ 'kipy.packaging.schemas',
8
+ 'kipy.proto',
9
+ 'kipy.proto.board',
10
+ 'kipy.proto.common',
11
+ 'kipy.proto.common.commands',
12
+ 'kipy.proto.common.types',
13
+ 'kipy.proto.schematic',
14
+ 'kipy.util']
15
+
16
+ package_data = \
17
+ {'': ['*']}
18
+
19
+ install_requires = \
20
+ ['jsonschema>=4.23.0,<5', 'protobuf>=5.29,<6', 'pynng>=0.9.0,<0.10.0']
21
+
22
+ extras_require = \
23
+ {':python_version < "3.13"': ['typing_extensions>=4.13.2']}
24
+
25
+ entry_points = \
26
+ {'console_scripts': ['kicad-python-packager = kipy.packaging.cli:main']}
27
+
28
+ setup_kwargs = {
29
+ 'name': 'kicad-python',
30
+ 'version': '0.7.1',
31
+ 'description': 'KiCad API Python Bindings',
32
+ 'long_description': "# KiCad API Python Bindings\n\n`kicad-python` is the official Python bindings for the [KiCad](https://kicad.org) IPC API. This\nlibrary makes it possible to develop scripts and tools that interact with a running KiCad session.\n\nThe KiCad IPC API replaces the legacy SWIG-based Python bindings for KiCad's PCB editor.\nThe SWIG bindings still exist in KiCad 9 and 10, but are removed in KiCad 11.\n\nFor more information about the IPC API, please see the\n[KiCad developer documentation](https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/index.html).\nSpecific documentation for developing add-ons is\n[also available](https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/for-addon-developers/index.html).\n\n> Note: Version 0.0.2 and prior of this package are an obsolete earlier effort and are unrelated to\n> this codebase.\n\n## Requirements\n\nUsing the IPC API requires a suitable version of KiCad (9.0 or higher) and requires that KiCad be\nrunning with the API server enabled in Preferences > Plugins. This package also depends on the\n`protobuf` and `pynng` packages for communication with KiCad.\n\n> Note: Unlike the SWIG-based Python bindings, the IPC API requires communication with a running\n> instance of KiCad. It is not possible to use `kicad-python` to manipulate KiCad design files\n> without KiCad running.\n\n## Contributing\n\nPlease file bug reports and feature requests in this Gitlab project. The team may move them to the\nmain KiCad repository depending on the nature of the request.\n\nMerge requests are welcome for minor fixes and improvements. More significant changes should be\ndiscussed with the development team (via email, or in an issue) first.\n\n## Building from Source\n\nMost users should use `kicad-python` by installing the latest version from PyPI. You can also\nbuild and install the library from this repository, to test unreleased changes or contribute to\nthe development. For instructions on how to do so, please see `COMPILING.md`.\n\nNote that this library builds against the API definitions (`.proto` files) in the `kicad` submodule.\nOfficial releases of the library to PyPI should use a tagged release of KiCad, but the development\nbranch of `kicad-python` may sometimes move the submodule pointer to non-tagged commits during the\ncourse of development. If you are using this library from source rather than from PyPI, remember\nto keep the submodule updated and to test against a suitable build of KiCad, which may need to be\na nightly or testing build in some situations. You can use the method `KiCad.check_version` to\nmake sure you are using a compatible version of `kicad-python` for your installed version of KiCad.\n\n## Getting Started\n\nTo check that everything is working, install `kicad-python` (either follow the directions in\nCOMPILING.md or else install the latest version from PyPI using `pip install kicad-python`).\nLaunch KiCad, make sure the API server is enabled in Preferences > Plugins, and then you should be\nable to run:\n\n```sh\n$ python3 ./examples/hello.py\n```\n\nThis should print out the version of KiCad you have connected to.\n\n## Documentation\n\nThe documentation created from this repository (via the `docs` directory and the docstrings in the\nsource code) is hosted at https://docs.kicad.org/kicad-python-main\n\nMany things are still not documented or underdocumented -- contributions that expand the\ndocumentation or add docstrings are welcomed.\n\n## Examples\n\nCheck out the repository for some example scripts that may serve as a starting point. Some of the\nexamples are snippets that can be run directly from a terminal or your Python development\nenvironment, and some are KiCad action plugins that can be loaded into the PCB editor. For the\nplugins, copy or symlink them into the appropriate plugins path in order for KiCad to find them.\n\n## Release History\n\n### 0.7.1 (April 17, 2026)\n\n- Fix `KiCad.run_action` (leommxj)\n\n### 0.7.0 (April 17, 2026)\n\n- Add `Board.get_items_by_id` and groups support via `Board.get_groups` (requires KiCad 10) (Anthonypark, !15)\n- Add support for barcodes and `Board.get_barcodes` (requires KiCad 10.0.1)\n- Add support for reference images and `Board.get_reference_images` (requires KiCad 10.0.1)\n- Add `Board.set_title_block_info` (requires KiCad 10.0.1)\n- Add `Board.get_connected_items`, `Board.get_items_by_net`, and `Board.get_items_by_netclass` (requires KiCad 10.0.1)\n- Fix several bounding box calculation bugs\n- Support building with older versions of protoc\n\n### 0.6.0 (March 15, 2026)\n\n- Fix missing conversion of rectangles into polygons when rotating by non-cardinal amounts (#86)\n- Move to `pynng` 0.9.0 (John Hagen, !37)\n- Add `locked` properties to `Track` and `ArcTrack` (Anton Lazarev, !34)\n- Add `Board.get_layer_name` (KiCad 9.0.8) (#94)\n- Ensure `PolygonWithHoles` outline and holes are closed shapes (#73)\n- Fix `Project` taking over the document passed into it (#78)\n- Fix missing setter on `Field.name` (#87)\n\n### 0.5.0 (October 13, 2025)\n\n- Add `Pad.pad_to_die_length` (KiCad 9.0.4)\n- Add `Board.get_enabled_layers`, `Board.set_enabled_layers`, and `Board.get_copper_layer_count` (KiCad 9.0.5)\n- Autodetect default Flatpak socket path (Johannes Maibaum, !32)\n- Add support for `BoardCircle.rotate` (@modbw, !33)\n\n### 0.4.0 (July 8, 2025)\n\n- Fix ability to move and rotate footprints\n- Fix ArcTrack length calculation (Quentin Freimanis, !13)\n- Make it possible to add new `BoardPolygon`s in a more ergonomic way\n- Add `FootprintInstance.sheet_path` property (#37)\n- Add `board.check_padstack_presence_on_layers`, replacing FlashLayer in SWIG\n- Allow setting `Net.name` so that new nets can be created\n- Deprecate `Net.code` (net codes are an internal KiCad detail and API clients should ignore them)\n- Add `py.typed` type hinting indicator file (John Hagen, !16)\n- Fix `Vector2.from_xy_mm` type annotations (John Hagen, !17)\n- Add `Arc.angle` and `ArcTrack.angle`; some arc angle utilities (Quentin Freimanis, !14)\n- Add `remove_items_by_id` (Anthonypark, !20)\n- Allow assigning nets to `Zone` (#62)\n- Allow changing `Pad.pad_type` (#63)\n- Allow changing `Field.layer` (#64)\n\n### 0.3.0 (March 29, 2025)\n\n- Add support for footprint mounting style attribute (#19) (Thanh Duong, !10)\n- Added `visible` property to `Field` and deprecate it from `TextAttributes` to match KiCad changes\n- Improve version checking functions(Lucas Gerads, !11)\n- Add missing board layers User.10 through User.45 (#23)\n- Improve padstack-related APIs for creating new vias and pads (#21)\n- Change arc angle methods to return normalized angles; add degrees versions (#22)\n- Add `board.get_origin` and `board.set_origin` (#20)\n- Add `ArcTrack.length` (Thanh Duong, !12)\n- Add `Footprint.models` (#31)\n- Fix ability to create new graphic shapes on boards\n- Fix the return value of `Board.update_items` and document it (#35)\n\n### 0.2.0 (February 19, 2025)\n\n- Updates for KiCad 9.0.0 release\n- Fix `util.board_layer.canonical_name` names for technical layers\n- Add board item selection management APIs\n- Fix `requirements.txt` files in sample plugins\n- Fix RecursionError when calling `BoardCircle.__repr__` (#13)\n- Relicense as MIT\n\n### 0.1.2 (January 17, 2025)\n\n- Updates for KiCad 9.0.0-rc2 release\n- Fixes to plugin examples\n- Add support for various project settings, board stackup, board file management\n- Add helpers for board layer name conversions\n- Change thermal spoke settings to match updated KiCad API\n- Documentation improvements\n\n### 0.1.1 (December 24, 2024)\n\n- Bump dependency versions to fix compilation with newer protoc\n\n### 0.1.0 (December 21, 2024)\n\n*Corresponding KiCad version: 9.0.0-rc1*\n\nFirst formal release of the new IPC-API version of this package. Contains support for most of the\nKiCad API functionality that is currently exposed, which is focused around the PCB editor to enable\na transition path from existing SWIG-based plugins.\n",
33
+ 'author': 'The KiCad Development Team',
34
+ 'author_email': 'None',
35
+ 'maintainer': 'None',
36
+ 'maintainer_email': 'None',
37
+ 'url': 'https://kicad.org/',
38
+ 'packages': packages,
39
+ 'package_data': package_data,
40
+ 'install_requires': install_requires,
41
+ 'extras_require': extras_require,
42
+ 'entry_points': entry_points,
43
+ 'python_requires': '>=3.9',
44
+ }
45
+ from build import *
46
+ build(setup_kwargs)
47
+
48
+ setup(**setup_kwargs)
@@ -1,48 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- from setuptools import setup
3
-
4
- packages = \
5
- ['kipy',
6
- 'kipy.packaging',
7
- 'kipy.packaging.schemas',
8
- 'kipy.proto',
9
- 'kipy.proto.board',
10
- 'kipy.proto.common',
11
- 'kipy.proto.common.commands',
12
- 'kipy.proto.common.types',
13
- 'kipy.proto.schematic',
14
- 'kipy.util']
15
-
16
- package_data = \
17
- {'': ['*']}
18
-
19
- install_requires = \
20
- ['jsonschema>=4.23.0,<5', 'protobuf>=5.29,<6', 'pynng>=0.9.0,<0.10.0']
21
-
22
- extras_require = \
23
- {':python_version < "3.13"': ['typing_extensions>=4.13.2']}
24
-
25
- entry_points = \
26
- {'console_scripts': ['kicad-python-packager = kipy.packaging.cli:main']}
27
-
28
- setup_kwargs = {
29
- 'name': 'kicad-python',
30
- 'version': '0.7.0',
31
- 'description': 'KiCad API Python Bindings',
32
- 'long_description': '# KiCad API Python Bindings\n\n`kicad-python` is the official Python bindings for the [KiCad](https://kicad.org) IPC API. This\nlibrary makes it possible to develop scripts and tools that interact with a running KiCad session.\n\nThe KiCad IPC API can be considered in "public beta" state with the release of KiCad 9 (currently\nplanned for on or around February 1, 2025). The existing SWIG-based Python bindings for KiCad\'s\nPCB editor still exist in KiCad 9, but are in maintenance mode and will not be expanded.\n\nFor more information about the IPC API, please see the\n[KiCad developer documentation](https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/index.html).\nSpecific documentation for developing add-ons is\n[also available](https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/for-addon-developers/index.html).\n\n> Note: Version 0.0.2 and prior of this package are an obsolete earlier effort and are unrelated to\n> this codebase.\n\n## Requirements\n\nUsing the IPC API requires a suitable version of KiCad (9.0 or higher) and requires that KiCad be\nrunning with the API server enabled in Preferences > Plugins. This package also depends on the\n`protobuf` and `pynng` packages for communication with KiCad.\n\n> Note: Unlike the SWIG-based Python bindings, the IPC API requires communication with a running\n> instance of KiCad. It is not possible to use `kicad-python` to manipulate KiCad design files\n> without KiCad running.\n\n## Contributing\n\nPlease file bug reports and feature requests in this Gitlab project. The team may move them to the\nmain KiCad repository depending on the nature of the request.\n\nMerge requests are welcome for minor fixes and improvements. More significant changes should be\ndiscussed with the development team (via email, or in an issue) first.\n\n## Building from Source\n\nMost users should use `kicad-python` by installing the latest version from PyPI. You can also\nbuild and install the library from this repository, to test unreleased changes or contribute to\nthe development. For instructions on how to do so, please see `COMPILING.md`.\n\nNote that this library builds against the API definitions (`.proto` files) in the `kicad` submodule.\nOfficial releases of the library to PyPI should use a tagged release of KiCad, but the development\nbranch of `kicad-python` may sometimes move the submodule pointer to non-tagged commits during the\ncourse of development. If you are using this library from source rather than from PyPI, remember\nto keep the submodule updated and to test against a suitable build of KiCad, which may need to be\na nightly or testing build in some situations. You can use the method `KiCad.check_version` to\nmake sure you are using a compatible version of `kicad-python` for your installed version of KiCad.\n\n## Getting Started\n\nTo check that everything is working, install `kicad-python` (either follow the directions in\nCOMPILING.md or else install the latest version from PyPI using `pip install kicad-python`).\nLaunch KiCad, make sure the API server is enabled in Preferences > Plugins, and then you should be\nable to run:\n\n```sh\n$ python3 ./examples/hello.py\n```\n\nThis should print out the version of KiCad you have connected to.\n\n## Documentation\n\nThe documentation created from this repository (via the `docs` directory and the docstrings in the\nsource code) is hosted at https://docs.kicad.org/kicad-python-main\n\nMany things are still not documented or underdocumented -- contributions that expand the\ndocumentation or add docstrings are welcomed.\n\n## Examples\n\nCheck out the repository for some example scripts that may serve as a starting point. Some of the\nexamples are snippets that can be run directly from a terminal or your Python development\nenvironment, and some are KiCad action plugins that can be loaded into the PCB editor. For the\nplugins, copy or symlink them into the appropriate plugins path in order for KiCad to find them.\n\n## Release History\n\n### 0.7.0 (April 17, 2026)\n\n- Add `Board.get_items_by_id` and groups support via `Board.get_groups` (requires KiCad 10) (Anthonypark, !15)\n- Add support for barcodes and `Board.get_barcodes` (requires KiCad 10.0.1)\n- Add support for reference images and `Board.get_reference_images` (requires KiCad 10.0.1)\n- Add `Board.set_title_block_info` (requires KiCad 10.0.1)\n- Add `Board.get_connected_items`, `Board.get_items_by_net`, and `Board.get_items_by_netclass` (requires KiCad 10.0.1)\n- Fix several bounding box calculation bugs\n- Support building with older versions of protoc\n- Fix `KiCad.run_action` (leommxj)\n\n### 0.6.0 (March 15, 2026)\n\n- Fix missing conversion of rectangles into polygons when rotating by non-cardinal amounts (#86)\n- Move to `pynng` 0.9.0 (John Hagen, !37)\n- Add `locked` properties to `Track` and `ArcTrack` (Anton Lazarev, !34)\n- Add `Board.get_layer_name` (KiCad 9.0.8) (#94)\n- Ensure `PolygonWithHoles` outline and holes are closed shapes (#73)\n- Fix `Project` taking over the document passed into it (#78)\n- Fix missing setter on `Field.name` (#87)\n\n### 0.5.0 (October 13, 2025)\n\n- Add `Pad.pad_to_die_length` (KiCad 9.0.4)\n- Add `Board.get_enabled_layers`, `Board.set_enabled_layers`, and `Board.get_copper_layer_count` (KiCad 9.0.5)\n- Autodetect default Flatpak socket path (Johannes Maibaum, !32)\n- Add support for `BoardCircle.rotate` (@modbw, !33)\n\n### 0.4.0 (July 8, 2025)\n\n- Fix ability to move and rotate footprints\n- Fix ArcTrack length calculation (Quentin Freimanis, !13)\n- Make it possible to add new `BoardPolygon`s in a more ergonomic way\n- Add `FootprintInstance.sheet_path` property (#37)\n- Add `board.check_padstack_presence_on_layers`, replacing FlashLayer in SWIG\n- Allow setting `Net.name` so that new nets can be created\n- Deprecate `Net.code` (net codes are an internal KiCad detail and API clients should ignore them)\n- Add `py.typed` type hinting indicator file (John Hagen, !16)\n- Fix `Vector2.from_xy_mm` type annotations (John Hagen, !17)\n- Add `Arc.angle` and `ArcTrack.angle`; some arc angle utilities (Quentin Freimanis, !14)\n- Add `remove_items_by_id` (Anthonypark, !20)\n- Allow assigning nets to `Zone` (#62)\n- Allow changing `Pad.pad_type` (#63)\n- Allow changing `Field.layer` (#64)\n\n### 0.3.0 (March 29, 2025)\n\n- Add support for footprint mounting style attribute (#19) (Thanh Duong, !10)\n- Added `visible` property to `Field` and deprecate it from `TextAttributes` to match KiCad changes\n- Improve version checking functions(Lucas Gerads, !11)\n- Add missing board layers User.10 through User.45 (#23)\n- Improve padstack-related APIs for creating new vias and pads (#21)\n- Change arc angle methods to return normalized angles; add degrees versions (#22)\n- Add `board.get_origin` and `board.set_origin` (#20)\n- Add `ArcTrack.length` (Thanh Duong, !12)\n- Add `Footprint.models` (#31)\n- Fix ability to create new graphic shapes on boards\n- Fix the return value of `Board.update_items` and document it (#35)\n\n### 0.2.0 (February 19, 2025)\n\n- Updates for KiCad 9.0.0 release\n- Fix `util.board_layer.canonical_name` names for technical layers\n- Add board item selection management APIs\n- Fix `requirements.txt` files in sample plugins\n- Fix RecursionError when calling `BoardCircle.__repr__` (#13)\n- Relicense as MIT\n\n### 0.1.2 (January 17, 2025)\n\n- Updates for KiCad 9.0.0-rc2 release\n- Fixes to plugin examples\n- Add support for various project settings, board stackup, board file management\n- Add helpers for board layer name conversions\n- Change thermal spoke settings to match updated KiCad API\n- Documentation improvements\n\n### 0.1.1 (December 24, 2024)\n\n- Bump dependency versions to fix compilation with newer protoc\n\n### 0.1.0 (December 21, 2024)\n\n*Corresponding KiCad version: 9.0.0-rc1*\n\nFirst formal release of the new IPC-API version of this package. Contains support for most of the\nKiCad API functionality that is currently exposed, which is focused around the PCB editor to enable\na transition path from existing SWIG-based plugins.\n',
33
- 'author': 'The KiCad Development Team',
34
- 'author_email': 'None',
35
- 'maintainer': 'None',
36
- 'maintainer_email': 'None',
37
- 'url': 'https://kicad.org/',
38
- 'packages': packages,
39
- 'package_data': package_data,
40
- 'install_requires': install_requires,
41
- 'extras_require': extras_require,
42
- 'entry_points': entry_points,
43
- 'python_requires': '>=3.9',
44
- }
45
- from build import *
46
- build(setup_kwargs)
47
-
48
- setup(**setup_kwargs)
File without changes
File without changes
File without changes
File without changes