v0.21.11 - 2024-11-19
What's Changed
Bug Fixes
- Remove loguru catch #520
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.10...v0.21.11
v0.21.10 - 2024-11-19
What's Changed
Bug Fixes
- clean the name in kf show #519
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.8...v0.21.10
v0.21.8 - 2024-11-18
What's Changed
New
- Add Instance.purpose #514
Bug Fixes
- at least partially fix the fill_tiled error #518
- fix: MetaData type alias and all exports #516
- fix str(Port) #512
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.7...v0.21.8
v0.21.7 - 2024-11-06
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.6...v0.21.7
v0.21.6 - 2024-10-29
What's Changed
New
- add suffix #504
Bug Fixes
- fix error in width calculation of waypoints #505
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.5...v0.21.6
v0.21.5 - 2024-10-21
What's Changed
New
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.4...v0.21.5
v0.21.4 - 2024-10-17
What's Changed
New
- add port reorientation for route_bundle #498
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.3...v0.21.4
v0.21.3 - 2024-10-17
What's Changed
New
- add saveoptions to build cli #497
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.2...v0.21.3
v0.21.2 - 2024-10-17
What's Changed
New
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.1...v0.21.2
v0.21.1 - 2024-10-17
What's Changed
New
- add transform_ports option to KCell.transform #495
- add instance iterator which returns coord plus port #491
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.0...v0.21.1
v0.21.0 - 2024-10-10
What's Changed
New
- Add SymmetricalCrossSection #481
Bug Fixes
- fix layerenum #490
- fix naming of cells from vinsts #489
- fix route_bundle bbox ignore for single route (or matching opposite side) #488
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.8...v0.21.0
v0.20.8 - 2024-10-02
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.7...v0.20.8
v0.20.7 - 2024-09-29
What's Changed
Bug Fixes
- decrease log level of layout_cache and klayout version mismatch log messages #480
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.6...v0.20.7
v0.20.6 - 2024-09-27
What's Changed
New
- add waypoint routing #473
Bug Fixes
- re-add LayerEnum to be available as kf.LayerEnum #476
Dependency Updates
- bump klayout to 0.29.7 #478
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.5...v0.20.6
v0.20.5 - 2024-09-13
What's Changed
New
- Better build cli #471
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.4...v0.20.5
v0.20.4 - 2024-09-12
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.3...v0.20.4
v0.20.3 - 2024-09-06
What's Changed
Bug Fixes
- fix add_port using arg call instead of kwarg call #466
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.2...v0.20.3
v0.20.2 - 2024-09-05
What's Changed
Bug Fixes
- Fix meta #465
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.1...v0.20.2
v0.20.1 - 2024-09-01
What's Changed
New
- add config option for custom show functions #461
Bug Fixes
- fix generic route not passing routing width to placer_function #463
- fix errors for
kf run
not finding modules. Change syntax #462
Documentation
- add config option for custom show functions #461
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.0...v0.20.1
v0.20.0 - 2024-08-29
What's Changed
New
- clean up route_bundle and add a generic version #456
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.19.2...v0.20.0
v0.19.2 - 2024-08-29
What's Changed
Bug Fixes
- fix errors in enclosures and relax some port layer constraints #460
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.19.1...v0.19.2
v0.19.1 - 2024-08-26
What's Changed
Bug Fixes
Other changes
- Fixed another
oror
output #455
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.19.0...v0.19.1
v0.19.0 - 2024-08-14
What's Changed
Breaking
- Improve layers so that they can be passed easily by LayerInfo and not only by index #439
New
- Improve layers so that they can be passed easily by LayerInfo and not only by index #439
Bug Fixes
- better instance default name using trans instead of .x #450
- fix write_context_info #448
- Add missing space in KLayout version warning #447
- ensure cell decorated functions return component #443
- fix c.flatten(merge=True) deleting texts #441
- Adjust AttributeError text in optical routing for taper and bend #438
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.4...v0.19.0
v0.18.4 - 2024-07-23
What's Changed
Bug Fixes
- fix the other case of model_dump #436
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.3...v0.18.4
v0.18.3 - 2024-07-23
What's Changed
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.2...v0.18.3
v0.18.2 - 2024-07-23
What's Changed
New
Bug Fixes
Other changes
- Fixed double
or
print statement #428
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.1...v0.18.2
v0.18.1 - 2024-07-17
What's Changed
Bug Fixes
- Fix
KCLayout.read(..., register_cells=True)
#426
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.0...v0.18.1
v0.18.0 - 2024-07-16
What's Changed
New
Bug Fixes
- find dotenv #415
Dependency Updates
- update klayout and pre-commit #419
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.8...v0.18.0
v0.17.8 - 2024-06-27
What's Changed
Bug Fixes
- fix kclayout nested cells and ports/metainfo issues #414
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.7...v0.17.8
v0.17.7 - 2024-06-27
What's Changed
New
- Add check for klayout/klive version vs kfactory #411
Bug Fixes
Documentation
- fix l2n extraction and add test #412
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.6...v0.17.7
v0.17.6 - 2024-06-27
What's Changed
New
Bug Fixes
Documentation
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.5...v0.17.6
v0.17.5 - 2024-06-16
What's Changed
New
- add display_kcell display_type #396
Bug Fixes
- works with partials #399
- full test suite for smart routing and error fixes #398
- fix basename usage in cell decorator #400
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.4...v0.17.5
v0.17.4 - 2024-06-12
What's Changed
New
- add contains to settings/units/info #395
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.3...v0.17.4
v0.17.3 - 2024-06-10
What's Changed
Bug Fixes
- fix erroneous start for route_loosely #390
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.2...v0.17.3
v0.17.2 - 2024-06-10
What's Changed
New
- Add functional
check_ports
to@cell
decorators #389
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.1...v0.17.2
v0.17.1 - 2024-06-08
What's Changed
New
Bug Fixes
- fix plot with vinsts #385
- pass flags to connect #384
- Fix dcplx_trans setter on Port #383
- Fix cells duplicated by having settings and info #379
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.0...v0.17.1
v0.17.0 - 2024-06-05
What's Changed
Breaking
- Drop rec_dicts flag and make it default to use rec dict inspection #375
Bug Fixes
- Improve and fix enclosure_tiled for KCellEnclosure and LayerEnclosure #374
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.16.1...v0.17.0
v0.16.1 - 2024-06-02
What's Changed
New
- Improve logger #368
Bug Fixes
- fix locked cell error #367
Documentation
- Improve logger #368
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.16.0...v0.16.1
v0.16.0 - 2024-06-02
What's Changed
Breaking
mirror
anddmirror
M90 by default #350
New
- Add
overwrite_existing
andlayout_cache
options to the cell decorator #362 - Better error prints #366
- Add length and length_straights to OpticalAllAngleRoute #361
- Add all easy access properties to VKCell and VInstance #360
- Add lyrdb option to
plot
#359 - Improve all-angle route_bundle to allow no backbone #353
- Add hash to long automatic cell name #346
mirror
anddmirror
M90 by default #350
Bug Fixes
- fix dy for VInstance #365
- typo #364
- fix virtual cell show hierarchy error #358
- Fix VKCell Setting Units #355
- fix typo #351
- Improve drotate #349
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.15.2...v0.16.0
v0.15.2 - 2024-05-29
What's Changed
Bug Fixes
- fix global config settings only being set on first import #345
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.15.1...v0.15.2
v0.15.1 - 2024-05-29
What's Changed
New
- Add
multi
option to fill and fix bugs #344 - add route_width to
optical.route
#342 - Add enum for handling check_instances #341
- add center to SizeInfo #340
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.15.0...v0.15.1
v0.15.0 - 2024-05-27
What's Changed
Breaking
- Change to
d{key}
instead ofd.{key}
#339
New
- Add
route_smart
androute_bundle
port sort #335
Bug Fixes
- Fix metaformat #338
- Fix single bundle case for route_bundle #337
- Fix route_bundle requiring a non-empty list of bounding boxes #336
Documentation
- Change to
d{key}
instead ofd.{key}
#339
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.14.0...v0.15.0
v0.14.0 - 2024-05-24
What's Changed
New
- Add global flags for connection to not carry over rotation or angle #332
- Separate function name #331
- allow new conf fields #325
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.3...v0.14.0
v0.13.3 - 2024-05-21
What's Changed
New
Bug Fixes
- ports in instance #316
Documentation
- rename allow_width_mismatch #319
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.2...v0.13.3
v0.13.2 - 2024-05-15
What's Changed
New
- Improve fill tiled with row/column vectors #314
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.1...v0.13.2
v0.13.1 - 2024-05-15
What's Changed
Bug Fixes
- fix grid instance array not properly setting up the array #310
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.0...v0.13.1
v0.13.0 - 2024-05-07
What's Changed
New
- Improve VKCell/VInstance #305
- allow_different_port_widths for electrical routing #307
- add minimum_straight #304
- add inside flag to route_loopback #303
- Add optional type for settings to KCell to annotate units of parameters #302
- Add indirect routing of endpoints #301
- Allow dicts in info #293
- Add smart routing #295
- Add (ly)rdb and l2n to show #296
- Add filter orientation #291
- print ports in um #289
- return uminstance with moving references #287
- Add post process #273
- serialize settings #285
- Fix routing issues #284
- Add
copy_polar
toPort
#282
Bug Fixes
pprint_ports
add missing type switch #306- Fix route_smart ignoring bounding boxes at the end of the routes #309
- Fix passing port_type to route_single #298
- fix flatten #300
- fix typos #292
- fix invert for route_manhattan #288
- Fix routing issues #284
- Fix proxy KCells #278
- fix manahattan router terminating routing too early #275
Documentation
- Implement protocols for routing functions #280
Dependency Updates
- Ruff formatting #279
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.12.3...v0.13.0
v0.12.3 - 2024-03-06
What's Changed
Bug Fixes
- Fix KCellEnclosure and rename bbox_per_layer to bbox #270
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.12.2...v0.12.3
v0.12.2 - 2024-03-06
What's Changed
Bug Fixes
- Fix initialization of KCLayout.constants #269
- Fix factories for euler and taper #268
- fix KCLayout not allowing constants in the constructor #267
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.12.0...v0.12.2
v0.12.0 - 2024-03-01
What's Changed
Breaking
- Refactor cells classes into functions with protocols #263
New
Documentation
- Refactor cells classes into functions with protocols #263
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.4...v0.12.0
v0.11.4 - 2024-02-28
What's Changed
New
- Add automatic registering of KCell-functions to the KCLayout.factories #261
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.3...v0.11.4
v0.11.3 - 2024-02-27
What's Changed
New
- KCLayout cell decorator #260
- Implement Grid #255
- Add port access for instance arrays and pretty print for ports #252
Bug Fixes
- Fix tiling border problems #256
Documentation
- KCLayout cell decorator #260
Dependency Updates
- update min klayout version #254
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.2...v0.11.3
v0.11.2 - 2024-02-17
What's Changed
New
- Add top_kcell(s) functions and fix Instance creation #251
- Allow inheritance from standard cells #249
- Improve minkowski algorithms for violation fixing #248
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.1...v0.11.2
v0.11.1 - 2024-02-08
What's Changed
Bug Fixes
- Fix Layout read trying to update ports on locked cells #244
Dependency Updates
- Update ruff and lsp configs #243
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.0...v0.11.1
v0.11.0 - 2024-02-02
What's Changed
New
- Multi PDK #241
Other changes
- Version numbers #242
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.10.3...v0.11.0
v0.10.3 - 2024-01-12
What's Changed
New
Other changes
Dependency Updates
- Bump actions/setup-python from 4 to 5 #235
- Bump actions/upload-pages-artifact from 2 to 3 #234
- Bump actions/deploy-pages from 2 to 4 #233
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.10.2...v0.10.3
0.10.2 - 2023-12-08 (v0.10.2) - 2023-12-08
Fixed
- Fix no_warn being ignored in transform
0.10.1 - 2023-12-05 (v0.10.1) - 2023-12-05
Added
- Added
center
torotate
to allow rotating around a center point - Added
rec_dict
to@cell
decorator to allow for recursive dictionaries - Added functionality to
@cell
to allow a user defined cache - Added invert to
route_manhattan
and allowrouting.optical.route
to add routing_kwargs to the routing function - add Instance.mirror Instance.center
Changed
- Renamed -> and allow passing kwargs to set attributes of the object
- Renamed
function_cache
->cache
- rename autorename_ports to auto_rename_ports
- rename port position to center
Fixed
v0.10.0 - 2024-06-16
What's Changed
- add Instance setter and getter for center by @joamatab in #191
- Add port center setter getter by @joamatab in #192
- improve instance setters by @joamatab in #193
- rename autorename_ports to auto_rename_ports by @joamatab in #195
- rename port position to center by @joamatab in #199
- Make Instance.flatten(
) work correctly with KCell/Instance by @sebastian-goeldi in #202 - add kf.KCell.center property by @joamatab in #200
- add Instance.mirror and Instance.d.mirror by @sebastian-goeldi in #204
- add towncrier news by @joamatab in #205
- route optical uses allow_small_routes by @joamatab in #209
- add ports length by @joamatab in #210
- (Basic) Bundle routing by @sebastian-goeldi in #212
- Fixed typo
enclosure_mape
->enclosure_map
by @sebastian-goeldi in #213 - remove debug prints by @joamatab in #214
- use image by default by @joamatab in #215
- add invert to droute_manhattan by @joamatab in #217
- better_odd_port_width_message by @joamatab in #220
- Added
rec_dict
to@cell
decorator to allow for recursive dictionaries by @sebastian-goeldi in #221 - more consistent names for routes by @joamatab in #226
- Virtual Cells by @sebastian-goeldi in #228
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.9.3...v0.10.0
v0.9.3 - 2024-06-16
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.9.2...v0.9.3
v0.9.1 - 2024-06-16
What's Changed
- Bump actions/checkout from 3 to 4 by @dependabot in #186
- get_cells by @joamatab in #187
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.9.0...v0.9.1
v0.9.0 - 2023-09-25
Added
- Added to be set by decorator #180
- Added contains to port and eq #182
- Add PDK capabilities to KCLayout #171
- Added KCell.connectivity_chek to check for port alignments and overlaps
- Added a cli based on typer to allow running of functions (taking int/float/str args) and allow upload/update of gdatasea edafiles
Fixed
- Fixed throw a critical log message on negative width and angles and convert them to positive ones #183
v0.8.0 - 2023-06-14
v0.8.0 - 2023-06-14
Added
- KCells now store (and retrieve) Ports and settings/info in/from GDS #106
- Added docs section about loguru config #138
- Added docs section about gdsfactory differences #140
- Add Netlist extraction based on klayout.db.Netlist #147
- Added UMKCell to allow addressing some parts in um #158
- Added snapping of ports to cell decorator #159
Changed
- KCell.create_inst doesn't take DCellInstArray args anymore, use KCell.d.create_inst instead #158
- Updated the Pdk to pydantic 2.0 PR
- renamed waveguide -> straight PR
Fixed
- Fixed incompatibility of Pdk and technology with mypy #108
- Fixed keep_mirror flag #143
- Fixed (ix)90° bends second port off-grid #153
- Fixed circular and euler bends having complex ports in the x*90° cases #159
v0.7.5 - 2023-06-01
v0.7.5 - 2023-06-01
Added
- Added
mirror_x/mirror_y
to Instance,xmin/xmax/ymin/ymax
getter & setter to Instance,xmin/xmax/ymin/ymax
getter to KCell,polygon_from_array
,dpolygon_from_arry
#92 - Document settings/config better #138
- Added docs for people familiar with gdsfactory #140
Fixed
- Fixed missing changelog in docs #136
- Fixed add_port ignore keep_mirror flag #143
- Fixed changelog and changelog.d links
v0.7.4 - 2023-05-29
0.7.4 - 2023-05-29
Added
- add tbump and towncrier for changelog and bumping #129
Fixed
- enable non manhattan bend ports, and document how to get rid of gaps #131
0.6.0 (v0.6.0) - 2023-04-18
kcell.py
- KCell and Instance don´t inherit from
kdb.Cell
/kdb.Instance
anymore. They should still transparently proxy to them - Ports automatically convert um <-> dbu
- no more DPort/DCplxPort/ICplxPort
Fix (Cplx)KCell.dup (v0.4.1) - 2023-02-24
KCell
andCplxKCell
are now properly copying their instances when copied usingdup
KLayout/klayout#1300
Complex Cells (v0.4.0) - 2023-02-21
CplxKCell
:- Use
DCplxPort
by default. These ports can have arbitrary angle and are micrometer based Any other port will be silently converted toDCplxPort
- Use
-
library
->klib
: Renamekf.library
->kf.klib
,kf.KCell.library
->kf.KCell.klib
,kf.kcell.library
->kf.KCell.klib
in order to not confuse with the KLayout library and shadow it.Put deprecation warning and remove in 0.5.0 *
autocell
* move cache fromcachetools.Cache[int,Any]
to a dictionary{}
* deprecate cachemaxsize
for 0.5.0: this is not necessary as a dictionary has infinite size and cache eviction is unwanted