Omnes
Omnes is an energy system modelling platform that lets you transform structured datasets into solvable energy models using a simple configuration and processing pipeline. Built for flexibility and clarity, Omnes supports modular data uploads, transformation, and model execution — currently with support PuLP solver and Pandapower simulator. Read the docs here.
Features
- Upload data files to the
data/folder to describe your energy system (e.g., technologies, resources, demands) - Easily configure the time set, resolution, and model settings via
config.ini - Transform input data into a model-ready format
- Run your custom optimization script with full PuLP integration
- Run your custom simulation with Pandapower
Repository Structure
Omnes/
├── .github/ # GitHub workflows and config (e.g. CI/CD)
├── app/ # Core application logic
│ ├── conversion/ # Data transformation and conversion
│ ├── infra/ # Infrastructure utilities & helpers
│ ├── model/ # Data model components
│ ├── operation/ # Main modelling and optimization logic
│ └── __init__.py
├── data/ # Input datasets and model configuration
Getting Started
1. Clone the repository
2. Install dependencies
Note: You must have a working Gurobi license and
gurobipyinstalled.
3. Add your data
Place your system definition files (CSV, Excel, etc.) into the data/ folder. These files represent your technologies, time series, costs, and other elements.
4. Configure model settings
Edit config.ini to set your time resolution, frequency, and other options:
5. Run the model
This will transform the input data, build your energy system model, and run it using your configured script in operation/.
Requirements
- Python 3.9+
- Gurobi (Academic or commercial license)
gurobipy,pandas,numpy,configparser, etc. (seerequirements.txt)
Contributing
Contributions are welcome! Please open an issue or pull request to discuss improvements, bugs, or new features.
License
MIT License — see LICENSE file.
SPDX-License-Identifier: MIT
How to cite
If you use this framework in academic work or reports, please cite it as:
Tatrishvili N., Barancsuk L., Lorenti G., Optimization and Simulation of Multi-node Multi-Energy Systems (version 1.0), GitHub repository, 2025. Available at: https://github.com/ntatrishvili/Omnes
You can also use a BibTeX-style entry:
@misc{omnes,
author = {Tatrishvili N., Barancsuk L., Lorenti G.},
title = {Optimization and Simulation of Multi-node Multi-Energy Systems},
year = {2025},
howpublished = {GitHub repository},
note = {Version 1.0},
url = {https://github.com/ntatrishvili/Omnes}
}
Maintainer
Built and maintained by
-Nia Tatrishvili -Lilla Barancsuk -Gianmarco Lorenti
🎓 Acknowledgments
This project was developed as part of a Bachelor's Thesis at the
Budapest University of Technology and Economics (BME),
in collaboration with the Politecnico di Torino and the
HUN-REN Centre for Energy Research.