Releases: amccaugh/phidl
Releases · amccaugh/phidl
PHIDL 1.5.0
1.5.0 (April 19, 2021)
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
blockingoption forquickplot()(thanks @giumc)
Changes
- Quickplot options (such as displaying ports, subports, or aliases) are now set using
set_quickplot_options()
Bugfixes
PHIDL 1.4.4
1.4.4 (Feb 23, 2021)
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)
PHIDL 1.4.3
1.4.3 (Dec 11, 2020)
New features
- Added
open_portsargument topg.outline, which allows you to cut holes in the outline at Port locations on a Device. See the outline reference here (thanks to Owen Medeiros @omedeiro)
- Easier-to-read quickstart tutorial
- Added
num_squarestoinfodictionary ofpg.optimal_step(thanks Ekkehart Schmidt)
Bugfixes
- Fixed bug in
pp.smooth()that forced paths to start out traveling to the right (orientation = 0 degrees) (thanks to Sebastian Pauka @spauka)
PHIDL 1.4.2
1.4.2 (Oct 7, 2020)
Bugfix release
Bugfixes
- Fix for Device xmin/xmax/ymin/ymax property assignment (e.g.
D.xmin = 30) causing incorrect movement of references and labels
PHIDL 1.4.1
1.4.1 (Oct 6, 2020)
New features
- Added font support to
pg.text()- Now you can use built-in fonts or specify a .TTF/.OTF font, including full unicode support (thanks to Sebastian Pauka @spauka). See the geometry reference library here - Added new
smooth()function that allows you to construct a smooth path by defining waypoints. The corners are smoothed either with the circularpp.arc()function or the adiabatic straight-to-bendpp.euler()function. See the path/waveguide tutorial here
- Added
route_turn_manhattan()function for more flexible manhattan routing (thanks to @mr-roger-a)
Changes
- Fix to start/end angles for
pp.spiral() - Style consistency fix for
pp.arc()when angle negative
Bugfixes
PHIDL 1.4.0
1.4.0 (Sept 14, 2020)
Huge update with lots of quality-of-life improvements.
New features
- New path / waveguide module featuring intuitive and fast path building, sub-millisecond polygon generation, and modular cross-sections (thanks to Alex Tait @atait, Dylan Oh @dmwo, Samuel Gyger @gyger, and Florian Vogelbacher).
- Now you can easily
Groupobjects for easier manipulation. See the Group tutorial here - Significantly extended documentation, including new tutorials, geometry library description with images, and API / function reference. See https://phidl.readthedocs.io/
- Docstrings added for all functions
- Addition of
pg.grid()a grid-placement function for creating 2D arrays of devices (thanks to Samuel Gyger @gyger)
Changes
filenameargument inwrite_gds()can now acceptpathlibor file buffer (thanks to Samuel Gyger @gyger)
Bugfixes
- int-casting fix in
routing(thanks to Samuel Gyger @gyger) - Fix for
pg.optimal_step()ifstart_width==end_widthandsymmetric==True(thanks to Ekkehart Schmidt) - Fix capitalization errors of color names in
Layer(thanks to Jeff Shainline) - Fix to
@endpoints.setter
PHIDL 1.3.0
1.3.0 (May 5, 2020)
New features
- Now introducing the automatic
pg.packer()geometry-packing tool:
- New documentation for
pg.packer(),align(), anddistribute(). See Geometry + function documentation
Changes
- Configurable toplevel
cellnameargument inwrite_gds() - Change to the arguments available in
distribute(). See the Geometry + function documentation - Rename
reflect()tomirror(). Note thatreflect()will continue to work until May 2021 so as not to break any existing code
Bugfixes
- Int-casting compatibility fix with latest numpy (thanks @gyger)
- Bugfix to
pg.basic_die()for non-square die (thanks @jonnyfountain) - Fixed harmless but annoying warning if PyQt was not installed
- Small under-the-hood optimizations
PHIDL 1.2.2
1.2.2 (January 17, 2020)
Minor bugfixes
Bugfixes
- Fixed rare bug with
pg.import_gds()causing cell name collisions pg.boolean()no longer errors when passed empty geometries
PHIDL 1.2.1
- Maintenance update to work with
gdspy1.5
New features
- References, arrays and polygons can all be assigned to a Device using
D['myalias'] = mypolygon, then later accessed usingD['myalias']
Changes
- Default precision changed to
1e-4on boolean functions (for 1 unit = 1 micron, this corresponds to 0.1 nanometer precision) - Added
join,miterandmax_pointsarguments topg.offsetto match the arguments with gdspy - The
Device.label()function is going to be move toDevice.add_label()- both will still work for now, but when usinglabel()a warning will pop up suggesting you switch toadd_label()since it will be removed in future versions.
Bugfixes
- Maintenance update to work with
gdspy1.5 (specificallypg.import_gds()fixes) - Allow DeviceReferences to be used with
pg.port_to_geometry()(thanks Alex Tait @atait )
PHIDL 1.2.0
PHIDL 1.2.0 (December 1, 2019)
New features
- Major optimization of
pg.boolean(),pg.offset(),pg.outline(), andpg.invert(): Thenum_divisionsargument 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 usingnum_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
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 toport.midpoint
Bugfixes
- Allow labels to be correctly moved/rotated
- Fix fontsize and figure initialization of
quickplot() - Bugfix for 'd' shape in
pg.flagpole()



