- flat routes with no more zz_conn cells - added from pp.import_gds import add_ports_from_markers_square
2.2.7
- using mirror (port) in pp.component_from_yaml - remove old, untested code to deal with libraries. Libraries should use factory - add pp.get_name_to_function_dict to build factories as dict(func_name=func) - component_from_yaml can also use (north, east, west, ne, nw ...) for placement - added regression tests for component_from_yaml
2.2.6
- added badges from github in README (codecoverage, docs ... ) - pp.import_gds can import and move cells with labels (thanks to Adam McCaughan) - add margin and min_pin_area_um2 to read_ports_from_markers - replace grating_coupler decorator with a simpler pp.assert_grating_coupler_properties() function - rename \_containers to container_names and \_components to component_names - simplify tests for components, containers and circuits
2.2.5
- added common types in pp.types - added simulation settings in name of sparameters - store Sparameters in .csv as well as in Lumerical interconnect format .dat - reduce some type errors when running mypy - fix error in u_bundle_direct_routes for a single route (thanks to tvt173) - When a component has both a placement and a connection are defined and transform over a component, we raise an error. - add Component().plot() in matplotlib and Component.show() in Klayout - clear_cache when running plot() or show(). Useful for Jupyter notebooks - add logo
2.2.4
- get_netlist() returns a dict. Removed recursive option as it is not consistent with the new netlist extractor in pp/get_netlist.py. Added name to netlist. - fixed get_netlist() placements (using origin of the reference instead of x, y which refer to the center). Now we can go back and forth from component -> netlist -> component - If there is a label at the same XY as the reference it gets the name from that label, the issue was that we need to add the labels after defining connections in component_from_yaml - ListConfig iterates as a list in \clean_value_json - test component.get_netlist() -> YAML-> pp.component_from_yaml(YAML) = component (both for settings_changed and full_settings) - add pp.testing with difftest(component) function for boolean GDS testing. - improved placer documentation and comments in pp/samples/mask/does.yml
2.2.3
- store config.yml in mask build directory (reproduce environment when building masks) - add tests for add_fiber_single and add_fiber_array labels - snap name to 1nm grid, try to name it without decimals when possible (L1p00 -> L1) - more sensitive defaults parameter names for MZI (coupler -> splitter) - sim settings outputs in YAML file - fix sparameters sorting of ports when in pp.sp.read_sparameters - pp.get_netlist() returns top level ports for a component - output parameters that change in component (c.polarization='te') in settings['info'] - fixed bug in get_settings to clean tuple settings export