Lumicron Documentation

Welcome

This is the User Guide for lumicron - the Python package that lets you describe a photonic or electronic chip layout in code and export a GDS or OASIS layout. Export alone does not establish foundry-rule compliance or fabrication readiness.

If you’ve used IPKISS, gdsfactory, KFactory, or Nazca, the mental model will feel familiar:

  • Cells are reusable building blocks with named ports.
  • add creates placed references; Place positions them; Route connects ports.
  • Route profiles describe what travels along the wire (layers, claddings, periodic features) so you stop thinking about per-stroke geometry.

What’s different in Lumicron is the routing chain - section-level overrides for layer, profile, bend, and width inside one continuous .go() chain - and the design-tool integration with the Lumicron Mac viewer. Scripts run in the Script workspace; Phoebe can inspect permitted project context and retrieve the bundled API reference.

This guide covers the Python API shipped with Lumicron and its scripting workflow. Authoring your own PDK is covered in the separate PDK Authoring Guide.

Tip

The numbered layout examples in user_docs/examples/ are executed against the bundled API when this guide is built, and their figures are regenerated. Short inline examples demonstrate an API call and may require objects defined in the surrounding text. The API appendix is generated from current signatures.

Package ownership

Use import lumicron as lm for PIC design. Technology authoring and packaging belong to import lumicron_pdk as lpdk; fabrication rules and semantic DFX belong to import lumicron_validate as lv. All three ship together in the bundled runtime. See the PDK Development guide and Validation guide.

The former package remains a deprecated forwarding bridge for existing projects and persisted factory references. New code uses the canonical imports. Placement, routing, transforms and authored identities retain their established contracts.

Search documentation

Type to search all guides and API references.

↑ ↓ to select · Enter to open · Esc to close