add ubcpdk--sample-projects#531
Open
thanojo wants to merge 4 commits into
Open
Conversation
Contributor
Reviewer's GuideAdds a new Class diagram for core myubc Python cells and their dependenciesclassDiagram
class myubc_init {
+home: pathlib_Path
+cwd: pathlib_Path
+module_path: pathlib_Path
+repo_path: pathlib_Path
+__version__: string
}
class lvs_electrical {
+pads_correct(pad, cross_section) Component
+pads_shorted(pad, cross_section) Component
}
class nxn_module {
+nxn(west, east, north, south, xsize, ysize, wg_width, layer, wg_margin) Component
}
class sample_drc_errors_module {
+_width_min(size) Component
+_area_min() Component
+_gap_min(gap) Component
+_separation(gap, layer1, layer2) Component
+_enclosing(enclosing, layer1, layer2) Component
+_sample_drc_errors() Component
}
class ports8_module {
+ports8() Component
}
class splitter_tree_module {
+splitter_tree(noutputs, cross_section, spacing, kwargs) Component
}
class sample_crossing_from_gds_module {
+sample_crossing_from_gds() Component
}
class sample_fill_module {
+sample_fill() Component
}
class sample_virtual_instance_module {
+sample_virtual_instance() Component
}
class masks_ubc1_module {
+EBeam_JoaquinMatres_1() Component
}
class masks_ubc2_module {
+EBeam_JoaquinMatres_2() Component
}
class masks_ubc3_module {
+EBeam_JoaquinMatres_3() Component
}
class masks_ubc4_module {
+EBeam_JoaquinMatres_4() Component
}
class masks_ubc5_module {
+EBeam_JoaquinMatres_5() Component
}
class dbr_module {
+dbr(w1, w2, cross_section) Component
}
class samples_sample0_module {
+sample0_hello_world() Component
}
class samples_sample1_module {
+sample1_connect() Component
}
class samples_sample2_module {
+sample2_remove_layers() Component
}
class samples_sample3_module {
+sample3_grid() Component
}
class samples_sample4_module {
+sample4_pack() Component
}
class samples_sample5_module {
+sample5_path() Component
}
class samples_sample6_module {
+sample6_cross_section() Component
}
class gdsfactory_gf {
+Component
+cell(decorated_function)
+components
+routing
+Path
+Section
+CrossSection
}
class ubcpdk_cells {
+pad
+die
+straight
+mzi
+ring_single
+ring_single_heater
+ebeam_crossing4
+ebeam_adiabatic_te1550
+ebeam_bdc_te1550
+ebeam_y_1550
+spiral
+add_fiber_array
+add_fiber_array_pads_rf
+mzi_heater
}
class ubcpdk_LAYER {
+WG
+FLOORPLAN
+other_layer_specs
}
myubc_init --> gdsfactory_gf : configures
myubc_init --> ubcpdk_LAYER : uses
lvs_electrical --> gdsfactory_gf : uses_component_and_routing
lvs_electrical --> ubcpdk_cells : uses_pad
nxn_module --> gdsfactory_gf : wraps_nxn_factory
nxn_module --> ubcpdk_LAYER : default_layer
sample_drc_errors_module --> gdsfactory_gf : shapes_and_pack
sample_drc_errors_module --> ubcpdk_LAYER : uses_layer_defs
ports8_module --> gdsfactory_gf : polygon_and_ports
splitter_tree_module --> gdsfactory_gf : splitter_tree_factory
sample_crossing_from_gds_module --> gdsfactory_gf : import_gds
sample_crossing_from_gds_module --> ubcpdk_LAYER : waveguide_layer
sample_fill_module --> gdsfactory_gf : fill
sample_fill_module --> ubcpdk_cells : ring_single_and_die
sample_virtual_instance_module --> gdsfactory_gf : add_ref_off_grid
masks_ubc1_module --> gdsfactory_gf : pack
masks_ubc1_module --> ubcpdk_cells : straight_mzi_ring_and_die
masks_ubc2_module --> gdsfactory_gf : pack
masks_ubc2_module --> ubcpdk_cells : spiral_and_die
masks_ubc3_module --> gdsfactory_gf : pack
masks_ubc3_module --> ubcpdk_cells : ebeam_structures_and_die
masks_ubc4_module --> gdsfactory_gf : pack
masks_ubc4_module --> ubcpdk_cells : mzi_variants_and_die
masks_ubc5_module --> gdsfactory_gf : pack
masks_ubc5_module --> ubcpdk_cells : ring_single_heater_and_die
dbr_module --> gdsfactory_gf : dbr_factory
samples_sample0_module --> gdsfactory_gf
samples_sample1_module --> gdsfactory_gf
samples_sample2_module --> gdsfactory_gf
samples_sample3_module --> gdsfactory_gf
samples_sample4_module --> gdsfactory_gf
samples_sample5_module --> gdsfactory_gf
samples_sample6_module --> gdsfactory_gf
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Contributor
There was a problem hiding this comment.
Hey - I've found 1 issue, and left some high level feedback:
- In
pyproject.toml, theoptional-dependencies.devkey under[project]should be moved under a[project.optional-dependencies]table (e.g.,[project.optional-dependencies] dev = [...]) to conform to the PEP 621/TOML schema and be picked up correctly by tooling. - Several modules (e.g.,
sample_drc_errors.pyandnxn.py) define globals likelayer/layer1that are never used; consider removing these unused variables to avoid confusion about which layer spec is actually in use.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In `pyproject.toml`, the `optional-dependencies.dev` key under `[project]` should be moved under a `[project.optional-dependencies]` table (e.g., `[project.optional-dependencies]
dev = [...]`) to conform to the PEP 621/TOML schema and be picked up correctly by tooling.
- Several modules (e.g., `sample_drc_errors.py` and `nxn.py`) define globals like `layer`/`layer1` that are never used; consider removing these unused variables to avoid confusion about which layer spec is actually in use.
## Individual Comments
### Comment 1
<location path="ubcpdk--sample-projects/ubcpdk--public--project/README.md" line_range="5" />
<code_context>
+
+## **Getting Started**
+
+To begin using:
+
+- You can see the Getting started guide in the [docs](https://gdsfactory.com/plus/) and the videos.
</code_context>
<issue_to_address>
**suggestion (typo):** Clarify what the user is beginning to use (e.g., "this project" or "this template").
"To begin using:" reads incomplete on its own. Please specify the subject, for example: "To begin using this project:" or "To begin using this sample:" so it’s immediately clear what the steps apply to.
```suggestion
To begin using this project:
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds sample projects from
gfp-sample-projectsintoubcpdk--sample-projects/.Summary by Sourcery
Add a new UBC PDK public sample project containing schematic/layout definitions, example cells, and mask designs for gdsfactory+.
New Features:
myubcPython package with sample photonic components, routing demos, LVS/DRC examples, and helper utilities for the UBC PDK.Build:
pyproject.tomlconfiguring themyubcpackage metadata, dependencies, linting, and packaging settings for the sample project.Documentation:
Chores:
.gitattributes,.gitignore, andLICENSEfor the new public sample project.