fpy
Fpy: an advanced sequencing language for F-Prime
File Explorer
- security-pack.yml
- excludes.txt
- expect.txt
- patterns.txt
- config.yml
- RefTopologyAppDictionary.xml
- codeql-security-scan.yml
- fprime-gds-tests.yml
- publish.yml
- spelling.yml
- pull_request_template.md
- time.fpy
- __init__.py
- assembler.py
- directives.py
- grammar.lark
- SPEC.md
- __init__.py
- codegen_fpybc.py
- codegen_llvm.py
- compiler.py
- desugaring.py
- dictionary.py
- error.py
- grammar.lark
- harness.py
- imports.py
- ir.py
- macros.py
- main.py
- PASSES.md
- semantics.py
- SPEC.md
- state.py
- symbols.py
- syntax.py
- test_helpers.py
- types.py
- visitors.py
- wasm_host.py
- check_simple.fpy
- check_simple.fpybc
- cmd_handled.fpy
- cmd_handled.fpybc
- cmd_unhandled.fpy
- cmd_unhandled.fpybc
- const_fold.fpy
- const_fold.fpybc
- empty.fpy
- empty.fpybc
- exit_success.fpy
- exit_success.fpybc
- func_unused.fpy
- func_unused.fpybc
- func_used.fpy
- func_used.fpybc
- if_else.fpy
- if_else.fpybc
- if_simple.fpy
- if_simple.fpybc
- var_bool.fpy
- var_bool.fpybc
- var_f32.fpy
- var_f32.fpybc
- var_reassign.fpy
- var_reassign.fpybc
- var_u32.fpy
- var_u32.fpybc
- while_simple.fpy
- while_simple.fpybc
- write_to_port.fpy
- write_to_port.fpybc
- RefTopologyDictionary.json
- test_anon_exprs.py
- test_arithmetic.py
- test_assembler.py
- test_assert.py
- test_aug_assign.py
- test_boolean_logic.py
- test_check.py
- test_commands.py
- test_comparisons.py
- test_compiler_config.py
- test_control_flow.py
- test_dictionary.py
- test_functions.py
- test_golden.py
- test_imports.py
- test_integration.py
- test_logging.py
- test_main.py
- test_parameters.py
- test_parsing.py
- test_rng.py
- test_seq_calling.py
- test_sequence_metadata.py
- test_serialization.py
- test_telemetry.py
- test_time_seqs.py
- test_types_and_constructors.py
- test_types_visitors.py
- test_variables.py
- test_warnings.py
- test_wasm.py
- test_write_to_port.py
- README.md
- wasm-sequencer-fixes.patch
- CMakeLists.txt
- WasmSequencerTester.cpp
- WasmSequencerTester.fpp
- WasmSequencerTester.hpp
- CMakeLists.txt
- settings.ini
- WasmSeqHarnessMain.cpp
- CMakeLists.txt
- FpyHarnessMain.cpp
- FpySequencerTester.cpp
- FpySequencerTester.fpp
- FpySequencerTester.hpp
- Harness.cpp
- Harness.hpp
- Json.cpp
- Json.hpp
- conftest.py
- fprime
- fprime-wasm
- .gitignore
- .gitmodules
- .pre-commit-config.yaml
- CLAUDE.md
- CMakeLists.txt
- fpy_logo.png
- LICENSE
- pyproject.toml
- README.md
- SEQ_ARGS.md
- settings.ini
- setup.py
- SPEC.md
- uv.lock
- VERSIONING.md
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
cargo build
View Details ▼
cargo build
Compile a local package and all of its dependencies.
cargo {{[b|build]}}
Build the package or packages defined by the `Cargo.toml` manifest file in the local path:
cargo {{[b|build]}} {{[-r|--release]}}
Build artifacts in release mode, with optimizations:
cargo {{[b|build]}} --locked
Require that `Cargo.lock` is up to date:
elif
View Details ▼
elif
This shell keyword is used in combination with `if` and `else` to define a code branch.
tldr if
View documentation for `if` command:
git clone
View Details ▼
git clone
Clone an existing repository.
git clone {{remote_repository_location}} {{path/to/directory}}
Clone an existing repository into a new directory (the default directory is the repository name):
git clone --recursive {{remote_repository_location}}
Clone an existing repository and its submodules:
git clone {{[-n|--no-checkout]}} {{remote_repository_location}}
Clone only the `.git` directory of an existing repository:
git commit
View Details ▼
git commit
Commit files to the repository.
git commit
Open an editor to write a message and commit staged files to the repository:
git commit {{[-m|--message]}} "{{message}}"
Commit staged files to the repository with the specified message:
git commit {{[-F|--file]}} {{path/to/commit_message_file}}
Commit staged files with a message read from a file:
git submodule
View Details ▼
git submodule
Inspect, update, and manage submodules.
git submodule
View existing submodules and the checked-out commit for each one:
git submodule update --init --recursive
Install a repository's submodules (listed in `.gitmodules`):
git submodule add {{repository_url}}
Add a Git repository as a submodule of the current one:
pip install
View Details ▼
pip install
Install Python packages.
pip install {{package1 package2 ...}}
Install one or more packages:
pip install {{package1 package2 ...}} {{[-U|--upgrade]}}
Upgrade all specified packages to the latest version, installing any that are not already present:
pip install {{package}}=={{version}}
Install a specific version of a package:
pytest
View Details ▼
pytest
Run Python tests.
pytest {{path/to/test_file1.py path/to/test_file2.py ...}}
Run tests from specific files:
pytest -k {{expression}}
Run tests with names matching a specific [k]eyword expression:
pytest {{[-x|--exitfirst]}}
Exit as soon as a test fails or encounters an error:
rustup update
View Details ▼
rustup update
Update Rust toolchains and `rustup` itself (if not installed using a package manager).
rustup update
Update all installed toolchains and `rustup`:
rustup update {{toolchain}}
Install or update a specific toolchain (see `rustup help toolchain` for more information):
timeout
View Details ▼
timeout
Run a command with a time limit.
timeout 3s sleep 10
Run `sleep 10` and terminate it after 3 seconds:
timeout {{[-s|--signal]}} {{INT|HUP|KILL|...}} {{5s}} {{sleep 10}}
Send a signal to the command after the time limit expires (`TERM` by default, `kill -l` to list all signals):
timeout {{[-v|--verbose]}} {{0.5s|1m|1h|1d|...}} {{command}}
Send verbose output to `stderr` showing signal sent upon timeout:
uv run
View Details ▼
uv run
Run a command or script in the project environment.
uv run {{path/to/script.py}}
Run a Python script:
uv run {{[-m|--module]}} {{module_name}}
Run a Python module:
uv run {{[-w|--with]}} {{package}} {{command}}
Run a command with additional packages installed temporarily:
uv sync
View Details ▼
uv sync
Update the project's environment to match the lockfile.
uv sync
Sync the project environment with the lockfile:
uv sync --all-extras
Sync and include all optional dependencies:
uv sync --extra {{extra_name}}
Sync with specific optional dependencies:
