opp-repl-installation — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited opp-repl-installation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
opp_repl requires Python 3.10+ on Linux or macOS. It depends on IPython and pandas out of the box; everything else is opt-in.
Upstream reference: https://github.com/omnetpp/opp_repl/blob/main/doc/installation.md
pip install opp_repl
pip install "opp_repl[all]"
git clone https://github.com/omnetpp/opp_repl.git cd opp_repl pip install -e ".[all]"
Installing in editable mode means git pull immediately picks up upstream changes — no re-install.
Pick the minimum set you need. [all] pulls everything.
| Extra | Packages | Enables |
|---|---|---|
mcp | mcp | MCP server for AI assistants |
optimize | scipy, optimparallel | optimize_simulation_parameters() |
chart | matplotlib, numpy | Chart tests, rendered-image baselines |
cluster | dask, distributed | SSH cluster execution |
github | requests | GitHub Actions workflow dispatch |
ide | py4j | OMNeT++ Eclipse IDE bridge |
all | (all of the above) | everything |
Modern Debian-family distros mark the system Python as "externally managed". pip install -e . fails with:
error: externally-managed-environment
Do NOT pass --break-system-packages. Use a dedicated venv:
cd /path/to/opp_repl python3 -m venv .venv . .venv/bin/activate pip install --upgrade pip pip install -e ".[all]"
opp_repl's own setenv auto-activates a .venv/ at its root if one exists, so keeping the venv in-tree is the cleanest pattern.
Order matters — OMNeT++ first (so opp_run* binaries and __omnetpp_root_dir are on PATH), then opp_repl:
cd ~/workspace/omnetpp && . setenv cd ~/workspace/opp_repl && . setenv # activates .venv, extends PATH
After this, opp_repl, opp_build_project, opp_run_simulations, and every opp_run_*_tests / opp_update_*_test_results wrapper is on PATH.
Sourcing opp_repl's setenv AFTER OMNeT++'s setenv activates opp_repl's .venv, which restores a snapshotted PATH from the moment the venv was created — typically a PATH that does NOT have OMNeT++'s bin/ on it. Symptoms:
$ source ~/omnetpp/setenv -q $ source ~/opp_repl/setenv $ opp_makemake --help bash: opp_makemake: command not found # ← wrong
The fix is to source them in the REVERSE order:
cd ~/workspace/opp_repl && . setenv # opp_repl FIRST (activates venv) cd ~/workspace/omnetpp && . setenv # OMNeT++ SECOND (prepends its bin)
After this ordering, opp_makemake, opp_run, opp_scavetool, AND every opp_repl / opp_run_* wrapper are all reachable. Always verify with `command -v opp_makemake opp_run opp_repl` after sourcing; if any is missing, re-order the sourcing.
Alternatively, create the opp_repl venv AFTER first sourcing OMNeT++'s setenv — then the snapshotted PATH already contains OMNeT++'s bin/, and either sourcing order works.
opp_repl --help # should print the CLI usage opp_run_simulations --help # shell wrapper also resolves python -c "import opp_repl; print(opp_repl.__version__)"
A quick smoke-test against OMNeT++'s built-in aloha sample:
cd $__omnetpp_root_dir/samples/aloha opp_run_simulations --filter PureAloha -t 0.1s --no-build
Expect a short summary ending in DONE for each PureAloha run.
two competing entry points on PATH. Check which opp_repl.
py4j startup warning ("optional opp_repl.common.ide packagewill not work") is benign — py4j is only needed for IDE bridge.
NotoColorEmoji.ttf font warning is cosmetic noise.__omnetpp_root_dir is unset, projects that rely on theauto-detected OMNeT++ installation will fail with confusing errors; always source OMNeT++'s setenv first.
setenv AFTER OMNeT++ setenv can erase OMNeT++'s bin from PATH because the venv activation restores a snapshotted PATH. If opp_makemake or opp_run goes missing after sourcing, reverse the order: opp_repl FIRST, then OMNeT++. Always verify with command -v opp_makemake opp_run opp_repl.
opp-repl-opp-files — write .opp project descriptors.opp-repl-repl-usage — launch flags and the IPython UX.opp-repl-cli-tools — use the shell wrappers without IPython.opp-repl-mcp-server — enable the MCP endpoint for agents.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.