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>