![smoke tests](https://github.com/omnetpp/opp_env/actions/workflows/smoketest.yml/badge.svg)
# opp_env: Simplifying OMNeT++ Model Installations
`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 11, `opp_env` can be
run on the Windows Subsystem for Linux (WSL2).
> [!NOTE]
> `opp_env` relies on [Nix](https://nixos.org/), a powerful package manager that
> provides isolation between different versions of dependencies and allows for
> reproducible builds. By leveraging the power of Nix, `opp_env` ensures that each
> installation is consistent and can be easily replicated on different machines.
## 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.
## Installation
See the [INSTALL](INSTALL.md) page.
## Usage
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.
> [!TIP]
> To install the latest version of a package, use the `latest` pseudo-version
> e.g. to install the latest version of OMNeT++ use `opp_env install omnetpp-latest`
To open a shell prompt where you can use the recently installed Simu5G model, type:
opp_env shell simu5g-1.2.1
> [!IMPORTANT]
> You cannot use the packages you installed via `opp_env` outside of `opp_env shell` or `opp_env run`.
## Available Packages
To see the list of available packages, type: `opp_env list`. The output from `opp_env list` from October 31, 2024:
omnetpp 6.1.0 6.0.3 6.0.2 6.0.1 6.0.0 5.7.1 5.7.0
5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0
5.4.2 5.4.1 5.4.0 5.3.1 5.3.0 5.2.2 5.2.1
5.2.0 5.1.2 5.1.1 5.1.0 5.0.1 5.0.0 4.6.1
4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.2
4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 4.2.0 4.1.1
4.1.0 4.0.2 4.0.1 3.3.2 3.3.1 git
inet 4.5.4 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 4.3.9
4.3.8 4.3.7 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6
4.2.5 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.2
4.1.1 4.1.0 4.0.0 3.8.3 3.8.2 3.8.1 3.8.0
3.7.1 3.7.0 3.6.8 3.6.7 3.6.6 3.6.5 3.6.4
3.6.3 3.6.2 3.6.1 3.6.0 3.5.x 3.5.0 3.4.0
3.3.0 3.2.4 3.2.3 3.2.2 3.2.1 3.2.0 3.1.x
3.1.1 3.1.0 3.0.x 3.0.0 2.6.x 2.6.0 2.5.x
2.5.0 2.4.x 2.4.0 2.3.x 2.3.0 2.2.x 2.2.0
2.1.x 2.1.0 2.0.x 2.0.0 20100323 20061020 git
afdx 20220904
ansa 3.4.0
artery_allinone 20240807 20230820
can_allinone 0.1.0
castalia 3.3pr16 3.3 3.2
cell 20140729
chaosmanager 20221210
cmm_orbit_mobility_allinone 20220815
core4inet 20240124 221109
crsimulator 20140204
dctrafficgen 20181016
dns 20150911
ecmp_allinone 20230713
fico4omnet 20240124 20210113
flora 1.1.0
gptp 20200311
gradys 0.5
hnocs 20221212
icancloud 1.0
ieee802154standalone 20180310
inet_hnrl 20170217 20100723
inetgpl 1.0
inetmanet3 3.8.2
inetmanet4 4.0.0
libara_allinone 20150402
lora_icn paper
lre_omnet 1.0.1
mixim 2.3
ndnomnet 20200914
nesting 0.9.1
neta_allinone 1.0
obs 20130114
omnet_tdma 1.0.2
opencv2x_artery 1.4.1
opencv2x_veins 1.4.1
opendsme_allinone 20201110
openflow 20240124 20231017
opp_env_testproject 0.1
oppbsd 4.0
ops_allinone 20230331
os3 1.0
plexe 3.1.2
processbus_allinone 20180926
quagga 20090803
quisp 20230807
rease 20130819
rimfading_allinone 20171123
rinasim 20200903
rpl_allinone 6tisch_paper
rspsim 6.1.3 6.1.2
sdn4core 20240124
seapp 20191230
sedencontroller_allinone 20230305
signals_and_gateways 20240124
simcan 1.2
simproctc 2.0.2
simu5g 1.2.2 1.2.1 1.1.0 git
simulte 1.2.0 1.1.0 0.9.1
soa4core 20240124
solarleach 1.01
space_veins_allinone 0.3
stochasticbattery 20170224
streetlightsim 1.0
swim_allinone 20180221
tcp_fit_illinois 20150828
tsch_allinone 6tisch_paper
veins 5.2 5.1 5.0 4.7.1 4.7 4.6 4.4 4.3 3.0 git
veins_vlc 1.0
wifidirect_allinone 3.4
## Modifying opp_env
If you want to modify `opp_env`, see the [DEVELOP](DEVELOP.md) page.
Raw data
{
"_id": null,
"home_page": null,
"name": "opp-env",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "Rudolf Hornig <rudi@omnetpp.org>",
"keywords": "omnetpp, omnest, simulation, discrete, event, package manager, model",
"author": null,
"author_email": "Andr\u00e1s Varga <andras@omnetpp.org>, Levente M\u00e9sz\u00e1ros <levy@omnetpp.org>, Rudolf Hornig <rudi@omnetpp.org>",
"download_url": "https://files.pythonhosted.org/packages/b1/78/8fecf994905b3397282d3c236bb3ade3ba88fa6a6e914e6cc57e55f003b6/opp_env-0.31.1.241031.tar.gz",
"platform": null,
"description": "![smoke tests](https://github.com/omnetpp/opp_env/actions/workflows/smoketest.yml/badge.svg)\n\n# opp_env: Simplifying OMNeT++ Model Installations\n\n`opp_env` is a powerful tool that allows for the easy and automated installation\nof OMNeT++ simulation frameworks and models, including dependencies like INET\nFramework and OMNeT++ itself. It can install any version of OMNeT++ and INET, as\nwell as currently selected versions of Veins, SimuLTE, Simu5G and other models.\nWe are working towards expanding its database with more models, and we are open\nto suggestions and contributions.\n\n`opp_env` supports Linux and macOS systems. On Windows 11, `opp_env` can be\nrun on the Windows Subsystem for Linux (WSL2).\n\n> [!NOTE]\n> `opp_env` relies on [Nix](https://nixos.org/), a powerful package manager that\n> provides isolation between different versions of dependencies and allows for\n> reproducible builds. By leveraging the power of Nix, `opp_env` ensures that each\n> installation is consistent and can be easily replicated on different machines.\n\n## Features\n\n`opp_env` provides a number of powerful features that make it a valuable tool for\nany researcher or developer working with OMNeT++ simulation frameworks:\n\n- Automated installation of OMNeT++ simulation frameworks and models, including\n dependencies like INET Framework and OMNeT++ itself.\n- Support for any version of OMNeT++ and INET, as well as select\n versions of Veins, SimuLTE, Simu5G and other 3rd party models.\n- Reproducible builds thanks to the powerful isolation provided by Nix.\n- Easy to use shell command that sets up an environment for working with the\n selected simulation framework.\n- Customizable configuration options that allow for advanced control over the\n installation process.\n\n## Installation\n\nSee the [INSTALL](INSTALL.md) page.\n\n## Usage\n\nTo install a specific version of a simulation framework\nand its dependencies, first create a workspace and initialize it:\n\n mkdir workspace && cd workspace && opp_env init\n\nThen run the following command:\n\n opp_env install <framework-version>\n\nFor example, to install Simu5G version 1.2.1, run the following command:\n\n opp_env install simu5g-1.2.1\n\nThis will download Simu5G, the matching INET and OMNeT++ packages and compile\nthem.\n\n> [!TIP]\n> To install the latest version of a package, use the `latest` pseudo-version\n> e.g. to install the latest version of OMNeT++ use `opp_env install omnetpp-latest`\n\nTo open a shell prompt where you can use the recently installed Simu5G model, type:\n\n opp_env shell simu5g-1.2.1\n\n> [!IMPORTANT]\n> You cannot use the packages you installed via `opp_env` outside of `opp_env shell` or `opp_env run`.\n\n## Available Packages\n\nTo see the list of available packages, type: `opp_env list`. The output from `opp_env list` from October 31, 2024:\n\n omnetpp 6.1.0 6.0.3 6.0.2 6.0.1 6.0.0 5.7.1 5.7.0 \n 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0\n 5.4.2 5.4.1 5.4.0 5.3.1 5.3.0 5.2.2 5.2.1\n 5.2.0 5.1.2 5.1.1 5.1.0 5.0.1 5.0.0 4.6.1\n 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.2\n 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 4.2.0 4.1.1\n 4.1.0 4.0.2 4.0.1 3.3.2 3.3.1 git\n inet 4.5.4 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 4.3.9\n 4.3.8 4.3.7 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6\n 4.2.5 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.2\n 4.1.1 4.1.0 4.0.0 3.8.3 3.8.2 3.8.1 3.8.0\n 3.7.1 3.7.0 3.6.8 3.6.7 3.6.6 3.6.5 3.6.4\n 3.6.3 3.6.2 3.6.1 3.6.0 3.5.x 3.5.0 3.4.0\n 3.3.0 3.2.4 3.2.3 3.2.2 3.2.1 3.2.0 3.1.x\n 3.1.1 3.1.0 3.0.x 3.0.0 2.6.x 2.6.0 2.5.x\n 2.5.0 2.4.x 2.4.0 2.3.x 2.3.0 2.2.x 2.2.0\n 2.1.x 2.1.0 2.0.x 2.0.0 20100323 20061020 git\n afdx 20220904\n ansa 3.4.0\n artery_allinone 20240807 20230820\n can_allinone 0.1.0\n castalia 3.3pr16 3.3 3.2\n cell 20140729\n chaosmanager 20221210\n cmm_orbit_mobility_allinone 20220815\n core4inet 20240124 221109\n crsimulator 20140204\n dctrafficgen 20181016\n dns 20150911\n ecmp_allinone 20230713\n fico4omnet 20240124 20210113\n flora 1.1.0\n gptp 20200311\n gradys 0.5\n hnocs 20221212\n icancloud 1.0\n ieee802154standalone 20180310\n inet_hnrl 20170217 20100723\n inetgpl 1.0\n inetmanet3 3.8.2\n inetmanet4 4.0.0\n libara_allinone 20150402\n lora_icn paper\n lre_omnet 1.0.1\n mixim 2.3\n ndnomnet 20200914\n nesting 0.9.1\n neta_allinone 1.0\n obs 20130114\n omnet_tdma 1.0.2\n opencv2x_artery 1.4.1\n opencv2x_veins 1.4.1\n opendsme_allinone 20201110\n openflow 20240124 20231017\n opp_env_testproject 0.1\n oppbsd 4.0\n ops_allinone 20230331\n os3 1.0\n plexe 3.1.2\n processbus_allinone 20180926\n quagga 20090803\n quisp 20230807\n rease 20130819\n rimfading_allinone 20171123\n rinasim 20200903\n rpl_allinone 6tisch_paper\n rspsim 6.1.3 6.1.2\n sdn4core 20240124\n seapp 20191230\n sedencontroller_allinone 20230305\n signals_and_gateways 20240124\n simcan 1.2\n simproctc 2.0.2\n simu5g 1.2.2 1.2.1 1.1.0 git\n simulte 1.2.0 1.1.0 0.9.1\n soa4core 20240124\n solarleach 1.01\n space_veins_allinone 0.3\n stochasticbattery 20170224\n streetlightsim 1.0\n swim_allinone 20180221\n tcp_fit_illinois 20150828\n tsch_allinone 6tisch_paper\n veins 5.2 5.1 5.0 4.7.1 4.7 4.6 4.4 4.3 3.0 git\n veins_vlc 1.0\n wifidirect_allinone 3.4\n\n## Modifying opp_env\n\nIf you want to modify `opp_env`, see the [DEVELOP](DEVELOP.md) page.\n",
"bugtrack_url": null,
"license": null,
"summary": "A tool, that sets up the development environment for OMNeT++ projects",
"version": "0.31.1.241031",
"project_urls": {
"Changelog": "https://github.com/omnetpp/opp_env/commits/main",
"Changes": "https://github.com/omnetpp/opp_env/blob/main/CHANGES.md",
"Documentation": "https://github.com/omnetpp/opp_env/blob/main/README.md",
"Homepage": "https://omnetpp.org",
"Issues": "https://github.com/omnetpp/opp_env/issues",
"Repository": "https://github.com/omnetpp/opp_env"
},
"split_keywords": [
"omnetpp",
" omnest",
" simulation",
" discrete",
" event",
" package manager",
" model"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "70ce4770c5b61b8f7e471db7cae8b9dcf8bc229f80255cc2c576bd07bd5854f4",
"md5": "50c2340cdbc047a938a72caa2dba58c8",
"sha256": "2327b730ee2119e71a55d070f7b4a224fc54bdb7007caf89c8fc2c270aa8be07"
},
"downloads": -1,
"filename": "opp_env-0.31.1.241031-py3-none-any.whl",
"has_sig": false,
"md5_digest": "50c2340cdbc047a938a72caa2dba58c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 88696,
"upload_time": "2024-10-31T11:01:25",
"upload_time_iso_8601": "2024-10-31T11:01:25.855888Z",
"url": "https://files.pythonhosted.org/packages/70/ce/4770c5b61b8f7e471db7cae8b9dcf8bc229f80255cc2c576bd07bd5854f4/opp_env-0.31.1.241031-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b1788fecf994905b3397282d3c236bb3ade3ba88fa6a6e914e6cc57e55f003b6",
"md5": "6cc3e883629eb57780d51c6d670a78dc",
"sha256": "568b9c2fef41b5d7b8d97667ee855e7ca3315387357d60493607a331196c283a"
},
"downloads": -1,
"filename": "opp_env-0.31.1.241031.tar.gz",
"has_sig": false,
"md5_digest": "6cc3e883629eb57780d51c6d670a78dc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 103045,
"upload_time": "2024-10-31T11:01:27",
"upload_time_iso_8601": "2024-10-31T11:01:27.735336Z",
"url": "https://files.pythonhosted.org/packages/b1/78/8fecf994905b3397282d3c236bb3ade3ba88fa6a6e914e6cc57e55f003b6/opp_env-0.31.1.241031.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-31 11:01:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "omnetpp",
"github_project": "opp_env",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "opp-env"
}