kicad-python 0.1.0a0__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 (46) hide show
  1. kicad_python-0.1.0a0.dist-info/LICENSE +674 -0
  2. kicad_python-0.1.0a0.dist-info/METADATA +58 -0
  3. kicad_python-0.1.0a0.dist-info/RECORD +46 -0
  4. kicad_python-0.1.0a0.dist-info/WHEEL +4 -0
  5. kipy/__init__.py +20 -0
  6. kipy/board.py +242 -0
  7. kipy/board_types.py +377 -0
  8. kipy/client.py +66 -0
  9. kipy/common_types.py +40 -0
  10. kipy/enums/__init__.py +22 -0
  11. kipy/enums/_enums.py +206 -0
  12. kipy/geometry.py +94 -0
  13. kipy/kicad.py +92 -0
  14. kipy/project.py +50 -0
  15. kipy/project_types.py +28 -0
  16. kipy/proto/__init__.py +20 -0
  17. kipy/proto/board/__init__.py +20 -0
  18. kipy/proto/board/board_commands_pb2.py +37 -0
  19. kipy/proto/board/board_commands_pb2.pyi +310 -0
  20. kipy/proto/board/board_pb2.py +41 -0
  21. kipy/proto/board/board_pb2.pyi +296 -0
  22. kipy/proto/board/board_types_pb2.py +82 -0
  23. kipy/proto/board/board_types_pb2.pyi +1034 -0
  24. kipy/proto/common/__init__.py +23 -0
  25. kipy/proto/common/commands/__init__.py +21 -0
  26. kipy/proto/common/commands/base_commands_pb2.py +17 -0
  27. kipy/proto/common/commands/base_commands_pb2.pyi +58 -0
  28. kipy/proto/common/commands/editor_commands_pb2.py +68 -0
  29. kipy/proto/common/commands/editor_commands_pb2.pyi +623 -0
  30. kipy/proto/common/commands/project_commands_pb2.py +18 -0
  31. kipy/proto/common/commands/project_commands_pb2.pyi +57 -0
  32. kipy/proto/common/envelope_pb2.py +25 -0
  33. kipy/proto/common/envelope_pb2.pyi +180 -0
  34. kipy/proto/common/types/__init__.py +20 -0
  35. kipy/proto/common/types/base_types_pb2.py +83 -0
  36. kipy/proto/common/types/base_types_pb2.pyi +860 -0
  37. kipy/proto/common/types/project_settings_pb2.py +15 -0
  38. kipy/proto/common/types/project_settings_pb2.pyi +30 -0
  39. kipy/proto/schematic/schematic_commands_pb2.py +13 -0
  40. kipy/proto/schematic/schematic_commands_pb2.pyi +23 -0
  41. kipy/proto/schematic/schematic_types_pb2.py +25 -0
  42. kipy/proto/schematic/schematic_types_pb2.pyi +203 -0
  43. kipy/util/__init__.py +21 -0
  44. kipy/util/proto.py +61 -0
  45. kipy/util/units.py +31 -0
  46. kipy/wrapper.py +23 -0
