Phidl

Latest version: v1.7.2

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

Scan your dependencies

Page 4 of 9

1.2.2

Bugfixes
- Fixed extremely rare bug with `write_gds()` which could potentially cause cell name collisions
- `pg.boolean()` no longer errors when passed empty geometries

1.2.1

- Maintenance update to work with `gdspy` 1.5

New features
- References, arrays and polygons can all be assigned to a Device using `D['myname'] = `

Changes
- Default precision changed to `1e-4` on boolean functions (for 1 unit = 1 micron, this corresponds to 0.1 nanometer precision)
- Added `join`, `miter` and `max_points` arguments to `pg.offset` to match the arguments with gdspy
- The `Device.label()` function is going to be move to `Device.add_label()` - both will still work for now, but when using `label()` a warning will pop up suggesting you switch to `add_label()` since it will be removed in future versions.

Bugfixes
- Maintenance update to work with `gdspy` 1.5 (specifically `pg.import_gds()` fixes)
- Allow DeviceReferences to be used with `pg.port_to_geometry()` (thanks Alex Tait atait )

1.2.0

New features
- Major optimization of `pg.boolean()`, `pg.offset()`, `pg.outline()`, and `pg.invert()`: The `num_divisions` argument can now be used to divide up the geometry into multiple rectangular regions and process each region sequentially (which is much, much more computationally efficient). If you have a large geometry that takes a long time to process, try using `num_divisions = [10,10]` to optimize the operation -- you may see speed improvements well over 100x for very large geometries (>1 million points).
- New geometry documentation with quick picture references and code examples! See [**Geometry + function documentation**](https://phidl.readthedocs.io/)

Changes
- Big update to `quickplot()`, should be faster now and not have issues with overlapping polygons generating whitespace.
- Can now use `port.center`, which is identical to `port.midpoint`


Bugfixes
- Allow labels to be correctly moved/rotated
- Fix fontsize and figure initialization of `quickplot()`
- Bugfix for 'd' shape in `pg.flagpole()`

1.1.0

New features
- New online notebook to try out PHIDL! Try now in an interactive online notebook: [Link](https://mybinder.org/v2/gh/amccaugh/phidl/master?filepath=phidl_tutorial_example.ipynb)
- Added full CellArray support, use the `D.add_array()` function (see the [tutorial](https://github.com/amccaugh/phidl/blob/master/phidl/phidl_tutorial_example.py) for more details)
- Allow plotting of `DeviceReference`s directly in `quickplot`

Changes
- Added `connector_symmetric` argument to `pg.snspd_expanded()`


Bugfixes
- Bounding box cache speed improvement

1.0.3

1.0.2

New features
- Added tutorial section for phidl.geometry library lithographic shapes (resolution tests, calipers, stars, etc)
- Added `symmetric` argument to pg.optimal_step()
- Experimental port phidl.geometry function `pg.ports_to_geometry()` and `pg.geometry_to_ports()` which converts Ports in a Device into polygon-geometry (and vice-versa) so they can be saved into the GDS file (in the style of SiEPIC). (contribution thanks to Alex Tait atait)
- Added support for `magnification` and `rotation` of `Label`s (contribution thanks to Alex Tait atait)

Changes
- Precision for boolean functions set to 1e-6 by default now
- `position` argument removed from pg.text()

Bugfixes
- Fixed rare but persistent bug affecting boolean operations (e.g. `pg.offset()`, `pg.outline()`, `pg.boolean()`, `pg.union()`) on polygons with sub-precision floating point errors. Will no longer cause jagged edges when two points are misaligned by very small amounts (e.g. when points that should be equal differ by 1e-27 due to floating point imprecision)
- Fix for `pg.import_gds()` so that items can be moved/rotated correctly after importing
- Fix for `remove_layers()` correctly preserves references now (contribution thanks to Alex Tait atait)
- Suppressed unecessary warnings

Page 4 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.