/python-esmini

Python wrapper for Environment Simulator Minimalistic (esmini)

Primary LanguageC++Mozilla Public License 2.0MPL-2.0

python-esmini is a python wrapper for Environment Simulator Minimalistic (esmini).

Install the package

python-esmini is now only available for the Linux system.

git clone https://github.com/ebadi/python-esmini.git
cd python-esmini
pip3 install .

Usage

Example python code:

import pyplayerbase
import time
import pyscenarioengine

player = pyplayerbase.ScenarioPlayer(["python-esmini", "--window",  "60", "60", "800", "400",  "--osc", "./esmini/resources/xosc/cut-in.xosc"])
while not player.IsQuitRequested():
    player.Frame(1)
    time.sleep(1)

https://github.com/ebadi/python-esmini

To test the python modules, download the esmini resources and run the following scripts:

python3 example/scenarioplayer.py
python3 example/intermodule.py

Documentation

To find the API documentation, follow these https://ebadi.github.io/python-esmini

To automatically extract the list of methods:

./test-python-package.sh
python3 example/modlist.py

Development only

Install binder and rebuild pybind11 bindings:

git clone https://github.com/esmini/esmini.git
cd esmini ; cmake . ; cmake --build .  # solves "fatal error: 'osi_sensordata.pb.h' file not found"
cd ..
./dev-build-bindings.sh
rm -rf LOG_FILE.txt cmake_install.cmake CMakeCache.txt CMakeFiles ; pip3 install .  --log LOG_FILE.txt # cmake  build  ; make ;

Generating API documentation:

cd documentation; 
./doc-build.sh

Credits

This work is done by Infotiv AB under VALU3S project. This project has received funding from the ECSEL Joint Undertaking (JU) under grant agreement No 876852. The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Austria, Czech Republic, Germany, Ireland, Italy, Portugal, Spain, Sweden, Turkey.

The ECSEL JU and the European Commission are not responsible for the content on this website or any use that may be made of the information it contains.

python-esmini project is started and is currently maintained by Hamid Ebadi.