🧭 Introduction¶
Overview¶
PyGerber provides a linter (diagnostic tool) for analyzing Gerber code. The linter is a tool that focuses on checking the code itself, not the design of the PCB. Therefore it includes checks for deprecated features, common deviations from Gerber standard and other Gerber focused checks, but does not contain any check that verify the quality of the PCB design, like connectivity, trace width, etc.
The Gerber linter is a tool that has limited usefulness for the average user, but can be very handy for verifying the quality of generated Gerber code, especially while working on solutions that modify or generate Gerber code, to ensure compliance with latest Gerber standard.
API¶
Gerber linter API is available in the pygerber.gerber.linter
module. Simplified
interface consists of a single function lint
that takes a Gerber AST as input and
returns a list of rule violations detected in AST.
Here is a simple example of how to use the linter:
custom_color_map.py | |
---|---|
48 DEP001 Use of deprecated G54 code.
50 GRB001 Redundant G01 command.
52 GRB001 Redundant G01 command.
54 GRB001 Redundant G01 command.
56 GRB001 Redundant G01 command.
60 GRB001 Redundant G01 command.
61 GRB001 Redundant G01 command.
62 GRB001 Redundant G01 command.
63 GRB001 Redundant G01 command.
64 GRB001 Redundant G01 command.
69 GRB001 Redundant G01 command.
70 GRB001 Redundant G01 command.
71 GRB001 Redundant G01 command.
72 GRB001 Redundant G01 command.
73 GRB001 Redundant G01 command.
80 DEP001 Use of deprecated G54 code.
81 GRB001 Redundant G01 command.
82 GRB001 Redundant G01 command.
83 GRB001 Redundant G01 command.
84 DEP001 Use of deprecated G54 code.
85 DEP001 Use of deprecated G54 code.
86 GRB001 Redundant G01 command.
87 DEP001 Use of deprecated G54 code.
88 DEP001 Use of deprecated G54 code.
89 GRB001 Redundant G01 command.
90 DEP001 Use of deprecated G54 code.
91 DEP001 Use of deprecated G54 code.
92 GRB001 Redundant G01 command.
93 DEP001 Use of deprecated G54 code.
94 DEP001 Use of deprecated G54 code.
95 GRB001 Redundant G01 command.
96 GRB001 Redundant G01 command.
97 GRB001 Redundant G01 command.
98 GRB001 Redundant G01 command.
99 GRB001 Redundant G01 command.
100 DEP001 Use of deprecated G54 code.
101 DEP001 Use of deprecated G54 code.
102 GRB001 Redundant G01 command.
103 GRB001 Redundant G01 command.
104 GRB001 Redundant G01 command.
105 GRB001 Redundant G01 command.
106 GRB001 Redundant G01 command.
107 DEP001 Use of deprecated G54 code.
108 DEP001 Use of deprecated G54 code.
109 GRB001 Redundant G01 command.
110 DEP001 Use of deprecated G54 code.
111 DEP001 Use of deprecated G54 code.
112 GRB001 Redundant G01 command.
113 GRB001 Redundant G01 command.
114 DEP001 Use of deprecated G54 code.
115 DEP001 Use of deprecated G54 code.
116 GRB001 Redundant G01 command.
117 DEP001 Use of deprecated G54 code.
118 DEP001 Use of deprecated G54 code.
119 GRB001 Redundant G01 command.
120 DEP001 Use of deprecated G54 code.
121 GRB001 Redundant G01 command.
122 GRB001 Redundant G01 command.
123 GRB001 Redundant G01 command.
124 GRB001 Redundant G01 command.
125 GRB001 Redundant G01 command.
126 GRB001 Redundant G01 command.
127 GRB001 Redundant G01 command.
128 GRB001 Redundant G01 command.
129 DEP001 Use of deprecated G54 code.
130 GRB001 Redundant G01 command.
131 GRB001 Redundant G01 command.
132 GRB001 Redundant G01 command.
133 DEP001 Use of deprecated G54 code.
134 DEP001 Use of deprecated G54 code.
135 GRB001 Redundant G01 command.
136 DEP001 Use of deprecated G54 code.
137 DEP001 Use of deprecated G54 code.
138 GRB001 Redundant G01 command.
139 DEP001 Use of deprecated G54 code.
140 DEP001 Use of deprecated G54 code.
141 GRB001 Redundant G01 command.
142 GRB001 Redundant G01 command.
143 DEP001 Use of deprecated G54 code.
144 DEP001 Use of deprecated G54 code.
145 GRB001 Redundant G01 command.
146 GRB001 Redundant G01 command.
147 DEP001 Use of deprecated G54 code.
148 DEP001 Use of deprecated G54 code.
149 GRB001 Redundant G01 command.
150 DEP001 Use of deprecated G54 code.
151 DEP001 Use of deprecated G54 code.
152 GRB001 Redundant G01 command.
154 DEP001 Use of deprecated G54 code.
155 GRB001 Redundant G01 command.
156 GRB001 Redundant G01 command.
157 GRB001 Redundant G01 command.
158 GRB001 Redundant G01 command.
159 GRB001 Redundant G01 command.
160 GRB001 Redundant G01 command.
161 GRB001 Redundant G01 command.
162 GRB001 Redundant G01 command.
163 DEP001 Use of deprecated G54 code.
164 GRB001 Redundant G01 command.
165 GRB001 Redundant G01 command.
166 GRB001 Redundant G01 command.
167 GRB001 Redundant G01 command.
168 GRB001 Redundant G01 command.
169 GRB001 Redundant G01 command.
170 GRB001 Redundant G01 command.
171 GRB001 Redundant G01 command.
172 GRB001 Redundant G01 command.
173 GRB001 Redundant G01 command.
174 GRB001 Redundant G01 command.
175 GRB001 Redundant G01 command.
176 GRB001 Redundant G01 command.
177 GRB001 Redundant G01 command.
178 GRB001 Redundant G01 command.
179 GRB001 Redundant G01 command.
180 GRB001 Redundant G01 command.
181 GRB001 Redundant G01 command.
182 GRB001 Redundant G01 command.
183 GRB001 Redundant G01 command.
184 GRB001 Redundant G01 command.
185 GRB001 Redundant G01 command.
186 GRB001 Redundant G01 command.
187 GRB001 Redundant G01 command.
188 GRB001 Redundant G01 command.
189 GRB001 Redundant G01 command.
190 GRB001 Redundant G01 command.
191 GRB001 Redundant G01 command.
192 GRB001 Redundant G01 command.
193 GRB001 Redundant G01 command.
194 GRB001 Redundant G01 command.
195 GRB001 Redundant G01 command.
196 GRB001 Redundant G01 command.
197 GRB001 Redundant G01 command.
198 GRB001 Redundant G01 command.
199 GRB001 Redundant G01 command.
200 GRB001 Redundant G01 command.
201 GRB001 Redundant G01 command.
202 GRB001 Redundant G01 command.
203 GRB001 Redundant G01 command.
204 GRB001 Redundant G01 command.
205 GRB001 Redundant G01 command.
206 GRB001 Redundant G01 command.
207 GRB001 Redundant G01 command.
208 GRB001 Redundant G01 command.
209 GRB001 Redundant G01 command.
210 GRB001 Redundant G01 command.
211 GRB001 Redundant G01 command.
212 GRB001 Redundant G01 command.
213 GRB001 Redundant G01 command.
214 GRB001 Redundant G01 command.
215 GRB001 Redundant G01 command.
216 GRB001 Redundant G01 command.
217 GRB001 Redundant G01 command.
218 GRB001 Redundant G01 command.
219 GRB001 Redundant G01 command.
220 GRB001 Redundant G01 command.
221 GRB001 Redundant G01 command.
222 GRB001 Redundant G01 command.
223 GRB001 Redundant G01 command.
224 GRB001 Redundant G01 command.
225 GRB001 Redundant G01 command.
226 GRB001 Redundant G01 command.
227 GRB001 Redundant G01 command.
228 DEP001 Use of deprecated G54 code.
229 GRB001 Redundant G01 command.
230 GRB001 Redundant G01 command.
231 GRB001 Redundant G01 command.
232 GRB001 Redundant G01 command.
233 GRB001 Redundant G01 command.
234 GRB001 Redundant G01 command.
235 GRB001 Redundant G01 command.
236 GRB001 Redundant G01 command.
237 GRB001 Redundant G01 command.
238 GRB001 Redundant G01 command.
239 GRB001 Redundant G01 command.
240 GRB001 Redundant G01 command.
241 GRB001 Redundant G01 command.
242 GRB001 Redundant G01 command.
243 GRB001 Redundant G01 command.
244 GRB001 Redundant G01 command.
245 GRB001 Redundant G01 command.
246 GRB001 Redundant G01 command.
247 GRB001 Redundant G01 command.
248 GRB001 Redundant G01 command.
249 GRB001 Redundant G01 command.
250 GRB001 Redundant G01 command.
251 GRB001 Redundant G01 command.
252 GRB001 Redundant G01 command.
253 DEP001 Use of deprecated G54 code.
254 DEP001 Use of deprecated G54 code.
255 GRB001 Redundant G01 command.
256 GRB001 Redundant G01 command.
257 GRB001 Redundant G01 command.
258 GRB001 Redundant G01 command.
259 GRB001 Redundant G01 command.
260 GRB001 Redundant G01 command.
261 GRB001 Redundant G01 command.
262 GRB001 Redundant G01 command.
263 GRB001 Redundant G01 command.
264 GRB001 Redundant G01 command.
265 GRB001 Redundant G01 command.
266 GRB001 Redundant G01 command.
267 GRB001 Redundant G01 command.
268 GRB001 Redundant G01 command.
269 DEP001 Use of deprecated G54 code.
270 DEP001 Use of deprecated G54 code.
271 GRB001 Redundant G01 command.
272 GRB001 Redundant G01 command.
273 GRB001 Redundant G01 command.
274 GRB001 Redundant G01 command.
275 GRB001 Redundant G01 command.
276 GRB001 Redundant G01 command.
277 GRB001 Redundant G01 command.
278 GRB001 Redundant G01 command.
279 GRB001 Redundant G01 command.
280 GRB001 Redundant G01 command.
281 GRB001 Redundant G01 command.
282 GRB001 Redundant G01 command.
283 GRB001 Redundant G01 command.
284 GRB001 Redundant G01 command.
285 GRB001 Redundant G01 command.
286 GRB001 Redundant G01 command.
287 GRB001 Redundant G01 command.
288 GRB001 Redundant G01 command.
289 GRB001 Redundant G01 command.
290 GRB001 Redundant G01 command.
291 GRB001 Redundant G01 command.
292 GRB001 Redundant G01 command.
293 GRB001 Redundant G01 command.
294 GRB001 Redundant G01 command.
295 GRB001 Redundant G01 command.
296 GRB001 Redundant G01 command.
297 GRB001 Redundant G01 command.
298 GRB001 Redundant G01 command.
299 GRB001 Redundant G01 command.
300 GRB001 Redundant G01 command.
301 GRB001 Redundant G01 command.
302 GRB001 Redundant G01 command.
303 GRB001 Redundant G01 command.
304 GRB001 Redundant G01 command.
305 GRB001 Redundant G01 command.
306 GRB001 Redundant G01 command.
307 GRB001 Redundant G01 command.
308 GRB001 Redundant G01 command.
309 GRB001 Redundant G01 command.
310 GRB001 Redundant G01 command.
317 DEP001 Use of deprecated G54 code.
318 GRB001 Redundant G01 command.
319 GRB001 Redundant G01 command.
320 GRB001 Redundant G01 command.
321 GRB001 Redundant G01 command.
322 GRB001 Redundant G01 command.
324 DEP001 Use of deprecated G54 code.
325 GRB001 Redundant G01 command.
326 GRB001 Redundant G01 command.
328 DEP001 Use of deprecated G54 code.
329 GRB001 Redundant G01 command.
330 GRB001 Redundant G01 command.
332 DEP001 Use of deprecated G54 code.
333 GRB001 Redundant G01 command.
334 GRB001 Redundant G01 command.
335 GRB001 Redundant G01 command.
336 GRB001 Redundant G01 command.
337 GRB001 Redundant G01 command.
338 GRB001 Redundant G01 command.
339 GRB001 Redundant G01 command.
340 GRB001 Redundant G01 command.
341 GRB001 Redundant G01 command.
342 GRB001 Redundant G01 command.
343 GRB001 Redundant G01 command.
344 GRB001 Redundant G01 command.
345 GRB001 Redundant G01 command.
346 GRB001 Redundant G01 command.
347 GRB001 Redundant G01 command.
348 GRB001 Redundant G01 command.
350 DEP001 Use of deprecated G54 code.
351 GRB001 Redundant G01 command.
352 GRB001 Redundant G01 command.
354 GRB001 Redundant G01 command.
355 GRB001 Redundant G01 command.
357 GRB001 Redundant G01 command.
358 GRB001 Redundant G01 command.
360 GRB001 Redundant G01 command.
361 GRB001 Redundant G01 command.
363 DEP001 Use of deprecated G54 code.
364 GRB001 Redundant G01 command.
365 GRB001 Redundant G01 command.
367 GRB001 Redundant G01 command.
368 GRB001 Redundant G01 command.
370 GRB001 Redundant G01 command.
371 GRB001 Redundant G01 command.
373 GRB001 Redundant G01 command.
374 GRB001 Redundant G01 command.
376 DEP001 Use of deprecated G54 code.
377 GRB001 Redundant G01 command.
378 GRB001 Redundant G01 command.
379 GRB001 Redundant G01 command.
380 GRB001 Redundant G01 command.
381 GRB001 Redundant G01 command.
383 DEP001 Use of deprecated G54 code.
384 GRB001 Redundant G01 command.
385 GRB001 Redundant G01 command.
387 DEP001 Use of deprecated G54 code.
388 GRB001 Redundant G01 command.
389 GRB001 Redundant G01 command.
391 DEP001 Use of deprecated G54 code.
392 GRB001 Redundant G01 command.
393 GRB001 Redundant G01 command.
394 GRB001 Redundant G01 command.
396 GRB001 Redundant G01 command.
397 GRB001 Redundant G01 command.
398 GRB001 Redundant G01 command.
400 GRB001 Redundant G01 command.
401 GRB001 Redundant G01 command.
402 GRB001 Redundant G01 command.
403 GRB001 Redundant G01 command.
406 DEP001 Use of deprecated G54 code.
407 GRB001 Redundant G01 command.
408 GRB001 Redundant G01 command.
409 GRB001 Redundant G01 command.
410 GRB001 Redundant G01 command.
411 GRB001 Redundant G01 command.
412 GRB001 Redundant G01 command.
413 GRB001 Redundant G01 command.
414 GRB001 Redundant G01 command.
415 DEP001 Use of deprecated G54 code.
416 GRB001 Redundant G01 command.
417 GRB001 Redundant G01 command.
418 GRB001 Redundant G01 command.
419 GRB001 Redundant G01 command.
420 GRB001 Redundant G01 command.
421 GRB001 Redundant G01 command.
422 GRB001 Redundant G01 command.
423 GRB001 Redundant G01 command.
424 GRB001 Redundant G01 command.
425 GRB001 Redundant G01 command.
426 GRB001 Redundant G01 command.
427 GRB001 Redundant G01 command.
428 GRB001 Redundant G01 command.
429 GRB001 Redundant G01 command.
430 GRB001 Redundant G01 command.
431 GRB001 Redundant G01 command.
432 GRB001 Redundant G01 command.
433 GRB001 Redundant G01 command.
434 GRB001 Redundant G01 command.
435 GRB001 Redundant G01 command.
436 GRB001 Redundant G01 command.
437 GRB001 Redundant G01 command.
438 GRB001 Redundant G01 command.
439 GRB001 Redundant G01 command.
440 GRB001 Redundant G01 command.
441 GRB001 Redundant G01 command.
442 GRB001 Redundant G01 command.
443 GRB001 Redundant G01 command.
444 GRB001 Redundant G01 command.
445 GRB001 Redundant G01 command.
446 GRB001 Redundant G01 command.
447 GRB001 Redundant G01 command.
448 GRB001 Redundant G01 command.
449 GRB001 Redundant G01 command.
450 GRB001 Redundant G01 command.
451 GRB001 Redundant G01 command.
452 GRB001 Redundant G01 command.
453 GRB001 Redundant G01 command.
454 GRB001 Redundant G01 command.
455 GRB001 Redundant G01 command.
456 GRB001 Redundant G01 command.
457 GRB001 Redundant G01 command.
458 GRB001 Redundant G01 command.
459 GRB001 Redundant G01 command.
460 GRB001 Redundant G01 command.
461 GRB001 Redundant G01 command.
462 GRB001 Redundant G01 command.
463 GRB001 Redundant G01 command.
464 GRB001 Redundant G01 command.
465 GRB001 Redundant G01 command.
466 GRB001 Redundant G01 command.
467 GRB001 Redundant G01 command.
468 GRB001 Redundant G01 command.
469 GRB001 Redundant G01 command.
470 GRB001 Redundant G01 command.
471 GRB001 Redundant G01 command.
472 GRB001 Redundant G01 command.
473 GRB001 Redundant G01 command.
474 GRB001 Redundant G01 command.
475 GRB001 Redundant G01 command.
476 GRB001 Redundant G01 command.
477 GRB001 Redundant G01 command.
478 GRB001 Redundant G01 command.
479 GRB001 Redundant G01 command.
480 DEP001 Use of deprecated G54 code.
481 GRB001 Redundant G01 command.
482 GRB001 Redundant G01 command.
483 GRB001 Redundant G01 command.
484 GRB001 Redundant G01 command.
485 GRB001 Redundant G01 command.
486 GRB001 Redundant G01 command.
487 GRB001 Redundant G01 command.
488 GRB001 Redundant G01 command.
489 GRB001 Redundant G01 command.
490 GRB001 Redundant G01 command.
491 GRB001 Redundant G01 command.
492 GRB001 Redundant G01 command.
493 GRB001 Redundant G01 command.
494 GRB001 Redundant G01 command.
495 GRB001 Redundant G01 command.
496 GRB001 Redundant G01 command.
497 GRB001 Redundant G01 command.
498 GRB001 Redundant G01 command.
499 GRB001 Redundant G01 command.
500 GRB001 Redundant G01 command.
501 GRB001 Redundant G01 command.
502 GRB001 Redundant G01 command.
503 GRB001 Redundant G01 command.
504 GRB001 Redundant G01 command.
505 DEP001 Use of deprecated G54 code.
506 GRB001 Redundant G01 command.
507 GRB001 Redundant G01 command.
508 GRB001 Redundant G01 command.
509 GRB001 Redundant G01 command.
510 GRB001 Redundant G01 command.
511 GRB001 Redundant G01 command.
512 GRB001 Redundant G01 command.
513 GRB001 Redundant G01 command.
514 GRB001 Redundant G01 command.
515 GRB001 Redundant G01 command.
516 GRB001 Redundant G01 command.
517 GRB001 Redundant G01 command.
518 GRB001 Redundant G01 command.
519 GRB001 Redundant G01 command.
520 GRB001 Redundant G01 command.
521 GRB001 Redundant G01 command.
522 GRB001 Redundant G01 command.
523 GRB001 Redundant G01 command.
524 GRB001 Redundant G01 command.
525 GRB001 Redundant G01 command.
526 GRB001 Redundant G01 command.
527 GRB001 Redundant G01 command.
528 GRB001 Redundant G01 command.
529 GRB001 Redundant G01 command.
530 GRB001 Redundant G01 command.
531 GRB001 Redundant G01 command.
532 GRB001 Redundant G01 command.
533 GRB001 Redundant G01 command.
534 GRB001 Redundant G01 command.
535 GRB001 Redundant G01 command.
536 GRB001 Redundant G01 command.
537 GRB001 Redundant G01 command.
538 GRB001 Redundant G01 command.
539 GRB001 Redundant G01 command.
540 DEP001 Use of deprecated G54 code.
541 GRB001 Redundant G01 command.
542 GRB001 Redundant G01 command.
543 GRB001 Redundant G01 command.
544 GRB001 Redundant G01 command.
545 GRB001 Redundant G01 command.
546 GRB001 Redundant G01 command.
547 GRB001 Redundant G01 command.
548 GRB001 Redundant G01 command.
549 GRB001 Redundant G01 command.
550 GRB001 Redundant G01 command.
551 GRB001 Redundant G01 command.
552 GRB001 Redundant G01 command.
553 GRB001 Redundant G01 command.
554 GRB001 Redundant G01 command.
555 DEP001 Use of deprecated G54 code.
556 GRB001 Redundant G01 command.
557 GRB001 Redundant G01 command.
558 GRB001 Redundant G01 command.
559 GRB001 Redundant G01 command.
560 GRB001 Redundant G01 command.
561 GRB001 Redundant G01 command.
562 GRB001 Redundant G01 command.
563 GRB001 Redundant G01 command.
564 GRB001 Redundant G01 command.
565 GRB001 Redundant G01 command.
566 GRB001 Redundant G01 command.
567 GRB001 Redundant G01 command.
568 GRB001 Redundant G01 command.
569 GRB001 Redundant G01 command.
570 GRB001 Redundant G01 command.
571 GRB001 Redundant G01 command.
572 GRB001 Redundant G01 command.
573 GRB001 Redundant G01 command.
574 GRB001 Redundant G01 command.
575 GRB001 Redundant G01 command.
576 GRB001 Redundant G01 command.
577 GRB001 Redundant G01 command.
578 GRB001 Redundant G01 command.
579 GRB001 Redundant G01 command.
580 GRB001 Redundant G01 command.
581 GRB001 Redundant G01 command.
582 GRB001 Redundant G01 command.
583 GRB001 Redundant G01 command.
584 GRB001 Redundant G01 command.
585 GRB001 Redundant G01 command.
586 GRB001 Redundant G01 command.
587 GRB001 Redundant G01 command.
588 GRB001 Redundant G01 command.
589 GRB001 Redundant G01 command.
590 GRB001 Redundant G01 command.
591 GRB001 Redundant G01 command.
592 GRB001 Redundant G01 command.
593 GRB001 Redundant G01 command.
594 GRB001 Redundant G01 command.
595 GRB001 Redundant G01 command.
596 GRB001 Redundant G01 command.
597 GRB001 Redundant G01 command.
598 DEP001 Use of deprecated G54 code.
599 GRB001 Redundant G01 command.
600 GRB001 Redundant G01 command.
601 GRB001 Redundant G01 command.
602 GRB001 Redundant G01 command.
603 GRB001 Redundant G01 command.
604 GRB001 Redundant G01 command.
605 GRB001 Redundant G01 command.
606 GRB001 Redundant G01 command.
607 GRB001 Redundant G01 command.
608 GRB001 Redundant G01 command.
609 GRB001 Redundant G01 command.
610 GRB001 Redundant G01 command.
611 GRB001 Redundant G01 command.
612 GRB001 Redundant G01 command.
613 GRB001 Redundant G01 command.
614 GRB001 Redundant G01 command.
615 GRB001 Redundant G01 command.
616 GRB001 Redundant G01 command.
617 GRB001 Redundant G01 command.
618 GRB001 Redundant G01 command.
619 GRB001 Redundant G01 command.
620 GRB001 Redundant G01 command.
621 GRB001 Redundant G01 command.
622 GRB001 Redundant G01 command.
623 GRB001 Redundant G01 command.
624 GRB001 Redundant G01 command.
625 GRB001 Redundant G01 command.
626 GRB001 Redundant G01 command.
627 GRB001 Redundant G01 command.
628 GRB001 Redundant G01 command.
629 GRB001 Redundant G01 command.
630 GRB001 Redundant G01 command.
631 GRB001 Redundant G01 command.
632 GRB001 Redundant G01 command.
633 GRB001 Redundant G01 command.
634 GRB001 Redundant G01 command.
635 GRB001 Redundant G01 command.
636 GRB001 Redundant G01 command.
637 GRB001 Redundant G01 command.
638 GRB001 Redundant G01 command.
645 DEP001 Use of deprecated G54 code.
646 GRB001 Redundant G01 command.
647 GRB001 Redundant G01 command.
648 GRB001 Redundant G01 command.
649 GRB001 Redundant G01 command.
650 GRB001 Redundant G01 command.
663 GRB001 Redundant G01 command.
664 GRB001 Redundant G01 command.
665 GRB001 Redundant G01 command.
666 GRB001 Redundant G01 command.
667 GRB001 Redundant G01 command.
671 GRB001 Redundant G01 command.
672 GRB001 Redundant G01 command.
673 GRB001 Redundant G01 command.
675 GRB001 Redundant G01 command.
676 GRB001 Redundant G01 command.
677 GRB001 Redundant G01 command.
679 GRB001 Redundant G01 command.
680 GRB001 Redundant G01 command.
681 GRB001 Redundant G01 command.
682 GRB001 Redundant G01 command.