Justfile Commands#

The repository includes a justfile with convenient commands for common development tasks.

Available Commands#

To see the list of available commands at any time, run:

just --list
Available recipes:
    all                                   # Run all tests, pre-commit hooks, build wheel and documentation in parallel
    build                                 # Build the Python package (install build tool and create dist)
    check-lfs                             # Check if Git LFS is available and pull LFS files
    clean                                 # Clean up all build, test, coverage and Python artifacts
    convert-notebooks                     # Convert jupytext scripts from notebooks/src to ipynb format in notebooks
    copy-sample-notebooks                 # Copy all sample scripts to use as notebooks docs
    default                               # List available commands
    docs                                  # Build the HTML documentation
    docs-latex                            # Setup LaTeX for PDF documentation
    docs-pdf                              # Build PDF documentation (requires a TeXLive installation)
    docs-prerequisites                    # Shared prerequisites for building documentation (runs in parallel)
    install                               # Install the package and all development dependencies
    install-tech                          # Install KLayout technology files for the PDK
    run-pre                               # Run all pre-commit hooks on all files
    setup-ipython-config-temporary-after  # Restore original IPython configuration
    setup-ipython-config-temporary-before # Temporarily setup IPython configuration for documentation build
    test *args                            # Run the full test suite in parallel using pytest
    test-gds                              # Run GDS regressions tests (tests/test_pdk.py)
    test-gds-fail-fast                    # Run GDS regressions tests (tests/test_pdk.py) and stop at first failure
    test-gds-force                        # Run GDS regressions tests (tests/test_pdk.py) and regenerate
    test-hfss *args                       # Run HFSS simulation tests (requires HFSS to be installed)
    test-ports                            # Run optical port position tests (tests/test_pdk.py::test_optical_port_positions)
    update-pre                            # Update pre-commit hooks to the latest revisions
    write-cells                           # Write cell outputs into documentation notebooks (used when building docs)
    write-justfile-help                   # Write Justfile help output to documentation
    write-models                          # Write model outputs into documentation notebooks (used when building docs)

Usage#

To run any of these commands, use:

just <command>