gfp#

Usage:

$ gfp [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • version

  • bbox: Writes the GDS bounding box of another GDS…

  • build-pdk: Build GDS from PDK.

  • build-pics: Build GDS from pics directory.

  • build-schema: Build a netlist schema for a yaml netlist.

  • configure: Configure a GDSFactory+ API key.

  • tree: Get the PDK tree.

  • tree-item: Get a PDK tree item.

  • watch: Watch a folder for changes.

  • doitforme: Writes the GDS bounding box of another GDS…

  • export-spice: Export a .pic.yml netlist to spice.

  • svg: Writes the GDS bounding box of another GDS…

  • parse-spice: Convert a spice netlist [.sp] to a…

  • serve: Start the GDSFactory+ background service.

  • settings: Display or modify component arguments and…

  • show: Show a cell in layout viewer.

  • simulate: Simulate a circuit.

  • verify: Verify a GDSFactory+ API key.

  • visualize-3d: Visualize a 3D component.

  • check

gfp version#

Usage:

$ gfp version [OPTIONS]

Options:

  • --help: Show this message and exit.

gfp bbox#

Writes the GDS bounding box of another GDS file.

Args: path: input gds file. outpath: output gds file. bbox_layer: layer to use for the bounding box. ignore_ports: ignore ports when computing the bounding box.

Usage:

$ gfp bbox [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --outpath TEXT

  • --bbox-layer <INTEGER INTEGER>...: [default: 99, 0]

  • --ignore-ports / --no-ignore-ports: [default: no-ignore-ports]

  • --help: Show this message and exit.

gfp build-pdk#

Build GDS from PDK.

Args: path: path to build directory. pdk: process design kit. on_error: what to do on error. skip_existing: skip already generated files.

Usage:

$ gfp build-pdk [OPTIONS] [PATH]

Arguments:

  • [PATH]: [default: build]

Options:

  • --pdk TEXT: [default: cspdk.si220]

  • --on-error TEXT: [default: continue]

  • --skip-existing / --no-skip-existing: [default: skip-existing]

  • --help: Show this message and exit.

gfp build-pics#

Build GDS from pics directory.

Args: path: path to pics directory (defaults to project name set in pyprojec.toml). pdk: process design kit. on_error: what to do on error. skip_existing: skip already generated files.

Usage:

$ gfp build-pics [OPTIONS] [PATH]

Arguments:

  • [PATH]: [default: gdsfactoryplus]

Options:

  • --pdk TEXT: [default: cspdk.si220]

  • --on-error TEXT: [default: continue]

  • --skip-existing / --no-skip-existing: [default: no-skip-existing]

  • --help: Show this message and exit.

gfp build-schema#

Build a netlist schema for a yaml netlist.

Args: path: the path to the .pic.yml file to build the schema for outpath: the path to save the schema to pdk: the pdk context for which to build the schema

Usage:

$ gfp build-schema [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --outpath TEXT: [default: stdout]

  • --pdk TEXT: [default: cspdk.si220]

  • --help: Show this message and exit.

gfp configure#

Configure a GDSFactory+ API key.

Args: api_key: the api key to set organization: the name of your organization as registered with gdsfactoryplus uv: configure uv to use your gdsfactoryplus pypi index for proprietary packages force: force overwriting the api key if an existing key was found

Usage:

$ gfp configure [OPTIONS]

Options:

  • --api-key TEXT

  • --organization TEXT

  • --uv / --no-uv: [default: no-uv]

  • --force / --no-force: [default: no-force]

  • --help: Show this message and exit.

gfp tree#

Get the PDK tree.

Args: path: the path of the folder being watched pdk: the pdk by: the way to organize the tree (‘cell’, ‘file’, ‘flat’) key: downselect the tree with a ‘.’-separeted key. format: how to visualize the tree (‘yaml’, ‘json’)

Usage:

$ gfp tree [OPTIONS] [PATH]

Arguments:

  • [PATH]: [default: gdsfactoryplus]

Options:

  • --pdk TEXT: [default: cspdk.si220]

  • --by TEXT: [default: cell]

  • --key TEXT

  • --format TEXT: [default: yaml]

  • --help: Show this message and exit.

gfp tree-item#

Get a PDK tree item.

Args: name: the name of the cell to get the tree item for path: the path of the folder being watched pdk: the pdk key: downselect the tree with a ‘.’-separeted key. format: how to visualize the tree (‘yaml’, ‘json’)

Usage:

$ gfp tree-item [OPTIONS] NAME [PATH]

Arguments:

  • NAME: [required]

  • [PATH]: [default: gdsfactoryplus]

Options:

  • --pdk TEXT: [default: cspdk.si220]

  • --key TEXT

  • --format TEXT: [default: yaml]

  • --help: Show this message and exit.

gfp watch#

Watch a folder for changes.

Args: path: Path to the folder. server_url: url where the gdsfactory+ background service is running

Usage:

$ gfp watch [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --server-url TEXT

  • --help: Show this message and exit.

gfp doitforme#

Writes the GDS bounding box of another GDS file.

Args: prompt: the prompt to create a circuit with. outpath: the output file where the netlist gets saved. pdk: the pdk to use to generate the circuit. url: the url where to send the prompt to. show: if True, will build and show the circuit interact: if True, will let the user interactively refine the circuit

Usage:

$ gfp doitforme [OPTIONS] PROMPT

Arguments:

  • PROMPT: [required]

Options:

  • --outpath TEXT: [default: stdout]

  • --pdk TEXT: [default: cspdk.si220]

  • --url TEXT: [default: wss://doitforme.gdsfactory.com/ws]

  • --show / --no-show: [default: no-show]

  • --interact / --no-interact: [default: no-interact]

  • --help: Show this message and exit.

gfp export-spice#

Export a .pic.yml netlist to spice.

Args: path: the path to the .pic.yml file. outpath: where to save the spice file to pdk: the pdk context in which to parse the .pic.yml file flavor: the type of spice to export to

Usage:

$ gfp export-spice [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --outpath TEXT: [default: stdout]

  • --pdk TEXT: [default: cspdk.si220]

  • --flavor TEXT: [default: spectre]

  • --help: Show this message and exit.

gfp svg#

Writes the GDS bounding box of another GDS file.

Args: cell_names: comma separated list of all cells first_cell,second_cell,third_cell,... for which to generate an svg (omit to generate svgs for all cells) outdir: output directory where to save the gds files. overwrite: by default an svg won’t be generated if it already exists. Use the overwrite flag to force re-generation. pdk: the pdk for which to generate cells for. width: the width of the svg (in pixels) height: the height of the svg (in pixels)

Usage:

$ gfp svg [OPTIONS] [CELL_NAMES]

Arguments:

  • [CELL_NAMES]

Options:

  • --outdir TEXT: [default: .]

  • --overwrite / --no-overwrite: [default: no-overwrite]

  • --pdk TEXT: [default: cspdk.si220]

  • --width INTEGER: [default: 80]

  • --height INTEGER: [default: 80]

  • --help: Show this message and exit.

gfp parse-spice#

Convert a spice netlist [.sp] to a GDSFactory netlist [.pic.yml].

Args: path: path to convert outpath: the output path to output the converted netlist to pdk: PDK to use for the conversion. flavor: The spice flavor to use. Currently only ‘oc’ is supported.

Usage:

$ gfp parse-spice [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --outpath TEXT: [default: stdout]

  • --pdk TEXT: [default: cspdk.si220]

  • --flavor TEXT: [default: oc]

  • --help: Show this message and exit.

gfp serve#

Start the GDSFactory+ background service.

Args: port: the port on which to run the background service host: the host on which to run the background service workers: the number of workers of the background service reload: run the background service in debug mode (not recommended) runner: Which server process to use (‘uvicorn’ or ‘granian’)

Usage:

$ gfp serve [OPTIONS]

Options:

  • --port INTEGER: [default: 8787]

  • --host TEXT: [default: localhost]

  • --workers INTEGER: [default: 1]

  • --reload / --no-reload: [default: no-reload]

  • --runner TEXT: [default: uvicorn]

  • --help: Show this message and exit.

gfp settings#

Display or modify component arguments and their default values.

Args: format: The output format for displaying settings. Options are ‘table’, ‘json’, ‘yaml’, or ‘toml’. key: A specific key to look for within the settings. Supports nested keys separated by dots.

Usage:

$ gfp settings [OPTIONS]

Options:

  • --format TEXT: [default: table]

  • --key TEXT

  • --help: Show this message and exit.

gfp show#

Show a cell in layout viewer.

Args: path: Path to the pics directory or the pic file. cellname: Name of the cell to show (if empty: will try to be derived from path). pdk: Path to the PDK.

Usage:

$ gfp show [OPTIONS] [PATH]

Arguments:

  • [PATH]: [default: gdsfactoryplus]

Options:

  • --cellname TEXT

  • --pdk TEXT: [default: cspdk.si220]

  • --help: Show this message and exit.

gfp simulate#

Simulate a circuit.

Args: name: Name of the cell. outpath: the output path where to save the plot pdk: Path to the PDK. op: Output plot. port_in: Input port. wl0: Wavelength start. wl1: Wavelength end. nwl: Number of wavelengths. host: Host for the server. api_key: the api key to access the simulate service

Usage:

$ gfp simulate [OPTIONS] NAME

Arguments:

  • NAME: [required]

Options:

  • --outpath TEXT: [default: stdout]

  • --pdk TEXT: [default: cspdk.si220]

  • --op TEXT: [default: dB]

  • --port-in TEXT

  • --wl0 FLOAT: [default: 1.5]

  • --wl1 FLOAT: [default: 1.6]

  • --nwl INTEGER: [default: 300]

  • --host TEXT: [default: http://localhost]

  • --api-key TEXT: [default: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlfa2V5IjoiMTEwMjQxNjYtYzZiZi00YjMzLWJiYjYtZjg4YTBiNzBmMDYwIiwiYXVkIjoiR0RTRmFjdG9yeTphcGkta2V5cyJ9.EvaJEojL-ETEIMeiI73tONXHwjiu-wv0QKHlJPtFFHo]

  • --help: Show this message and exit.

gfp verify#

Verify a GDSFactory+ API key.

Args: api_key: the api key to verify pdk: the pdk to verify access for (optional) format: json / yaml output format

Usage:

$ gfp verify [OPTIONS]

Options:

  • --api-key TEXT: [default: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlfa2V5IjoiMTEwMjQxNjYtYzZiZi00YjMzLWJiYjYtZjg4YTBiNzBmMDYwIiwiYXVkIjoiR0RTRmFjdG9yeTphcGkta2V5cyJ9.EvaJEojL-ETEIMeiI73tONXHwjiu-wv0QKHlJPtFFHo]

  • --pdk TEXT

  • --format TEXT: [default: yaml]

  • --help: Show this message and exit.

gfp visualize-3d#

Visualize a 3D component.

Args: path: Path to the file containing the cell name: Name of the cell (optional for yaml paths). pdk: Name to the PDK.

Usage:

$ gfp visualize-3d [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --name TEXT

  • --pdk TEXT: [default: cspdk.si220]

  • --help: Show this message and exit.

gfp check#

Usage:

$ gfp check [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • drc: Check a GDS file for DRC errors.

  • conn: Check a GDS file for DRC errors.

  • lvs: Check a GDS file for LVS errors.

gfp check drc#

Check a GDS file for DRC errors.

Args: path: path to the GDS file to run the check on. outpath: the output path to save the drc results to pdk: PDK to use for the check. process: the drc rules might be slightly different depending on the process timeout: timeout in seconds for the check (DRC only). host: api host (DRC only). api_key: the api key (DRC only). verbose: if True, print status messages to stderr.

Usage:

$ gfp check drc [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --outpath TEXT: [default: stdout]

  • --pdk TEXT: [default: cspdk.si220]

  • --process TEXT

  • --timeout INTEGER: [default: 60]

  • --host TEXT: [default: https://dodeck.gdsfactory.com]

  • --api-key TEXT: [default: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlfa2V5IjoiMTEwMjQxNjYtYzZiZi00YjMzLWJiYjYtZjg4YTBiNzBmMDYwIiwiYXVkIjoiR0RTRmFjdG9yeTphcGkta2V5cyJ9.EvaJEojL-ETEIMeiI73tONXHwjiu-wv0QKHlJPtFFHo]

  • --verbose / --no-verbose: [default: verbose]

  • --help: Show this message and exit.

gfp check conn#

Check a GDS file for DRC errors.

Args: path: path to the GDS file to run the check on. pdk: PDK to use for the check. outpath: the output path to save the drc results to verbose: if True, print status messages to stderr.

Usage:

$ gfp check conn [OPTIONS] PATH

Arguments:

  • PATH: [required]

Options:

  • --pdk TEXT: [default: cspdk.si220]

  • --outpath TEXT: [default: stdout]

  • --verbose / --no-verbose: [default: verbose]

  • --help: Show this message and exit.

gfp check lvs#

Check a GDS file for LVS errors.

Args: cell: the name of the cell to check netpath: the path to the reference netlist pdk: PDK to use for the check. cellargs: JSON encoded arguments to create the cell with. outpath: the output path to save the drc results to

Usage:

$ gfp check lvs [OPTIONS] CELL NETPATH

Arguments:

  • CELL: [required]

  • NETPATH: [required]

Options:

  • --outpath TEXT: [default: stdout]

  • --pdk TEXT: [default: cspdk.si220]

  • --cellargs TEXT

  • --help: Show this message and exit.