Skip to main content

opp_env: Automated Installation of OMNeT++ Simulation Frameworks

opp_env is a powerful tool that allows for the easy and automated installation of OMNeT++ simulation frameworks and models, including dependencies like INET Framework and OMNeT++ itself. It can install any version of OMNeT++ and INET, as well as currently selected versions of Veins, SimuLTE, Simu5G and other models. We are working towards expanding its database with more models, and we are open to suggestions and contributions.

opp_env supports Linux and macOS systems. On Windows 10 & 11, opp_env can be run on the Windows Subsystem for Linux (WSL2).

Features

opp_env provides a number of powerful features that make it a valuable tool for any researcher or developer working with OMNeT++ simulation frameworks:

  • Automated installation of OMNeT++ simulation frameworks and models, including dependencies like INET Framework and OMNeT++ itself.
  • Support for any version of OMNeT++ and INET, as well as select versions of Veins, SimuLTE, Simu5G and other 3rd party models.
  • Reproducible builds thanks to the powerful isolation provided by Nix.
  • Easy to use shell command that sets up an environment for working with the selected simulation framework.
  • Customizable configuration options that allow for advanced control over the installation process.

Usage

Using opp_env is simple. To install a specific version of a simulation framework and its dependencies, first create a workspace and initialize it:

mkdir workspace && cd workspace && opp_env init

Then run the following command:

opp_env install <framework-version>

For example, to install Simu5G version 1.2.1, run the following command:

opp_env install simu5g-1.2.1

This will download Simu5G, the matching INET and OMNeT++ packages and compile them.

To open a shell prompt where you can use the recently installed Simu5G model, type:

opp_env shell simu5g-1.2.1

Installation

Installing opp_env on Linux and macOS

opp_env requires Python3, pip and Nix installed on your machine. Everything else will be installed by Nix.

Installing Python3 and pip

Use your operating system's package manager to install Python3 and pip.

Installing Nix

You can download and install Nix from here. All other opp_env dependencies are automatically installed using the Nix package manager.

Installing opp_env with pip

Once you have the prerequisites, you can install opp_env using pip:

First, make sure that pip is the latest version:

pip install --upgrade pip

You can now install opp_env:

pip3 install opp-env

When you install opp_env using pip, it installs the opp_env Python module, as well as a small script into your system's path (e.g. ~/.local/bin or the virtual environment's bin directory) that allows you to invoke it from the shell. The opp_env command is equivalent to running python -m opp_env, which also runs the opp_env Python module. (Make sure that ~/.local/bin is in your PATH environment variable. Acivating the python virtual environment does this for you automatically.)

Installing opp_env on Windows 10 & 11 (with WSL2)

opp_env requires the Nix package manager which is available only on Linux and macOS, but you can still use opp_env on Windows running it in a WSL2 (Windows Subsystem for Linux) container.

For Windows 10 and 11, we provide a pre-packaged, Ubuntu 22.04 based WSL2 container with all the necessary dependencies (Python3, pip, Nix, etc.) already installed.

To install the opp_env WSL distro image, open a command prompt and run the following command:

curl.exe -L https://github.com/omnetpp/opp_env/releases/download/wsl/opp_env-wsl.tar.gz | wsl --import opp_env .\opp_env-wsl -

The above command will download and install a WSL2 container image for opp_env and place it into the opp_env-wsl folder. The shell can be started with:

wsl -d opp_env --cd ~

Once you are inside the container, you can run the opp_env command as suggested in the previous section.

Installing opp_env with Docker

We provide docker images for opp_env that can be installed with the following command:

docker pull ghcr.io/omnetpp/opp_env

You can try it interactively with:

docker run -it ghcr.io/omnetpp/opp_env

This image is the same as the one used for generating the WSL2 image.

Developing or changing opp_env

If you want to contribute to the development of opp_env or need to modify the source code for any reason, you can install the package in editable mode by cloning the git repo, changing to its root directory and using the following command:

pip install --editable .

This will install the Python module and the opp_env command, but with the added ability to make local modifications that will take effect immediately.

If you get the error: externally-managed-environment message, see the note marked IMPORTANT above.

In case of other errors, try upgrading pip to the latest version first by running python3 -m pip install --upgrade pip.

Building the Python Package

To build the Python package, you first need to install the build package by running the following command:

pip install --upgrade build

Once you have build installed, you can build the package by running:

python3 -m build

If you have any issues or questions, feel free to open an issue on the GitHub repository. We are always happy to help!

Metadata

Release files for opp-env 0.29.1.240516

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opp-env 0.29.1.240516
File Size Uploaded Provenance
opp_env-0.29.1.240516.tar.gz 82.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for opp-env 0.29.1.240516
File Interpreter ABI Platform
opp_env-0.29.1.240516-py3-none-any.whl Python 3 none any Details

Total release size: 157.3 kB

Release files / opp_env-0.29.1.240516.tar.gz

Download URL opp_env-0.29.1.240516.tar.gz
Size 82.7 kB
Tags Source
SHA-256 checksum
How to use checksums
818cc9b7e4ed4133c89442df0c607313f96298c471b763691f4721c27489b4a3
BLAKE2b-256 checksum
How to use checksums
791566a78f883b45cd9b2f95e8e27ed04461fd1dacb136edcb6bc682ee2daf3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / opp_env-0.29.1.240516-py3-none-any.whl

Download URL opp_env-0.29.1.240516-py3-none-any.whl
Size 74.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db0a8031481dd0857d0fcec48eabe0bf94b807748a4f3fed88b0baa6b253b2f6
BLAKE2b-256 checksum
How to use checksums
42b4cda05c7a1f581f72e3dd618e15447d63c3c29522e20d50bb203305ac08df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Security for opp-env 0.29.1.240516

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page