Pygerber

Latest version: v2.4.3

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

3.0.0b1

- Changed `pygerber.gerber.ast.nodes.aperture.AM_open` to
`pygerber.gerber.ast.nodes.aperture.AMopen` for consistency.
- Changed `pygerber.gerber.ast.nodes.aperture.AM_close` to
`pygerber.gerber.ast.nodes.aperture.AMclose` for consistency.
- Changed `pygerber.gerber.ast.nodes.aperture.AB_open` to
`pygerber.gerber.ast.nodes.aperture.ABopen` for consistency.
- Changed `pygerber.gerber.ast.nodes.aperture.AB_close` to
`pygerber.gerber.ast.nodes.aperture.ABclose` for consistency.
- Changed order of box and origin parameters in `create_eager_layer` and
`create_deferred_layer` for consistency.
- Moved `CoordinateX`, `CoordinateY`, `CoordinateI` and `CoordinateJ` to separate
modules.
- Added `pygerber.gerber.lint` package containing linting tools for Gerber files.
- Added `pygerber gerber lint` command to CLI for linting Gerber files.
- Changed how empty images are handled in `VirtualMachine`, they no longer throw an
exception by default. This can be changed by passing
`fail_on_empty_auto_sized_layer=True` to `VirtualMachine` constructor.

3.0.0a4

- Relaxed `pyparsing` dependency requirements to allow for use of `3.2` and above for
supported Python versions.
- Relaxed `numpy` dependency requirements to allow for use of `2.x` and above for
supported Python versions.
- Relaxed `pydantic` dependency requirements to allow for use of `2.x` and above for
supported Python versions.
- Relaxed `pillow` dependency requirements to allow for use of `8.x` and above for
supported Python versions.
- Relaxed `click` dependency requirements to allow for use of `8.x` and above for
supported Python versions.
- Relaxed Python version requirement to allow for use of `3.8` and above.
- Removed `pygerber.sequence_tools` module.
- Removed `pygerber.frozen_general_model` module.
- Removed `pygerber.gerber.linter.diagnostic` module.
- Removed `pygerber.warnings` module.
- Updated documentation links to point to stable release documentation.
- Renamed `GerberX3Builder.add_trace()` to `GerberX3Builder.add_line_trace()` to be
consistent with `GerberX3Builder.add_clockwise_arc_trace()` and
`GerberX3Builder.add_counter_clockwise_arc_trace()`.
- Added support for Altium implied leading zeros omitted. Contributed by sjgallagher2
in 340.
- Added arc drawing in `GerberX3Builder`.
- Added region statement generation to `GerberX3Builder`.
- Added Gerber to PNG, JPEG, TIFF, BMP, WEBP and SVG conversion commands to CLI.
- Added Gerber format command to CLI.
- Extended documentation.

3.0.0a3

- Removed legacy error types from `pygerber.gerber.api._errors`.
- Removed `pygerber.common.general_model` module.
- Removed `pygerber.common.immutable_map_model` module.
- Removed `pygerber.common.rgba` module.
- Rename `Project` class from `pygerber.gerber.api` to `CompositeView`.
- Changed `source_code` and `file_type` attributes of `GerberFile` to be read-only.
- Changed return type of `CompositeView.render_with_pillow` to `CompositePillowImage`.
Interface of `CompositePillowImage` is the same as previously `CompositeView`.
- Changed miniatures displayed by language server to be fixed size due to repeating
problems with apertures being too small or too large.
- Added custom `__str__` to `CompositeView` and `GerberFile` classes.
- Added `GerberJobFile` class for handling `.gbrjob` files.
- Added `Project` class for grouping multiple `CompositeView` objects.
- Added documentation for `GerberJobFile` and `Project` classes.
- Added `pygerber.vm.shapely` package containing implementation of Gerber vm (renderer)
using shapely library.
- Added `render_with_shapely` to `GerberFile` class.
- Updated `Quick start` guide.
- Updated many of docstrings in `pygerber.gerber.api` package.
- Restored `pygerber_language_server` command.

3.0.0a2

- Removed `Parser2` and related infrastructure. It was already replaced by `Parser` in
previous release, but I didn't have time to make sure all of dependencies were gone.
- Removed most of the old documentation.
- Moved `pygerber.gerberx3` to `pygerber.gerber`. I acknowledge this is a breaking
change, but using `gerberx3` as a package name when it in fact contained code mostly
compatible with more than just X3 was misleading.
- Moved `pygerber.gerber.ast.builder` to `pygerber.builder.gerber`.
- Moved `pygerber.vm.builder` to `pygerber.builder.rvmc`.
- Added new documentation layout.
- Added documentation for `GerberX3Builder` from `pygerber.builder.gerber` module.
- Added `Quick start` guide to documentation.
- Added `pygerber.gerber.pygments`, a Pygments lexer for Gerber files. To use it you
have to install `pygments` extras package (or just have pygments installed from other
source).
- Added support for deprecated syntax construct of `D01` with code omitted.
- Changed `pygerber.gerber.formatter` API and structure. Formatter options are no longer
directly passed to `Formatter` class, they are stored in dedicated `Options` class.
- Added 2 high level formatter API functions available in `pygerber.gerber.formatter`:
`format`, `formats`.
- Improved docstrings in `pygerber.builder.gerber`
- Improved `pygerber.gerber.formatter` docstrings, especially ones related to formatter
options.
- Changed `pygerber.gerber.api` to use `pygerber.builder.gerber`. This is a major change
in how this API works. I am planning to create some guide on how to migrate code from
PyGerber 2.4.x to 3.x.x, there is placeholder docs page for that.
- Deleted implementation of command line interface. Unfortunately, command line
interface is not functional right now.

3.0.0a1

- Fixed README headers.

3.0.0a0

- Added `pygerber.gerberx3.formatter` for formatting Gerber files.
- Added `GerberX3Builder` class for building Gerber code from scratch.
- Redesigned PyGerber Parser implementation and AST classes.
- Added intermediate step between parsing and rendering done by
`pygerber.gerberx3.compiler`.
- Redesigned rendering principles, now implemented in `pygerber.vm`, supports only
rendering raster images with Pillow. SVG rendering is planned to be included in 3.0.0
release.
- Ported language server to new parser.

Page 1 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.