Recommended path
For most users, the recommended option is:
- Download the latest packaged release
- Extract it
- Run DecayCore
- Open
http://127.0.0.1:8080if the browser does not open automatically
Latest release:
All releases:
Python and dependency baseline
All DecayCore versions released and documented in this repository are based on Python 3.12.3.
Current dependency baselines from the repository requirement files are:
requirements.txt:numpy==2.4.6,scipy==1.17.1,nicegui==3.13.0,plotly==6.8.0,optuna==4.9.0
From v1.1.6 onwards numba is no longer used. The hot DSP and scoring paths it previously accelerated are now provided by two optional Rust extensions (decaycore-dsp and decaycore-scoring). They are bundled and prebuilt in the packaged releases. If you run from source, see Optional Rust acceleration extensions below — DecayCore still runs without them using a pure-Python fallback, but they are strongly recommended for acceptable performance.
Run from release package
Windows
- Download
DecayCore_<version>_windows.7zfrom Releases. - Extract the ZIP.
- Run
DecayCore.exe. - If SmartScreen appears, choose
More info->Run anyway. - Allow private firewall access if prompted. DecayCore runs on internal server on your computer.
- Open
http://127.0.0.1:8080if the browser does not open automatically.
Ubuntu / Debian Linux
- Download
DecayCore_<version>_linux.7zfrom Releases. - Extract the archive.
- Open Terminal in the extracted folder and run:
./run.sh
-
Built-in measurement: Measurement has been verified to work on Windows. Linux has been verified to work at least on Ubuntu 22.04. macOS could not be tested due to unavailable test hardware. On platforms where measurement is unavailable, compatible external measurements can be used.
-
Built-in measurement audio requires the system PortAudio library. If measurement audio reports a PortAudio/backend error, install it first:
sudo apt install libportaudio2
- Open
http://127.0.0.1:8080if the browser does not open automatically.
Raspberry Pi / Linux ARM64
- Download
DecayCore_<version>_linux_arm64.7zfrom Releases. - Extract the archive.
- Open Terminal in the extracted folder and run:
./run.sh
- Use this build for Raspberry Pi 4/5 running a 64-bit operating system, Debian/Ubuntu Linux ARM64 systems, and other 64-bit ARM Linux machines.
- This build does not support 32-bit Raspberry Pi OS.
- Open
http://127.0.0.1:8080if the browser does not open automatically.
macOS (Apple Silicon)
- Download
DecayCore_<version>_macos_arm64.7zfrom Releases. - Extract the archive.
- Double-click
Start_Decay.commandto launch DecayCore through Terminal. - If macOS blocks the first launch, open
System Settings -> Privacy & Security -> Open Anyway. - If you prefer the bundle directly, you can also double-click
DecayCore_<version>.app. - If you prefer Terminal, open Terminal in the extracted folder and run:
./Start_Decay.command
- Built-in measurement: Measurement has been verified to work on Windows. Linux has been verified to work at least on Ubuntu 22.04. macOS could not be tested due to unavailable test hardware. macOS users can use compatible external measurements.
- If macOS asks for microphone access, allow DecayCore. Measurement files are saved under
Documents/DecayCore/measurementby default and fall back to a writable app-data location if needed. - Open
http://127.0.0.1:8080if the browser does not open automatically.
Run directly from Python source
Use this path if you want to run DecayCore from a cloned source tree instead of a packaged release. The documented baseline is Python 3.12.3.
Repository:
Get the source with Git
Install Git first:
- Windows: https://git-scm.com/download/win
- Linux: use your distribution package manager, for example
sudo apt install git - macOS: install Xcode Command Line Tools with
xcode-select --install, or install Git with Homebrew
Clone the repository:
git clone https://github.com/VilhoValittu/DecayCore.git
cd DecayCore
To update an existing clone later:
cd DecayCore
git pull
Optional Rust acceleration extensions
DecayCore ships two optional Rust extensions that accelerate the DSP and scoring
paths that previously relied on numba:
decaycore-dsp(Rust DSP extension)decaycore-scoring(Rust scoring extension)
These are prebuilt and bundled in the packaged releases, so release users do
not need them. When you run from source they are not installed by
requirements.txt. DecayCore will still start and produce correct results
without them through a pure-Python fallback, but the fallback is significantly
slower. Building the extensions is strongly recommended for source runs.
Building them requires a Rust toolchain. Install it once with rustup:
- Linux / macOS:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Windows: download and run
rustup-init.exefrom https://rustup.rs/.
Restart your shell (or run . "$HOME/.cargo/env" on Linux/macOS) so cargo is
on PATH, then verify:
cargo --version
With your DecayCore virtual environment activated (see the per-platform steps
below), build and install both extensions from the source tree. pip reads the
maturin build backend declared by each crate and compiles them automatically:
python -m pip install ./decaycore-scoring
python -m pip install ./decaycore-dsp
On Windows, run the same two commands from PowerShell after activating the
virtual environment. The Rust toolchain on Windows also needs the MSVC build
tools (the rustup-init.exe installer prompts to install them if they are
missing).
You can confirm the extensions loaded after starting DecayCore: when an extension is missing, a fallback warning is logged and the Python implementation is used instead.
Windows
- Install Python from https://www.python.org/downloads/windows/ and enable
Add python.exe to PATH. - Open PowerShell in the cloned DecayCore source folder.
- Create and activate a virtual environment:
py -3 -m venv .venv
.\.venv\Scripts\Activate.ps1
- Install dependencies:
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- (Recommended) Build the optional Rust extensions. This requires a Rust toolchain — see Optional Rust acceleration extensions:
python -m pip install ./decaycore-scoring
python -m pip install ./decaycore-dsp
- Start DecayCore:
$env:PYTHONPATH = "src"
python -m decaycore
- Open
http://127.0.0.1:8080if the browser does not open automatically.
If PowerShell blocks activation, run:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Then activate the virtual environment again.
Ubuntu / Debian Linux
- Install Git, Python, venv support, pip :
sudo apt update
sudo apt install git python3 python3-venv python3-pip
- Open Terminal in the cloned DecayCore source folder.
- Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
- Install dependencies:
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- (Recommended) Build the optional Rust extensions. This requires a Rust toolchain — see Optional Rust acceleration extensions:
python -m pip install ./decaycore-scoring
python -m pip install ./decaycore-dsp
- Start DecayCore:
PYTHONPATH=src python -m decaycore
- Open
http://127.0.0.1:8080if the browser does not open automatically.
macOS
- Install Python from https://www.python.org/downloads/macos/ or with Homebrew.
- Install Git with Xcode Command Line Tools or Homebrew:
xcode-select --install
or:
brew install git
- Open Terminal in the cloned DecayCore source folder.
- Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
- Install dependencies:
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- (Recommended) Build the optional Rust extensions. This requires a Rust toolchain — see Optional Rust acceleration extensions:
python -m pip install ./decaycore-scoring
python -m pip install ./decaycore-dsp
- Start DecayCore:
PYTHONPATH=src python -m decaycore
- Open
http://127.0.0.1:8080if the browser does not open automatically.
Output path
Output ZIP files are saved by default to:
Documents/DecayCore/filters/<version>/
If that path is not writable, DecayCore falls back to a safe writable directory and reports the final path in Results.
Browser and PNG notes
- DecayCore UI is browser-based.
- Interactive graphs can be saved from the graph download button in the UI.
- ZIP export is focused on filter artifacts and summary data.
- Dashboard image inclusion can be disabled in performance mode.
Known issue: Windows + Vivaldi
In some Windows setups, using Vivaldi can trigger NumPy MemoryError under browser memory pressure.
Workarounds:
- use Chrome, Edge, or Firefox
- close extra Vivaldi tabs or extensions
- re-run the process in another browser if needed