Yes, there are a few routes, depending on what “stand alone” means for you.
1. Generate Python and run it outside GRC (easiest)
In GNU Radio Companion, hit Generate (F5). It produces a .py file you can run with python3 yourflowgraph.py without opening GRC. Set the block “Generate Options” to QT GUI for a window with your sliders/plots, or No GUI for headless use. You still need GNU Radio installed on the machine.
2. Make it a proper command-line tool
Use Options → Generate Options: No GUI, and add Parameter blocks (e.g. frequency, gain, filename). The generated script then accepts command-line arguments, like ./flowgraph.py --freq 1420.4e6 --gain 40.
3. Embed it in your own app
Generated flowgraphs are just Python classes (a gr.top_block or Qt widget). You can import them into your own script, wrap them in a custom GUI, or control them from other code.
4. Bundle it into a true executable (no GNU Radio install needed)
This is possible but fiddly. Tools like PyInstaller can package the Python script, but GNU Radio’s native libraries, SoapySDR/UHD drivers and Qt plugins often need manual hooks, so expect some trial and error. Alternatives that tend to be more reliable:
- Docker or a Conda environment containing GNU Radio plus your script.
- AppImage (Linux), which is a common approach for distributing GNU Radio apps.
- Windows: use the radioconda installer and ship your script alongside it.
5. C++ output
GRC can generate C++ flowgraphs (Generate Options: C++), built with CMake. This yields a compiled binary, though it still links against GNU Radio libraries, and not all blocks are supported.
For most people, option 1 or 2 plus a Conda/Docker environment is the practical answer.
An AppImage produces a single self-contained executable file (e.g. MyFlowgraph-x86_64.AppImage) for Linux. It bundles your app together with the libraries it needs, so the user doesn’t install anything.
- To run it: download,
chmod +x MyFlowgraph.AppImage, then double-click or run./MyFlowgraph.AppImage. - How it works: the file is a compressed filesystem image. When launched, it mounts itself temporarily (via FUSE) and runs the app inside. Nothing is installed or extracted permanently.
- Portability: it runs on most distros, as long as the host’s glibc is at least as new as the one it was built against. Builders usually build on an older distro to maximise compatibility.
For a GNU Radio flowgraph, you’d typically bundle Python, GNU Radio, Qt and your generated script (plus any SDR drivers like SoapySDR or UHD) into an AppDir, then package it with appimagetool. Hardware access (USB permissions/udev rules) still has to be set up on the host, since an AppImage can’t install those.
It’s Linux-only. For Windows you’d use an installer or a portable folder instead.