MIKE+Py is an open-source Python package for interacting with MIKE+ model databases (.sqlite files). It enables automation of modelling tasks, programmatic data manipulation, scenario management, and simulation execution, enhancing the reproducibility and efficiency of MIKE+ workflows.
Installation
MIKE+Py can be installed from PyPI using uv (or pip):
uv pip install mikeplus
Note
Use of MIKE+Py requires a valid MIKE+ license.
To install a version compatible with a specific MIKE+ release year (e.g., MIKE+ 2025):
uv pip install mikeplus==2025.*
Quick Start
Here are a couple of quick examples to get you started:
Open a database and read table data into a Pandas DataFrame:
import mikeplus as mp
with mp.open("your_model.sqlite") as db:
db.tables.msm_Node.to_dataframe()
Open a database and run the active simulation setup:
import mikeplus as mp
with mp.open("your_model.sqlite") as db:
db.run()
Key Features
- Database Interaction: Programmatically open, create, and manage MIKE+
.sqlitedatabases. - Data Manipulation: Read and modify model data stored in various tables using a fluent API that supports Pandas DataFrames.
- Scenario Management: Access, create, activate, and delete scenarios and alternatives.
- Simulation Execution: Run MIKE+ simulations for different modules (CS, EPANET, SWMM) directly from Python.
- Automation: Automate repetitive tasks such as parameter updates, scenario comparisons, and batch simulations.
- Tools Integration: Programmatic access to some MIKE+ GUI tools.
Documentation
Comprehensive documentation is available at: https://dhi.github.io/mikepluspy/
Related Packages
- MIKE IO: read and write MIKE files such as dfs0, dfs2 and dfsu.
- MIKE IO 1D: read MIKE 1D network results.
- ModelSkill: compare model results with observations.
Caution: Work with Database Copies
MIKE+Py directly modifies the .sqlite database file. There is no undo functionality within MIKE+Py for changes made to the database.
It is strongly recommended to always work on a copy of your MIKE+ database, not the original, to prevent accidental data loss or corruption.
Compatibility Issues
There are known compatibility issues when using MIKE+Py alongside other DHI libraries (e.g. MIKE IO, MIKE IO 1D, ModelSkill).
- MIKE IO is not fully supported in the same Python process as MIKE+Py. MIKE+Py warns when both are loaded; import MIKE IO before MIKE+Py, or use separate processes if you run into problems.
- Importing MIKE IO 1D before MIKE+Py is not supported and will cause errors.
The following is the suggest import order which works for most use cases, but could still run into issues:
import mikecore
import mikeio
import modelskill as ms
import mikeplus as mp
import mikeio1d
Metadata
Release files for mikeplus 2026.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mikeplus-2026.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / mikeplus-2026.1.0-py3-none-any.whl
| Download URL | mikeplus-2026.1.0-py3-none-any.whl |
|---|---|
| Size | 323.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fbfcdb967e88a3870a9c9a132febcc6fdec11021098b0f53ebfa309424b2b6cb
|
|
BLAKE2b-256 checksum How to use checksums |
08c55b003ae8b3936c55d9a6033190fd86181a81870dccc5ed5c8dd61a02ba80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|