.github/workflows | ||
installer_specs | ||
.gitignore | ||
build_installer.py | ||
buildenv.yaml | ||
LICENSE | ||
radioconda.yaml | ||
README.md | ||
rerender.py |
radioconda
This repository holds cross-platform installers for a collection of software radio packages bundled with the conda package manager. These installers will get you started with an environment that includes the packages listed here. Once installed, you will have a fully functional conda distribution, meaning that you can install additional packages (if available through conda-forge) or upgrade to the latest versions using conda
or mamba
, e.g.:
mamba install <pkg-name>
mamba upgrade --all
Think of radioconda as an alternative to Anaconda or Miniforge, but specialized for software radio.
NOTE: Radioconda is built from packages maintained by the conda-forge project. If you have questions or issues that are specific to the conda installation of a particular package, please report them at the corresponding feedstock repository.
Download
Radioconda installers are available here: https://github.com/ryanvolz/radioconda/releases.
OS | Architecture | Installer Type | Download |
---|---|---|---|
Linux | x86_64 | Command-line | radioconda-Linux-x86_64.sh |
macOS | x86_64 | Command-line | radioconda-MacOSX-x86_64.sh |
macOS | x86_64 | Graphical | radioconda-MacOSX-x86_64.pkg |
Windows | x86_64 | Graphical | radioconda-Windows-x86_64.exe |
Install
For a command line install, download the installer and run,
bash radioconda-*-Linux-x86_64.sh # or similar for other installers for unix platforms
For a graphical install, download the installer and double-click it.
Non-interactive install
For non-interactive usage, look at the options by running the following:
bash radioconda-*-Linux-x86_64.sh -h # or similar for other installers for unix platforms
or if you are on Windows, run:
start /wait "" build/radioconda-*-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=0 /S /D=%UserProfile%\radioconda
Developers
Usage
Each installer package is built from a specification directory in installer_specs using conda constructor. An installer can be built manually using the build_installer.py script. The specification directories set the exact versions of the included packages so that constructor
will produce a predictable result that can be tracked by git for each release. In turn, the specification directories are created/updated by re-rendering the radioconda environment specification file using the rerender.py script.
So, the procedure to create a new installer package is:
- Update the environment specification file
radioconda.yaml
, if desired. - Re-render the constructor specification directories by running
rerender.py
. - Commit the changes to produced by steps 1 and 2 to the git repository.
- Build the installer package for a particular platform by running
build_installer.py
.
Release
To release a new version of radioconda and build installer packages using GitHub's CI:
- Update the repository following steps 1-3 above.
- Make a new pre-release on GitHub with a name equal to the version.
- Wait until all artifacts are uploaded by CI
- For each build, we upload 3 artifacts
- One installer with the version name
- One installer without the version name
- The SHA256
- For each build, we upload 3 artifacts
- Mark the pre-release as a release
NOTE: using a pre-release is important to make sure the latest links work.