|
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | +# easySSP Simulation Python Client |
| 5 | + |
| 6 | +This is the official Python client for the **Simulation API** of the easySSP. It provides an easy-to-use interface for |
| 7 | +interacting with simulation endpoints — including launching, monitoring, and managing simulations programmatically. |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## 🚀 Features |
| 12 | + |
| 13 | +- 📋 Retrieve available simulation options and current simulation credits |
| 14 | +- 🎯 Launch and control simulations |
| 15 | +- 🔍 Monitor simulation progress and access results |
| 16 | +- 🗂️ Manage and organize executed simulations |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +## 📦 Installation |
| 21 | + |
| 22 | +```bash |
| 23 | +pip install easyssp-simulation-client |
| 24 | +``` |
| 25 | + |
| 26 | +Or clone and install from source: |
| 27 | + |
| 28 | +```bash |
| 29 | +git clone https://github.com/exxcellent/easyssp-simulation-client-python.git |
| 30 | +cd easyssp-simulation-client-python |
| 31 | +pip install -e . |
| 32 | +``` |
| 33 | + |
| 34 | +## Tests |
| 35 | + |
| 36 | +Execute `pytest` or `python -m pytest` to run the tests. |
| 37 | + |
| 38 | +## 📁 Project Structure |
| 39 | + |
| 40 | +```bash |
| 41 | +easyssp_simulation/ |
| 42 | +├── __init__.py |
| 43 | +├── client/ |
| 44 | +│ ├── __init__.py |
| 45 | +│ └── simulation_client.py # Simulating SSP models with integrated FMI components in easySSP |
| 46 | +│ |
| 47 | +├── models/ |
| 48 | +│ ├── __init__.py |
| 49 | +│ ├── hardware_option.py # The available hardware configuration options for simulations |
| 50 | +│ ├── run.py # The different runs the Simulation consists of |
| 51 | +│ ├── simulation.py # The created/started simulation |
| 52 | +│ ├── simulation_info.py # Info about the simulation |
| 53 | +│ ├── simulation_started.py # Info about the started simulation |
| 54 | +│ ├── start_simulation_configuration.py # The configuration for the simulation runs |
| 55 | +│ ├── start_simulation_run_configuration.py # Specifies configurations for simulation runs to execute on the given .ssp-file |
| 56 | +│ └── step.py # Each simulation run is split into two steps. The 'generate' step will generate a simulator. The 'simulate' step will use that simulator to perform the simulation with the given configurations |
| 57 | +``` |
| 58 | + |
| 59 | +## 📖 API Reference |
| 60 | + |
| 61 | +This client is built against the official **Simulation API** specification, available as an OpenAPI (Swagger) document. |
| 62 | + |
| 63 | +You can explore the full API documentation here: |
| 64 | +👉 [**Simulation API**](https://apps.exxcellent.de/easy-ssp/docs/integration-api/v1/simulation/index.html) |
| 65 | +or in the `docs` directory in this project. |
| 66 | + |
| 67 | +## 📚 Examples Repository & Extended Documentation |
| 68 | + |
| 69 | +Looking for working demos? Check out the Simulation Client Examples Repository here: |
| 70 | +👉 [**Simulation Client Examples Repository**](https://github.com/exxcellent/easyssp-simulation-examples-python) |
| 71 | + |
| 72 | +It includes: |
| 73 | + |
| 74 | +- Real-world examples for running and managing simulations |
| 75 | +- Usage patterns for authentication and error handling |
| 76 | + |
| 77 | +It's the best place to explore how the client works in action and how to integrate it into your own workflows. |
| 78 | + |
| 79 | +## 🛠️ Requirements |
| 80 | + |
| 81 | +- Python 3.11+ |
| 82 | +- easyssp Pro Edition Account |
| 83 | + |
| 84 | +Install dependencies using uv: |
| 85 | + |
| 86 | +```bash |
| 87 | +pip install uv |
| 88 | +uv sync |
| 89 | +``` |
| 90 | + |
| 91 | +## 🤝 Contributing |
| 92 | + |
| 93 | +This module is maintained as part of the easySSP ecosystem. If you find issues or want to suggest improvements, please |
| 94 | +open an issue or submit a pull request. |
| 95 | + |
| 96 | +## 📄 License |
| 97 | + |
| 98 | +This project is licensed under the MIT License. |
0 commit comments