@@ -0,0 +1,860 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+
5
+ base_types.proto
6
+ Includes types used in many parts of the API
7
+ """
8
+ import builtins
9
+ import collections.abc
10
+ import google.protobuf.descriptor
11
+ import google.protobuf.field_mask_pb2
12
+ import google.protobuf.internal.containers
13
+ import google.protobuf.internal.enum_type_wrapper
14
+ import google.protobuf.message
15
+ import sys
16
+ import typing
17
+ if sys.version_info >= (3, 10):
18
+ import typing as typing_extensions
19
+ else:
20
+ import typing_extensions
21
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
22
+
23
+ class _CommandStatus:
24
+ ValueType = typing.NewType('ValueType', builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _CommandStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CommandStatus.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ CS_UNKNOWN: _CommandStatus.ValueType
30
+ CS_OK: _CommandStatus.ValueType
31
+ 'Command succeeded'
32
+ CS_FAILED: _CommandStatus.ValueType
33
+ 'Command failed'
34
+
35
+ class CommandStatus(_CommandStatus, metaclass=_CommandStatusEnumTypeWrapper):
36
+ ...
37
+ CS_UNKNOWN: CommandStatus.ValueType
38
+ CS_OK: CommandStatus.ValueType
39
+ 'Command succeeded'
40
+ CS_FAILED: CommandStatus.ValueType
41
+ 'Command failed'
42
+ global___CommandStatus = CommandStatus
43
+
44
+ class _FrameType:
45
+ ValueType = typing.NewType('ValueType', builtins.int)
46
+ V: typing_extensions.TypeAlias = ValueType
47
+
48
+ class _FrameTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FrameType.ValueType], builtins.type):
49
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
50
+ FT_UNKNOWN: _FrameType.ValueType
51
+ FT_PROJECT_MANAGER: _FrameType.ValueType
52
+ FT_SCHEMATIC_EDITOR: _FrameType.ValueType
53
+ FT_PCB_EDITOR: _FrameType.ValueType
54
+ FT_SPICE_SIMULATOR: _FrameType.ValueType
55
+ FT_SYMBOL_EDITOR: _FrameType.ValueType
56
+ FT_FOOTPRINT_EDITOR: _FrameType.ValueType
57
+ FT_DRAWING_SHEET_EDITOR: _FrameType.ValueType
58
+
59
+ class FrameType(_FrameType, metaclass=_FrameTypeEnumTypeWrapper):
60
+ """*
61
+ Some commands are specific to a KiCad window (frame). This list contains all addressable frames.
62
+ """
63
+ FT_UNKNOWN: FrameType.ValueType
64
+ FT_PROJECT_MANAGER: FrameType.ValueType
65
+ FT_SCHEMATIC_EDITOR: FrameType.ValueType
66
+ FT_PCB_EDITOR: FrameType.ValueType
67
+ FT_SPICE_SIMULATOR: FrameType.ValueType
68
+ FT_SYMBOL_EDITOR: FrameType.ValueType
69
+ FT_FOOTPRINT_EDITOR: FrameType.ValueType
70
+ FT_DRAWING_SHEET_EDITOR: FrameType.ValueType
71
+ global___FrameType = FrameType
72
+
73
+ class _DocumentType:
74
+ ValueType = typing.NewType('ValueType', builtins.int)
75
+ V: typing_extensions.TypeAlias = ValueType
76
+
77
+ class _DocumentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DocumentType.ValueType], builtins.type):
78
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
79
+ DOCTYPE_UNKNOWN: _DocumentType.ValueType
80
+ DOCTYPE_SCHEMATIC: _DocumentType.ValueType
81
+ DOCTYPE_SYMBOL: _DocumentType.ValueType
82
+ DOCTYPE_PCB: _DocumentType.ValueType
83
+ DOCTYPE_FOOTPRINT: _DocumentType.ValueType
84
+ DOCTYPE_DRAWING_SHEET: _DocumentType.ValueType
85
+
86
+ class DocumentType(_DocumentType, metaclass=_DocumentTypeEnumTypeWrapper):
87
+ """*
88
+ Identifier for the type of document being targeted by a request
89
+ """
90
+ DOCTYPE_UNKNOWN: DocumentType.ValueType
91
+ DOCTYPE_SCHEMATIC: DocumentType.ValueType
92
+ DOCTYPE_SYMBOL: DocumentType.ValueType
93
+ DOCTYPE_PCB: DocumentType.ValueType
94
+ DOCTYPE_FOOTPRINT: DocumentType.ValueType
95
+ DOCTYPE_DRAWING_SHEET: DocumentType.ValueType
96
+ global___DocumentType = DocumentType
97
+
98
+ class _ItemRequestStatus:
99
+ ValueType = typing.NewType('ValueType', builtins.int)
100
+ V: typing_extensions.TypeAlias = ValueType
101
+
102
+ class _ItemRequestStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ItemRequestStatus.ValueType], builtins.type):
103
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
104
+ IRS_UNKNOWN: _ItemRequestStatus.ValueType
105
+ IRS_OK: _ItemRequestStatus.ValueType
106
+ IRS_DOCUMENT_NOT_FOUND: _ItemRequestStatus.ValueType
107
+ 'The given document is not open in KiCad'
108
+ IRS_FIELD_MASK_INVALID: _ItemRequestStatus.ValueType
109
+ 'The given field_mask contains invalid specifiers'
110
+
111
+ class ItemRequestStatus(_ItemRequestStatus, metaclass=_ItemRequestStatusEnumTypeWrapper):
112
+ """*
113
+ Status of a request that included an ItemHeader
114
+ """
115
+ IRS_UNKNOWN: ItemRequestStatus.ValueType
116
+ IRS_OK: ItemRequestStatus.ValueType
117
+ IRS_DOCUMENT_NOT_FOUND: ItemRequestStatus.ValueType
118
+ 'The given document is not open in KiCad'
119
+ IRS_FIELD_MASK_INVALID: ItemRequestStatus.ValueType
120
+ 'The given field_mask contains invalid specifiers'
121
+ global___ItemRequestStatus = ItemRequestStatus
122
+
123
+ class _LockedState:
124
+ ValueType = typing.NewType('ValueType', builtins.int)
125
+ V: typing_extensions.TypeAlias = ValueType
126
+
127
+ class _LockedStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LockedState.ValueType], builtins.type):
128
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
129
+ LS_UNKNOWN: _LockedState.ValueType
130
+ LS_UNLOCKED: _LockedState.ValueType
131
+ LS_LOCKED: _LockedState.ValueType
132
+
133
+ class LockedState(_LockedState, metaclass=_LockedStateEnumTypeWrapper):
134
+ """Describes whether or not an item is locked for editing or movement"""
135
+ LS_UNKNOWN: LockedState.ValueType
136
+ LS_UNLOCKED: LockedState.ValueType
137
+ LS_LOCKED: LockedState.ValueType
138
+ global___LockedState = LockedState
139
+
140
+ class _HorizontalAlignment:
141
+ ValueType = typing.NewType('ValueType', builtins.int)
142
+ V: typing_extensions.TypeAlias = ValueType
143
+
144
+ class _HorizontalAlignmentEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HorizontalAlignment.ValueType], builtins.type):
145
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
146
+ HA_UNKNOWN: _HorizontalAlignment.ValueType
147
+ HA_LEFT: _HorizontalAlignment.ValueType
148
+ HA_CENTER: _HorizontalAlignment.ValueType
149
+ HA_RIGHT: _HorizontalAlignment.ValueType
150
+ HA_INDETERMINATE: _HorizontalAlignment.ValueType
151
+
152
+ class HorizontalAlignment(_HorizontalAlignment, metaclass=_HorizontalAlignmentEnumTypeWrapper):
153
+ """/ Mapped to GR_TEXT_H_ALIGN_T"""
154
+ HA_UNKNOWN: HorizontalAlignment.ValueType
155
+ HA_LEFT: HorizontalAlignment.ValueType
156
+ HA_CENTER: HorizontalAlignment.ValueType
157
+ HA_RIGHT: HorizontalAlignment.ValueType
158
+ HA_INDETERMINATE: HorizontalAlignment.ValueType
159
+ global___HorizontalAlignment = HorizontalAlignment
160
+
161
+ class _VerticalAlignment:
162
+ ValueType = typing.NewType('ValueType', builtins.int)
163
+ V: typing_extensions.TypeAlias = ValueType
164
+
165
+ class _VerticalAlignmentEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VerticalAlignment.ValueType], builtins.type):
166
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
167
+ VA_UNKNOWN: _VerticalAlignment.ValueType
168
+ VA_TOP: _VerticalAlignment.ValueType
169
+ VA_CENTER: _VerticalAlignment.ValueType
170
+ VA_BOTTOM: _VerticalAlignment.ValueType
171
+ VA_INDETERMINATE: _VerticalAlignment.ValueType
172
+
173
+ class VerticalAlignment(_VerticalAlignment, metaclass=_VerticalAlignmentEnumTypeWrapper):
174
+ """/ Mapped to GR_TEXT_V_ALIGN_T"""
175
+ VA_UNKNOWN: VerticalAlignment.ValueType
176
+ VA_TOP: VerticalAlignment.ValueType
177
+ VA_CENTER: VerticalAlignment.ValueType
178
+ VA_BOTTOM: VerticalAlignment.ValueType
179
+ VA_INDETERMINATE: VerticalAlignment.ValueType
180
+ global___VerticalAlignment = VerticalAlignment
181
+
182
+ class _StrokeLineStyle:
183
+ ValueType = typing.NewType('ValueType', builtins.int)
184
+ V: typing_extensions.TypeAlias = ValueType
185
+
186
+ class _StrokeLineStyleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StrokeLineStyle.ValueType], builtins.type):
187
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
188
+ SLS_UNKNOWN: _StrokeLineStyle.ValueType
189
+ SLS_DEFAULT: _StrokeLineStyle.ValueType
190
+ SLS_SOLID: _StrokeLineStyle.ValueType
191
+ SLS_DASH: _StrokeLineStyle.ValueType
192
+ SLS_DOT: _StrokeLineStyle.ValueType
193
+ SLS_DASHDOT: _StrokeLineStyle.ValueType
194
+ SLS_DASHDOTDOT: _StrokeLineStyle.ValueType
195
+
196
+ class StrokeLineStyle(_StrokeLineStyle, metaclass=_StrokeLineStyleEnumTypeWrapper):
197
+ ...
198
+ SLS_UNKNOWN: StrokeLineStyle.ValueType
199
+ SLS_DEFAULT: StrokeLineStyle.ValueType
200
+ SLS_SOLID: StrokeLineStyle.ValueType
201
+ SLS_DASH: StrokeLineStyle.ValueType
202
+ SLS_DOT: StrokeLineStyle.ValueType
203
+ SLS_DASHDOT: StrokeLineStyle.ValueType
204
+ SLS_DASHDOTDOT: StrokeLineStyle.ValueType
205
+ global___StrokeLineStyle = StrokeLineStyle
206
+
207
+ class _GraphicFillType:
208
+ ValueType = typing.NewType('ValueType', builtins.int)
209
+ V: typing_extensions.TypeAlias = ValueType
210
+
211
+ class _GraphicFillTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GraphicFillType.ValueType], builtins.type):
212
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
213
+ GFT_UNKNOWN: _GraphicFillType.ValueType
214
+ GFT_UNFILLED: _GraphicFillType.ValueType
215
+ GFT_FILLED: _GraphicFillType.ValueType
216
+
217
+ class GraphicFillType(_GraphicFillType, metaclass=_GraphicFillTypeEnumTypeWrapper):
218
+ ...
219
+ GFT_UNKNOWN: GraphicFillType.ValueType
220
+ GFT_UNFILLED: GraphicFillType.ValueType
221
+ GFT_FILLED: GraphicFillType.ValueType
222
+ global___GraphicFillType = GraphicFillType
223
+
224
+ @typing_extensions.final
225
+ class CommandStatusResponse(google.protobuf.message.Message):
226
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
227
+ STATUS_FIELD_NUMBER: builtins.int
228
+ status: global___CommandStatus.ValueType
229
+
230
+ def __init__(self, *, status: global___CommandStatus.ValueType=...) -> None:
231
+ ...
232
+
233
+ def ClearField(self, field_name: typing_extensions.Literal['status', b'status']) -> None:
234
+ ...
235
+ global___CommandStatusResponse = CommandStatusResponse
236
+
237
+ @typing_extensions.final
238
+ class KiCadVersion(google.protobuf.message.Message):
239
+ """*
240
+ Describes a particular version of KiCad
241
+ """
242
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
243
+ MAJOR_FIELD_NUMBER: builtins.int
244
+ MINOR_FIELD_NUMBER: builtins.int
245
+ PATCH_FIELD_NUMBER: builtins.int
246
+ FULL_VERSION_FIELD_NUMBER: builtins.int
247
+ major: builtins.int
248
+ minor: builtins.int
249
+ patch: builtins.int
250
+ full_version: builtins.str
251
+ 'Full identifier string, potentially containing git hashes, packager-added info, etc.'
252
+
253
+ def __init__(self, *, major: builtins.int=..., minor: builtins.int=..., patch: builtins.int=..., full_version: builtins.str=...) -> None:
254
+ ...
255
+
256
+ def ClearField(self, field_name: typing_extensions.Literal['full_version', b'full_version', 'major', b'major', 'minor', b'minor', 'patch', b'patch']) -> None:
257
+ ...
258
+ global___KiCadVersion = KiCadVersion
259
+
260
+ @typing_extensions.final
261
+ class KIID(google.protobuf.message.Message):
262
+ """*
263
+ Describes a KIID, or UUID of an object in a KiCad editor model.
264
+ """
265
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
266
+ VALUE_FIELD_NUMBER: builtins.int
267
+ value: builtins.str
268
+ "The KIID's value in standard UUID format, stored as a string for easy portability"
269
+
270
+ def __init__(self, *, value: builtins.str=...) -> None:
271
+ ...
272
+
273
+ def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None:
274
+ ...
275
+ global___KIID = KIID
276
+
277
+ @typing_extensions.final
278
+ class LibraryIdentifier(google.protobuf.message.Message):
279
+ """*
280
+ Describes a KiCad LIB_ID; a unique identifier for a loaded symbol or footprint
281
+ """
282
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
283
+ LIBRARY_NICKNAME_FIELD_NUMBER: builtins.int
284
+ ENTRY_NAME_FIELD_NUMBER: builtins.int
285
+ library_nickname: builtins.str
286
+ 'The library portion of the LIB_ID'
287
+ entry_name: builtins.str
288
+ 'The symbol or footprint name'
289
+
290
+ def __init__(self, *, library_nickname: builtins.str=..., entry_name: builtins.str=...) -> None:
291
+ ...
292
+
293
+ def ClearField(self, field_name: typing_extensions.Literal['entry_name', b'entry_name', 'library_nickname', b'library_nickname']) -> None:
294
+ ...
295
+ global___LibraryIdentifier = LibraryIdentifier
296
+
297
+ @typing_extensions.final
298
+ class SheetPath(google.protobuf.message.Message):
299
+ """*
300
+ Describes a unique sheet in a schematic
301
+ """
302
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
303
+ PATH_FIELD_NUMBER: builtins.int
304
+ PATH_HUMAN_READABLE_FIELD_NUMBER: builtins.int
305
+
306
+ @property
307
+ def path(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___KIID]:
308
+ """The canonical path to the sheet. The first KIID will be the root sheet, etc."""
309
+ path_human_readable: builtins.str
310
+ 'The path converted to a human readable form such as "/", "/child", or "/child/grandchild" '
311
+
312
+ def __init__(self, *, path: collections.abc.Iterable[global___KIID] | None=..., path_human_readable: builtins.str=...) -> None:
313
+ ...
314
+
315
+ def ClearField(self, field_name: typing_extensions.Literal['path', b'path', 'path_human_readable', b'path_human_readable']) -> None:
316
+ ...
317
+ global___SheetPath = SheetPath
318
+
319
+ @typing_extensions.final
320
+ class ProjectSpecifier(google.protobuf.message.Message):
321
+ """*
322
+ Describes a KiCad project
323
+ """
324
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
325
+ NAME_FIELD_NUMBER: builtins.int
326
+ PATH_FIELD_NUMBER: builtins.int
327
+ name: builtins.str
328
+ 'The name of the project (without the kicad_pro extension)'
329
+ path: builtins.str
330
+ 'The path to the project directory'
331
+
332
+ def __init__(self, *, name: builtins.str=..., path: builtins.str=...) -> None:
333
+ ...
334
+
335
+ def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'path', b'path']) -> None:
336
+ ...
337
+ global___ProjectSpecifier = ProjectSpecifier
338
+
339
+ @typing_extensions.final
340
+ class DocumentSpecifier(google.protobuf.message.Message):
341
+ """*
342
+ Describes a document that will be the target of a request
343
+ """
344
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
345
+ TYPE_FIELD_NUMBER: builtins.int
346
+ LIB_ID_FIELD_NUMBER: builtins.int
347
+ SHEET_PATH_FIELD_NUMBER: builtins.int
348
+ BOARD_FILENAME_FIELD_NUMBER: builtins.int
349
+ PROJECT_FIELD_NUMBER: builtins.int
350
+ type: global___DocumentType.ValueType
351
+
352
+ @property
353
+ def lib_id(self) -> global___LibraryIdentifier:
354
+ """If type == DT_SYMBOL or DT_FOOTPRINT, identifies a certain library entry"""
355
+
356
+ @property
357
+ def sheet_path(self) -> global___SheetPath:
358
+ """If type == DT_SCHEMATIC, identifies a sheet with a given path"""
359
+ board_filename: builtins.str
360
+ 'If type == DT_PCB, identifies a PCB with a given filename, e.g. "board.kicad_pcb" '
361
+
362
+ @property
363
+ def project(self) -> global___ProjectSpecifier:
364
+ ...
365
+
366
+ def __init__(self, *, type: global___DocumentType.ValueType=..., lib_id: global___LibraryIdentifier | None=..., sheet_path: global___SheetPath | None=..., board_filename: builtins.str=..., project: global___ProjectSpecifier | None=...) -> None:
367
+ ...
368
+
369
+ def HasField(self, field_name: typing_extensions.Literal['board_filename', b'board_filename', 'identifier', b'identifier', 'lib_id', b'lib_id', 'project', b'project', 'sheet_path', b'sheet_path']) -> builtins.bool:
370
+ ...
371
+
372
+ def ClearField(self, field_name: typing_extensions.Literal['board_filename', b'board_filename', 'identifier', b'identifier', 'lib_id', b'lib_id', 'project', b'project', 'sheet_path', b'sheet_path', 'type', b'type']) -> None:
373
+ ...
374
+
375
+ def WhichOneof(self, oneof_group: typing_extensions.Literal['identifier', b'identifier']) -> typing_extensions.Literal['lib_id', 'sheet_path', 'board_filename'] | None:
376
+ ...
377
+ global___DocumentSpecifier = DocumentSpecifier
378
+
379
+ @typing_extensions.final
380
+ class ItemType(google.protobuf.message.Message):
381
+ """*
382
+ Describes the type of a KiCad item (wrapper for KICAD_T)
383
+ """
384
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
385
+ TYPE_FIELD_NUMBER: builtins.int
386
+ type: builtins.int
387
+ 'Must be a valid value in the KICAD_T C++ enum (see typeinfo.h)'
388
+
389
+ def __init__(self, *, type: builtins.int=...) -> None:
390
+ ...
391
+
392
+ def ClearField(self, field_name: typing_extensions.Literal['type', b'type']) -> None:
393
+ ...
394
+ global___ItemType = ItemType
395
+
396
+ @typing_extensions.final
397
+ class ItemHeader(google.protobuf.message.Message):
398
+ """*
399
+ This header is included in requests and responses about item(s) in a document
400
+ """
401
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
402
+ DOCUMENT_FIELD_NUMBER: builtins.int
403
+ CONTAINER_FIELD_NUMBER: builtins.int
404
+ FIELD_MASK_FIELD_NUMBER: builtins.int
405
+
406
+ @property
407
+ def document(self) -> global___DocumentSpecifier:
408
+ """Which document is this request targeting?"""
409
+
410
+ @property
411
+ def container(self) -> global___KIID:
412
+ """Which container within the document is this request targeting?
413
+ If container is omitted or empty, the document is used as the container.
414
+ """
415
+
416
+ @property
417
+ def field_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
418
+ """Which fields on the item(s) are included with this request or response"""
419
+
420
+ def __init__(self, *, document: global___DocumentSpecifier | None=..., container: global___KIID | None=..., field_mask: google.protobuf.field_mask_pb2.FieldMask | None=...) -> None:
421
+ ...
422
+
423
+ def HasField(self, field_name: typing_extensions.Literal['container', b'container', 'document', b'document', 'field_mask', b'field_mask']) -> builtins.bool:
424
+ ...
425
+
426
+ def ClearField(self, field_name: typing_extensions.Literal['container', b'container', 'document', b'document', 'field_mask', b'field_mask']) -> None:
427
+ ...
428
+ global___ItemHeader = ItemHeader
429
+
430
+ @typing_extensions.final
431
+ class Vector2(google.protobuf.message.Message):
432
+ """Describes a point or distance in 2D space. All coordinates are in nanometers."""
433
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
434
+ X_NM_FIELD_NUMBER: builtins.int
435
+ Y_NM_FIELD_NUMBER: builtins.int
436
+ x_nm: builtins.int
437
+ y_nm: builtins.int
438
+
439
+ def __init__(self, *, x_nm: builtins.int=..., y_nm: builtins.int=...) -> None:
440
+ ...
441
+
442
+ def ClearField(self, field_name: typing_extensions.Literal['x_nm', b'x_nm', 'y_nm', b'y_nm']) -> None:
443
+ ...
444
+ global___Vector2 = Vector2
445
+
446
+ @typing_extensions.final
447
+ class Vector3(google.protobuf.message.Message):
448
+ """Describes a point or distance in 3D space. All coordinates are in nanometers."""
449
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
450
+ X_NM_FIELD_NUMBER: builtins.int
451
+ Y_NM_FIELD_NUMBER: builtins.int
452
+ Z_NM_FIELD_NUMBER: builtins.int
453
+ x_nm: builtins.int
454
+ y_nm: builtins.int
455
+ z_nm: builtins.int
456
+
457
+ def __init__(self, *, x_nm: builtins.int=..., y_nm: builtins.int=..., z_nm: builtins.int=...) -> None:
458
+ ...
459
+
460
+ def ClearField(self, field_name: typing_extensions.Literal['x_nm', b'x_nm', 'y_nm', b'y_nm', 'z_nm', b'z_nm']) -> None:
461
+ ...
462
+ global___Vector3 = Vector3
463
+
464
+ @typing_extensions.final
465
+ class Distance(google.protobuf.message.Message):
466
+ """Describes a quantity of distance (size, length, etc). All coordinates are in nanometers."""
467
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
468
+ VALUE_NM_FIELD_NUMBER: builtins.int
469
+ value_nm: builtins.int
470
+
471
+ def __init__(self, *, value_nm: builtins.int=...) -> None:
472
+ ...
473
+
474
+ def ClearField(self, field_name: typing_extensions.Literal['value_nm', b'value_nm']) -> None:
475
+ ...
476
+ global___Distance = Distance
477
+
478
+ @typing_extensions.final
479
+ class Angle(google.protobuf.message.Message):
480
+ """Corresponds to EDA_ANGLE, where the underlying storage is degrees"""
481
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
482
+ VALUE_DEGREES_FIELD_NUMBER: builtins.int
483
+ value_degrees: builtins.float
484
+
485
+ def __init__(self, *, value_degrees: builtins.float=...) -> None:
486
+ ...
487
+
488
+ def ClearField(self, field_name: typing_extensions.Literal['value_degrees', b'value_degrees']) -> None:
489
+ ...
490
+ global___Angle = Angle
491
+
492
+ @typing_extensions.final
493
+ class Color(google.protobuf.message.Message):
494
+ """Corresponds to COLOR4D. Each color channel is a double from 0.0 to 1.0."""
495
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
496
+ R_FIELD_NUMBER: builtins.int
497
+ G_FIELD_NUMBER: builtins.int
498
+ B_FIELD_NUMBER: builtins.int
499
+ A_FIELD_NUMBER: builtins.int
500
+ r: builtins.float
501
+ g: builtins.float
502
+ b: builtins.float
503
+ a: builtins.float
504
+
505
+ def __init__(self, *, r: builtins.float=..., g: builtins.float=..., b: builtins.float=..., a: builtins.float=...) -> None:
506
+ ...
507
+
508
+ def ClearField(self, field_name: typing_extensions.Literal['a', b'a', 'b', b'b', 'g', b'g', 'r', b'r']) -> None:
509
+ ...
510
+ global___Color = Color
511
+
512
+ @typing_extensions.final
513
+ class ArcStartMidEnd(google.protobuf.message.Message):
514
+ """The formulation of arc that is used in KiCad core geometry code.
515
+ Start, midpoint (on the arc) and end are stored. Angle, center point, etc are calculated.
516
+ """
517
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
518
+ START_FIELD_NUMBER: builtins.int
519
+ MID_FIELD_NUMBER: builtins.int
520
+ END_FIELD_NUMBER: builtins.int
521
+
522
+ @property
523
+ def start(self) -> global___Vector2:
524
+ ...
525
+
526
+ @property
527
+ def mid(self) -> global___Vector2:
528
+ ...
529
+
530
+ @property
531
+ def end(self) -> global___Vector2:
532
+ ...
533
+
534
+ def __init__(self, *, start: global___Vector2 | None=..., mid: global___Vector2 | None=..., end: global___Vector2 | None=...) -> None:
535
+ ...
536
+
537
+ def HasField(self, field_name: typing_extensions.Literal['end', b'end', 'mid', b'mid', 'start', b'start']) -> builtins.bool:
538
+ ...
539
+
540
+ def ClearField(self, field_name: typing_extensions.Literal['end', b'end', 'mid', b'mid', 'start', b'start']) -> None:
541
+ ...
542
+ global___ArcStartMidEnd = ArcStartMidEnd
543
+
544
+ @typing_extensions.final
545
+ class PolyLineNode(google.protobuf.message.Message):
546
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
547
+ POINT_FIELD_NUMBER: builtins.int
548
+ ARC_FIELD_NUMBER: builtins.int
549
+
550
+ @property
551
+ def point(self) -> global___Vector2:
552
+ ...
553
+
554
+ @property
555
+ def arc(self) -> global___ArcStartMidEnd:
556
+ ...
557
+
558
+ def __init__(self, *, point: global___Vector2 | None=..., arc: global___ArcStartMidEnd | None=...) -> None:
559
+ ...
560
+
561
+ def HasField(self, field_name: typing_extensions.Literal['arc', b'arc', 'geometry', b'geometry', 'point', b'point']) -> builtins.bool:
562
+ ...
563
+
564
+ def ClearField(self, field_name: typing_extensions.Literal['arc', b'arc', 'geometry', b'geometry', 'point', b'point']) -> None:
565
+ ...
566
+
567
+ def WhichOneof(self, oneof_group: typing_extensions.Literal['geometry', b'geometry']) -> typing_extensions.Literal['point', 'arc'] | None:
568
+ ...
569
+ global___PolyLineNode = PolyLineNode
570
+
571
+ @typing_extensions.final
572
+ class PolyLine(google.protobuf.message.Message):
573
+ """Corresponds to class SHAPE_LINE_CHAIN: A closed or open polyline that can include arcs.
574
+ For non-arc cases, each node is a point along the line. An implicit line segment exists
575
+ between the last and first node if closed is true. When arcs are present, the arc start and
576
+ end points are not duplicated by point nodes (meaning, for example, a rectangle with rounded
577
+ corners could be represented with four arc nodes and no point nodes).
578
+ """
579
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
580
+ NODES_FIELD_NUMBER: builtins.int
581
+ CLOSED_FIELD_NUMBER: builtins.int
582
+
583
+ @property
584
+ def nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PolyLineNode]:
585
+ ...
586
+ closed: builtins.bool
587
+
588
+ def __init__(self, *, nodes: collections.abc.Iterable[global___PolyLineNode] | None=..., closed: builtins.bool=...) -> None:
589
+ ...
590
+
591
+ def ClearField(self, field_name: typing_extensions.Literal['closed', b'closed', 'nodes', b'nodes']) -> None:
592
+ ...
593
+ global___PolyLine = PolyLine
594
+
595
+ @typing_extensions.final
596
+ class PolygonWithHoles(google.protobuf.message.Message):
597
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
598
+ OUTLINE_FIELD_NUMBER: builtins.int
599
+ HOLES_FIELD_NUMBER: builtins.int
600
+
601
+ @property
602
+ def outline(self) -> global___PolyLine:
603
+ ...
604
+
605
+ @property
606
+ def holes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PolyLine]:
607
+ ...
608
+
609
+ def __init__(self, *, outline: global___PolyLine | None=..., holes: collections.abc.Iterable[global___PolyLine] | None=...) -> None:
610
+ ...
611
+
612
+ def HasField(self, field_name: typing_extensions.Literal['outline', b'outline']) -> builtins.bool:
613
+ ...
614
+
615
+ def ClearField(self, field_name: typing_extensions.Literal['holes', b'holes', 'outline', b'outline']) -> None:
616
+ ...
617
+ global___PolygonWithHoles = PolygonWithHoles
618
+
619
+ @typing_extensions.final
620
+ class PolySet(google.protobuf.message.Message):
621
+ """Corresponds to SHAPE_POLY_SET: a set of polygons or polylines"""
622
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
623
+ POLYGONS_FIELD_NUMBER: builtins.int
624
+
625
+ @property
626
+ def polygons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PolygonWithHoles]:
627
+ ...
628
+
629
+ def __init__(self, *, polygons: collections.abc.Iterable[global___PolygonWithHoles] | None=...) -> None:
630
+ ...
631
+
632
+ def ClearField(self, field_name: typing_extensions.Literal['polygons', b'polygons']) -> None:
633
+ ...
634
+ global___PolySet = PolySet
635
+
636
+ @typing_extensions.final
637
+ class Layer(google.protobuf.message.Message):
638
+ """*
639
+ A KiCad layer ID - see layer_ids.h
640
+ Different contexts have different valid ranges for id.
641
+ See PCB_LAYER_ID, SCH_LAYER_ID, etc.
642
+ """
643
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
644
+ ID_FIELD_NUMBER: builtins.int
645
+ id: builtins.int
646
+ 'From PCB_LAYER_T'
647
+
648
+ def __init__(self, *, id: builtins.int=...) -> None:
649
+ ...
650
+
651
+ def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None:
652
+ ...
653
+ global___Layer = Layer
654
+
655
+ @typing_extensions.final
656
+ class TextAttributes(google.protobuf.message.Message):
657
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
658
+ FONT_NAME_FIELD_NUMBER: builtins.int
659
+ HORIZONTAL_ALIGNMENT_FIELD_NUMBER: builtins.int
660
+ VERTICAL_ALIGNMENT_FIELD_NUMBER: builtins.int
661
+ ANGLE_FIELD_NUMBER: builtins.int
662
+ LINE_SPACING_FIELD_NUMBER: builtins.int
663
+ STROKE_WIDTH_FIELD_NUMBER: builtins.int
664
+ ITALIC_FIELD_NUMBER: builtins.int
665
+ BOLD_FIELD_NUMBER: builtins.int
666
+ UNDERLINED_FIELD_NUMBER: builtins.int
667
+ VISIBLE_FIELD_NUMBER: builtins.int
668
+ MIRRORED_FIELD_NUMBER: builtins.int
669
+ MULTILINE_FIELD_NUMBER: builtins.int
670
+ KEEP_UPRIGHT_FIELD_NUMBER: builtins.int
671
+ SIZE_FIELD_NUMBER: builtins.int
672
+ font_name: builtins.str
673
+ horizontal_alignment: global___HorizontalAlignment.ValueType
674
+ vertical_alignment: global___VerticalAlignment.ValueType
675
+
676
+ @property
677
+ def angle(self) -> global___Angle:
678
+ ...
679
+ line_spacing: builtins.float
680
+
681
+ @property
682
+ def stroke_width(self) -> global___Distance:
683
+ ...
684
+ italic: builtins.bool
685
+ bold: builtins.bool
686
+ underlined: builtins.bool
687
+ visible: builtins.bool
688
+ mirrored: builtins.bool
689
+ multiline: builtins.bool
690
+ keep_upright: builtins.bool
691
+
692
+ @property
693
+ def size(self) -> global___Vector2:
694
+ ...
695
+
696
+ def __init__(self, *, font_name: builtins.str=..., horizontal_alignment: global___HorizontalAlignment.ValueType=..., vertical_alignment: global___VerticalAlignment.ValueType=..., angle: global___Angle | None=..., line_spacing: builtins.float=..., stroke_width: global___Distance | None=..., italic: builtins.bool=..., bold: builtins.bool=..., underlined: builtins.bool=..., visible: builtins.bool=..., mirrored: builtins.bool=..., multiline: builtins.bool=..., keep_upright: builtins.bool=..., size: global___Vector2 | None=...) -> None:
697
+ ...
698
+
699
+ def HasField(self, field_name: typing_extensions.Literal['angle', b'angle', 'size', b'size', 'stroke_width', b'stroke_width']) -> builtins.bool:
700
+ ...
701
+
702
+ def ClearField(self, field_name: typing_extensions.Literal['angle', b'angle', 'bold', b'bold', 'font_name', b'font_name', 'horizontal_alignment', b'horizontal_alignment', 'italic', b'italic', 'keep_upright', b'keep_upright', 'line_spacing', b'line_spacing', 'mirrored', b'mirrored', 'multiline', b'multiline', 'size', b'size', 'stroke_width', b'stroke_width', 'underlined', b'underlined', 'vertical_alignment', b'vertical_alignment', 'visible', b'visible']) -> None:
703
+ ...
704
+ global___TextAttributes = TextAttributes
705
+
706
+ @typing_extensions.final
707
+ class Text(google.protobuf.message.Message):
708
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
709
+ ID_FIELD_NUMBER: builtins.int
710
+ POSITION_FIELD_NUMBER: builtins.int
711
+ ATTRIBUTES_FIELD_NUMBER: builtins.int
712
+ LOCKED_FIELD_NUMBER: builtins.int
713
+ LAYER_FIELD_NUMBER: builtins.int
714
+ TEXT_FIELD_NUMBER: builtins.int
715
+ HYPERLINK_FIELD_NUMBER: builtins.int
716
+ KNOCKOUT_FIELD_NUMBER: builtins.int
717
+
718
+ @property
719
+ def id(self) -> global___KIID:
720
+ ...
721
+
722
+ @property
723
+ def position(self) -> global___Vector2:
724
+ ...
725
+
726
+ @property
727
+ def attributes(self) -> global___TextAttributes:
728
+ ...
729
+ locked: global___LockedState.ValueType
730
+
731
+ @property
732
+ def layer(self) -> global___Layer:
733
+ ...
734
+ text: builtins.str
735
+ hyperlink: builtins.str
736
+ knockout: builtins.bool
737
+
738
+ def __init__(self, *, id: global___KIID | None=..., position: global___Vector2 | None=..., attributes: global___TextAttributes | None=..., locked: global___LockedState.ValueType=..., layer: global___Layer | None=..., text: builtins.str=..., hyperlink: builtins.str=..., knockout: builtins.bool=...) -> None:
739
+ ...
740
+
741
+ def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'id', b'id', 'layer', b'layer', 'position', b'position']) -> builtins.bool:
742
+ ...
743
+
744
+ def ClearField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'hyperlink', b'hyperlink', 'id', b'id', 'knockout', b'knockout', 'layer', b'layer', 'locked', b'locked', 'position', b'position', 'text', b'text']) -> None:
745
+ ...
746
+ global___Text = Text
747
+
748
+ @typing_extensions.final
749
+ class TextBox(google.protobuf.message.Message):
750
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
751
+ ID_FIELD_NUMBER: builtins.int
752
+ TOP_LEFT_FIELD_NUMBER: builtins.int
753
+ BOTTOM_RIGHT_FIELD_NUMBER: builtins.int
754
+ ATTRIBUTES_FIELD_NUMBER: builtins.int
755
+ LOCKED_FIELD_NUMBER: builtins.int
756
+ LAYER_FIELD_NUMBER: builtins.int
757
+ TEXT_FIELD_NUMBER: builtins.int
758
+
759
+ @property
760
+ def id(self) -> global___KIID:
761
+ ...
762
+
763
+ @property
764
+ def top_left(self) -> global___Vector2:
765
+ ...
766
+
767
+ @property
768
+ def bottom_right(self) -> global___Vector2:
769
+ ...
770
+
771
+ @property
772
+ def attributes(self) -> global___TextAttributes:
773
+ ...
774
+ locked: global___LockedState.ValueType
775
+
776
+ @property
777
+ def layer(self) -> global___Layer:
778
+ ...
779
+ text: builtins.str
780
+
781
+ def __init__(self, *, id: global___KIID | None=..., top_left: global___Vector2 | None=..., bottom_right: global___Vector2 | None=..., attributes: global___TextAttributes | None=..., locked: global___LockedState.ValueType=..., layer: global___Layer | None=..., text: builtins.str=...) -> None:
782
+ ...
783
+
784
+ def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'bottom_right', b'bottom_right', 'id', b'id', 'layer', b'layer', 'top_left', b'top_left']) -> builtins.bool:
785
+ ...
786
+
787
+ def ClearField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'bottom_right', b'bottom_right', 'id', b'id', 'layer', b'layer', 'locked', b'locked', 'text', b'text', 'top_left', b'top_left']) -> None:
788
+ ...
789
+ global___TextBox = TextBox
790
+
791
+ @typing_extensions.final
792
+ class StrokeAttributes(google.protobuf.message.Message):
793
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
794
+ WIDTH_FIELD_NUMBER: builtins.int
795
+ STYLE_FIELD_NUMBER: builtins.int
796
+ COLOR_FIELD_NUMBER: builtins.int
797
+
798
+ @property
799
+ def width(self) -> global___Distance:
800
+ ...
801
+ style: global___StrokeLineStyle.ValueType
802
+
803
+ @property
804
+ def color(self) -> global___Color:
805
+ ...
806
+
807
+ def __init__(self, *, width: global___Distance | None=..., style: global___StrokeLineStyle.ValueType=..., color: global___Color | None=...) -> None:
808
+ ...
809
+
810
+ def HasField(self, field_name: typing_extensions.Literal['color', b'color', 'width', b'width']) -> builtins.bool:
811
+ ...
812
+
813
+ def ClearField(self, field_name: typing_extensions.Literal['color', b'color', 'style', b'style', 'width', b'width']) -> None:
814
+ ...
815
+ global___StrokeAttributes = StrokeAttributes
816
+
817
+ @typing_extensions.final
818
+ class GraphicFillAttributes(google.protobuf.message.Message):
819
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
820
+ FILL_TYPE_FIELD_NUMBER: builtins.int
821
+ COLOR_FIELD_NUMBER: builtins.int
822
+ fill_type: global___GraphicFillType.ValueType
823
+
824
+ @property
825
+ def color(self) -> global___Color:
826
+ """Color of the fill (not used in board and footprints)"""
827
+
828
+ def __init__(self, *, fill_type: global___GraphicFillType.ValueType=..., color: global___Color | None=...) -> None:
829
+ ...
830
+
831
+ def HasField(self, field_name: typing_extensions.Literal['color', b'color']) -> builtins.bool:
832
+ ...
833
+
834
+ def ClearField(self, field_name: typing_extensions.Literal['color', b'color', 'fill_type', b'fill_type']) -> None:
835
+ ...
836
+ global___GraphicFillAttributes = GraphicFillAttributes
837
+
838
+ @typing_extensions.final
839
+ class GraphicAttributes(google.protobuf.message.Message):
840
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
841
+ STROKE_FIELD_NUMBER: builtins.int
842
+ FILL_FIELD_NUMBER: builtins.int
843
+
844
+ @property
845
+ def stroke(self) -> global___StrokeAttributes:
846
+ ...
847
+
848
+ @property
849
+ def fill(self) -> global___GraphicFillAttributes:
850
+ ...
851
+
852
+ def __init__(self, *, stroke: global___StrokeAttributes | None=..., fill: global___GraphicFillAttributes | None=...) -> None:
853
+ ...
854
+
855
+ def HasField(self, field_name: typing_extensions.Literal['fill', b'fill', 'stroke', b'stroke']) -> builtins.bool:
856
+ ...
857
+
858
+ def ClearField(self, field_name: typing_extensions.Literal['fill', b'fill', 'stroke', b'stroke']) -> None:
859
+ ...
860
+ global___GraphicAttributes = GraphicAttributes