Skip to content

GDSFactory+ CLI

Two separate programs are called gfp:

  • Rust server binary — bundled in the VS Code extension; subcommands documented in Commands below.
  • Python SDK CLI — installed with pip install gdsfactoryplus; subcommands documented in Python SDK CLI below.

Top-Level Usage

$ gfp [--cwd PATH] <COMMAND> ...

--cwd changes the working directory before the command runs.

Commands

gfp hello

Simple smoke test that does not require Python.

$ gfp hello

gfp python-version

Print the Python version from the configured runtime.

$ gfp python-version

gfp numpy-version

Print the NumPy version from the configured runtime.

$ gfp numpy-version

gfp venv

Create a .venv using the backend's Python-runtime setup path.

$ gfp venv

gfp index

Index the current project and print JSON.

$ gfp index [--module NAME] [--function QUALIFIED_NAME] [--factories]

Options:

  • --module: filter to one module
  • --function: filter to one qualified function name
  • --factories: only include factory functions

gfp stats

Print resolution statistics for the current project.

$ gfp stats [--factories] [--sections resolved,libraries]

Options:

  • --factories: only count factory functions
  • --sections: comma-separated sections to show; defaults to resolved,libraries

gfp serve

Start the main backend server.

$ gfp serve [--host 127.0.0.1] [--port 8080]

Notes:

  • this is the backend process the VS Code extension spawns
  • it serves HTTP endpoints and the stdio JSON-RPC surface
  • it also owns server-side project watching and worker orchestration

gfp scm

Schematic-format helpers.

Parse

$ gfp scm parse FILE [--from nyancir|picyml|dschematic]

Parses the input schematic and prints the Rust debug representation.

Convert

$ gfp scm convert FILE --to nyancir|picyml|dschematic [--from nyancir|picyml|dschematic]

Supported conversions currently include:

  • nyancir -> picyml
  • picyml -> nyancir
  • picyml -> dschematic
  • nyancir -> dschematic

gfp code-gen (debug builds only)

Generate TypeScript protocol types from the router.

$ gfp code-gen OUTPUT_PATH

gfp debug pdks (debug builds only)

Print discovered PDKs from the current project index.

$ gfp debug pdks

Python SDK CLI

The gdsfactoryplus Python package installs a gfp console script (or python -m gdsfactoryplus.cli). This is a separate program from the Rust binary above.

$ gfp [COMMAND]

Commands:

  • gfp new — create a new project from a template
  • gfp test — build all project cells
  • gfp check drc — run remote DRC
  • gfp check conn — run connectivity check
  • gfp check lvs — run LVS
  • gfp export-spice — extract a SPICE netlist
  • gfp parse-spice — convert OptoCompiler SPICE to gdsfactory format
  • gfp version — show installed package version
  • gfp configure — write project configuration
  • gfp settings — read/write settings
  • gfp serve — start the Python SDK server (distinct from the Rust gfp serve)
  • gfp watch — watch the project and rebuild on change

Removed From Older Docs

Older Markdown in this repo mentioned commands like:

  • gfp verify
  • gfp visualize-3d

Those do not exist in the Rust server binary (crates/gfp-server/src/commands/) or the Python SDK CLI.