Metadata-Version: 2.4
Name: opp_repl
Version: 0.1.3
Summary: OMNeT++ Python read-eval-print-loop for running and testing simulations
Author-email: Levente Mészáros <levy@omnetpp.org>
Maintainer-email: Levente Mészáros <levy@omnetpp.org>, Rudolf Hornig <rudi@omnetpp.org>
Project-URL: Homepage, https://omnetpp.org
Project-URL: Documentation, https://github.com/omnetpp/opp_repl/blob/main/README.md
Project-URL: Changes, https://github.com/omnetpp/opp_repl/blob/main/CHANGES.md
Project-URL: Repository, https://github.com/omnetpp/opp_repl
Project-URL: Issues, https://github.com/omnetpp/opp_repl/issues
Project-URL: Changelog, https://github.com/omnetpp/opp_repl/commits/main
Keywords: omnetpp,omnest,simulation,discrete,event,model,repl
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: Console
Classifier: Programming Language :: C++
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ipython
Requires-Dist: pandas
Provides-Extra: mcp
Requires-Dist: mcp; extra == "mcp"
Provides-Extra: cluster
Requires-Dist: dask; extra == "cluster"
Requires-Dist: distributed; extra == "cluster"
Provides-Extra: chart
Requires-Dist: matplotlib; extra == "chart"
Requires-Dist: numpy; extra == "chart"
Provides-Extra: optimize
Requires-Dist: scipy; extra == "optimize"
Requires-Dist: optimparallel; extra == "optimize"
Provides-Extra: github
Requires-Dist: requests; extra == "github"
Provides-Extra: ide
Requires-Dist: py4j; extra == "ide"
Provides-Extra: all
Requires-Dist: dask; extra == "all"
Requires-Dist: distributed; extra == "all"
Requires-Dist: matplotlib; extra == "all"
Requires-Dist: mcp; extra == "all"
Requires-Dist: numpy; extra == "all"
Requires-Dist: optimparallel; extra == "all"
Requires-Dist: py4j; extra == "all"
Requires-Dist: requests; extra == "all"
Requires-Dist: scipy; extra == "all"
Dynamic: license-file

# opp_repl

An interactive Python REPL for OMNeT++ — run simulations, compare results,
optimize parameters, and run a wide range of regression tests.  Provides
an MCP server for AI assistants.  All features are accessible from both
the interactive REPL and command-line tools.  See the
[Overview](doc/overview.md) for the full feature list.

## Installation

Requires Python 3.10+.

```bash
pip install opp_repl
```

See [Installation](doc/installation.md) for details on optional extras
and environment setup.

## Quick Start

First, source the OMNeT++ environment:

```bash
. /path/to/omnetpp/setenv
```

Then launch the REPL using existing omnetpp installation:

```bash
opp_repl --load "etc/*.opp"
```

Then run simulations from the REPL:

```python
In [1]: run_simulations(simulation_project=fifo_project)
```

See [Getting started](doc/getting_started.md) for a full walkthrough.

## Documentation

- [**Overview**](doc/overview.md) — features, CLI options, command-line tools
- [**Installation**](doc/installation.md) — requirements, install, optional extras, environment setup
- [**Getting started**](doc/getting_started.md) — first launch, running simulations, next steps
- [**The REPL**](doc/repl.md) — launch options, namespace, autoreload, user module
- [**Concepts**](doc/concepts.md) — core concepts and how they fit together
- [**OPP files**](doc/opp_files.md) — `.opp` file format, parameters, and examples
- [**Simulation workspaces**](doc/simulation_workspaces.md) — project registry, loading, lookup, defaults
- [**OMNeT++ projects**](doc/omnetpp_projects.md) — OMNeT++ installations, executables, building
- [**Simulation projects**](doc/simulation_projects.md) — model projects, source layout, dependencies, building
- [**Simulation configs**](doc/simulation_configs.md) — INI file discovery, filtering, run counts
- [**Simulation tasks**](doc/tasks.md) — task creation, runners, build modes, re-running
- [**Task results**](doc/task_results.md) — result codes, inspection, filtering, re-running
- [**Running simulations**](doc/running_simulations.md) — running simulations, building projects, cleaning
- [**Comparing simulations**](doc/comparing_simulations.md) — simulation comparison
- [**Smoke tests**](doc/smoke_tests.md) — smoke tests
- [**Fingerprint tests**](doc/fingerprint_tests.md) — fingerprint tests
- [**Statistical tests**](doc/statistical_tests.md) — statistical tests
- [**Speed tests**](doc/speed_tests.md) — speed tests
- [**Chart tests**](doc/chart_tests.md) — chart tests
- [**Sanitizer tests**](doc/sanitizer_tests.md) — sanitizer tests
- [**Feature tests**](doc/feature_tests.md) — feature tests, release tests, running all tests
- [**Bisecting**](doc/bisecting.md) — bisecting git commits for test failures
- [**Parameter optimization**](doc/parameter_optimization.md) — parameter optimization
- [**Code coverage**](doc/coverage.md) — coverage reports
- [**Profiling**](doc/profiling.md) — performance profiling with perf and Hotspot
- [**Overlay builds**](doc/overlay_builds.md) — overlay builds
- [**Cluster**](doc/cluster.md) — SSH cluster execution
- [**GitHub Actions**](doc/github_actions.md) — GitHub Actions integration
- [**MCP server**](doc/mcp_server.md) — MCP server for AI assistants
