Phidl

Latest version: v1.7.2

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

Scan your dependencies

Page 2 of 9

1.6.1

New features
- Re-added `Device.get_info()` that gathers the Device.info dictionaries from every sub-Device and returns them in a list. Useful for collecting information about every Device in a layout
- Updated documentation

Changes
- Deprecated Python 2
- Removal of 1023-character limit for labels (will only show warning instead now)
- Deprecated `reflect()` has been fully removed, use `mirror()` instead

Bugfixes
- Much code sanitization under the hood (thanks Bas Nijholt basnijholt)
- `Device.absorb()` now preserves labels from the parent component (thanks Joaquin Matres joamatab)
- Fixed extrusion error of `pp.spiral()` caused by overlapping points
- Bugfix for `pg.optimal_step()`, now works correctly when `start_width == end_width`
- Fixed naming of some previously-unnamed geometries
- Future-proofing for upcoming Numpy changes
- Bugfix for `CrossSection.extrude()` since cross_section parameter renamed to `width`

1.6.0

New features
- Huge new routing rewrite for `phidl.routing`, including automatic manhattan routing with custom cross-sections! See [the routing documentation](https://phidl.readthedocs.io/en/latest/tutorials/routing.html) for details. Big thanks to Jeffrey Holzgrafe jolzgrafe for this contribution
- `Path`s can now be used to produce sharp angles, in addition to smooth bends. See [the Path documentation](https://phidl.readthedocs.io/en/latest/tutorials/waveguides.html#Sharp/angular-paths)

Changes
- The `Path()` constructor no longer forces the path to start at (0,0)

Bugfixes
- Interactive zoom for `quickplot()` is now disabled by default in Jupyter-type notebooks to avoid strange scrolling behavior. This can be manually changed using `set_quickplot_options(interactive_zoom = True)`

1.5.2

- Hotfix to guarantee Python 2 compatibility

1.5.1

New features
- New `pg.gridsweep()` function, allowing for easy creation of parameter sweeps on a grid. See [the documentation](https://phidl.readthedocs.io/en/latest/geometry_reference.html#Gridsweep) for details.

![phidl example image](https://phidl.readthedocs.io/en/dev/_images/geometry_reference_36_0.png)

- New [tutorial on layers](https://phidl.readthedocs.io/en/latest/tutorials/layers.html)
- Can now define layer to be `None` to prevent creation of polygons
- Added `pg.litho_ruler()` for creation of lithographic rulers/measurement

Bugfixes
- pg.grid() bugfix: `shape` now in format (x,y), and array size correctly calculated when making `shape` e.g. (4,-1)

1.5.0

New features
- Better interactive windows for `quickplot()`! Now you can use the mousewheel/trackpad scroll to zoom in and out, and right-click or left-click to zoom to a region.
- Added `blocking` option for `quickplot()` (thanks giumc)

Changes
- Quickplot options (such as displaying ports, subports, or aliases) are now set using `set_quickplot_options()`

Bugfixes
- Fix for Path function `smooth()`, which broke when sequential waypoints were co-linear (thanks giumc)
- Fix for non-C-continguous arrays in `hash_geometry()` (thanks Joaquin Matres joamatab)


Bugfixes

1.4.4

Bugfix release

Bugfixes
- Allow labels imported through `import_gds()` to be moved (thanks Joaquin Matres joamatab)
- Fix to Path.smooth() to prevent right-angle turns from accidentally having an additional +180 degrees applied to them (thanks Jeffrey Holzgrafe jolzgrafe)

Page 2 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.