Skip to content

Python API Installation

stepss is a Python interface to the RAMSES dynamic simulator and the Helios AC power-flow engine, enabling users to define test cases, run simulations, extract results, and perform post-processing, all within Python scripts or Jupyter notebooks.

stepss supports Windows, Linux, and macOS, for both dynamic simulation and the bundled Helios power-flow engine, and integrates with standard scientific Python libraries (NumPy, SciPy, Matplotlib).

Install stepss and all recommended dependencies via pip:

Terminal window
pip install jupyter ipython stepss

Required dependencies (matplotlib, scipy, numpy) are installed automatically.

For a minimal installation (no plotting or notebook support):

Terminal window
pip install stepss

A stepss version is the bundled RAMSES version, optionally followed by a counter: version 3.59 carries RAMSES 3.59. The counter is appended when stepss is released without a new RAMSES behind it, so a 3.59.1 would bundle RAMSES 3.59 as well. A new RAMSES release restarts the sequence with a bare version.

stepss on PyPI starts at 3.59; nothing below that can be installed.

To pin an engine version, pin the matching stepss release:

Terminal window
pip install "stepss~=3.59.0" # any 3.59.x, all bundling RAMSES 3.59

Check what an installed copy carries:

import stepss
print(stepss.__version__, stepss.__ramses_version__, stepss.__helios_version__)

On Linux, the following system libraries must be installed before running stepss:

Terminal window
sudo apt install libopenblas0 libgfortran5 libgomp1

These packages provide:

PackagePurpose
libopenblas0OpenBLAS BLAS/LAPACK routines used by the solver
libgfortran5GNU Fortran runtime required by the Fortran components of RAMSES
libgomp1OpenMP runtime for multi-core parallel execution

On most desktop Linux distributions these are already present. If stepss fails to import with a shared-library error, install the packages above and retry.

On macOS (Apple Silicon), install the GNU compiler runtimes and OpenBLAS via Homebrew before running stepss:

Terminal window
brew install gcc openblas

These provide the libgfortran, libgomp, and libopenblas dylibs that the bundled arm64 binaries link against. Intel Macs are not supported.

case.addRunObs(...) asks the engine to record chosen quantities while a simulation runs, and RAMSES writes them to a curve file as it goes. Nothing has to be installed for this.

The file is plain text, with a # header naming the columns and time in column one, so any reader takes it:

import numpy as np
data = np.loadtxt('temp_display.cur')

stepss.monitor plots chosen quantities while the simulation runs, one panel per observable:

import stepss
ram = stepss.sim()
case = stepss.cfg('cmd.txt')
ram.execSim(case, 0.0) # initialise, paused at t = 0
mon = stepss.monitor(ram, ['BV 4044', 'MS g6'])
curves = mon.run(step=0.5) # run to the end of the scenario

It polls the engine in process and draws with matplotlib, which pip installs with the package, so nothing further is needed. The API reference lists the descriptor vocabulary and the rest of the methods.

PlatformLibraryNotes
Windowsramses.dllPrimary platform, full support
Linuxramses.soFull support (requires the system libraries above)
macOSramses.soApple Silicon (arm64) only; requires the Homebrew runtimes above