vessim 0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vessim/__init__.py +327 -0
- vessim/analysis.py +111 -0
- vessim/core/__init__.py +1 -0
- vessim/core/consumer.py +99 -0
- vessim/core/microgrid.py +39 -0
- vessim/core/storage.py +122 -0
- vessim/cosim/__init__.py +15 -0
- vessim/cosim/_util.py +162 -0
- vessim/cosim/carbon_api.py +52 -0
- vessim/cosim/consumer.py +53 -0
- vessim/cosim/generator.py +48 -0
- vessim/cosim/microgrid.py +38 -0
- vessim/cosim/monitor.py +71 -0
- vessim/sil/__init__.py +4 -0
- vessim/sil/api_server.py +229 -0
- vessim/sil/http_client.py +54 -0
- vessim/sil/loop_thread.py +46 -0
- vessim/sil/node.py +31 -0
- vessim/sil/power_meter.py +44 -0
- vessim/sil/redis_docker.py +63 -0
- vessim/sil/sil_interface.py +174 -0
- vessim-0.dist-info/METADATA +146 -0
- vessim-0.dist-info/RECORD +24 -0
- vessim-0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: vessim
|
|
3
|
+
Version: 0
|
|
4
|
+
Summary: A simulator for carbon-aware applications and systems.
|
|
5
|
+
Home-page: https://github.com/dos-group/vessim
|
|
6
|
+
License: MIT
|
|
7
|
+
Keywords: simulation,energy system,testbed,carbon-aware computing,software-in-the-loop
|
|
8
|
+
Author: Philipp Wiesner
|
|
9
|
+
Author-email: wiesner@tu-berlin.de
|
|
10
|
+
Requires-Python: >=3.8,<4.0
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
22
|
+
Classifier: Topic :: Education
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering
|
|
24
|
+
Classifier: Topic :: Software Development :: Testing
|
|
25
|
+
Provides-Extra: analysis
|
|
26
|
+
Provides-Extra: dev
|
|
27
|
+
Provides-Extra: docs
|
|
28
|
+
Provides-Extra: sil
|
|
29
|
+
Requires-Dist: black ; extra == "dev"
|
|
30
|
+
Requires-Dist: docker ; extra == "sil"
|
|
31
|
+
Requires-Dist: fastapi ; extra == "sil"
|
|
32
|
+
Requires-Dist: furo ; extra == "docs"
|
|
33
|
+
Requires-Dist: jupyterlab ; extra == "analysis"
|
|
34
|
+
Requires-Dist: loguru
|
|
35
|
+
Requires-Dist: matplotlib ; extra == "analysis"
|
|
36
|
+
Requires-Dist: mosaik
|
|
37
|
+
Requires-Dist: mosaik-api
|
|
38
|
+
Requires-Dist: mypy ; extra == "dev"
|
|
39
|
+
Requires-Dist: pandas
|
|
40
|
+
Requires-Dist: pandas-stubs ; extra == "dev"
|
|
41
|
+
Requires-Dist: pytest ; extra == "dev"
|
|
42
|
+
Requires-Dist: redis ; extra == "sil"
|
|
43
|
+
Requires-Dist: requests ; extra == "sil"
|
|
44
|
+
Requires-Dist: ruff ; extra == "dev"
|
|
45
|
+
Requires-Dist: seaborn (==0.12.2) ; extra == "analysis"
|
|
46
|
+
Requires-Dist: sphinx-copybutton ; extra == "docs"
|
|
47
|
+
Requires-Dist: types-psutil ; extra == "dev"
|
|
48
|
+
Requires-Dist: types-requests ; extra == "dev"
|
|
49
|
+
Requires-Dist: uvicorn ; extra == "sil"
|
|
50
|
+
Project-URL: Bug Reports, https://github.com/dos-group/vessim/issues
|
|
51
|
+
Project-URL: Documentation, https://github.com/dos-group/vessim
|
|
52
|
+
Project-URL: Repository, https://github.com/dos-group/vessim
|
|
53
|
+
Description-Content-Type: text/markdown
|
|
54
|
+
|
|
55
|
+
# Vessim
|
|
56
|
+
|
|
57
|
+
[](https://pypi.org/project/vessim/)
|
|
58
|
+

|
|
59
|
+
[](https://pypi.org/project/vessim/)
|
|
60
|
+
[](https://pypi.org/project/vessim/)
|
|
61
|
+
|
|
62
|
+
Vessim is a versatile **co-simulation testbed for carbon-aware applications and systems**.
|
|
63
|
+
It lets users connect domain-specific simulators for energy system components like renewable power generation,
|
|
64
|
+
energy storage, and power flow analysis with real software and hardware.
|
|
65
|
+
|
|
66
|
+
Vessim is in alpha stage and under active development.
|
|
67
|
+
Functionality and documentation will improve in the next weeks and months.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## Installation
|
|
71
|
+
|
|
72
|
+
If you are using Vessim for the first time, we recommend to clone and install this repository, so you have all
|
|
73
|
+
code and examples at hand:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
pip install -e .
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Alternatively, you can also install our [latest release](https://pypi.org/project/vessim/)
|
|
80
|
+
via [pip](https://pip.pypa.io/en/stable/quickstart/):
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
pip install vessim
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
## Getting started
|
|
88
|
+
|
|
89
|
+
To execute our exemplary co-simulation scenario, run:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
python examples/cosim_example.py
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Software-in-the-Loop (SiL) simulation allows real computing systems to interact with Vessim at runtime.
|
|
96
|
+
We're currently working on better documentation on how to set up a full SiL scenario, but you can experiment with the existing
|
|
97
|
+
functionality by installing the "sil" extension (`pip install vessim[sil]`) and running:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
python examples/sil_example.py
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
## Work in progress
|
|
105
|
+
|
|
106
|
+
Our team at the [Distributed and Operating Systems](https://distributedsystems.berlin/) group at TU Berlin is actively working to improve Vessim.
|
|
107
|
+
We are currently working on the following aspects and features:
|
|
108
|
+
|
|
109
|
+
- **Better documentation**: You can find the current WiP documentation [here](https://vessim.readthedocs.io/en/latest/)
|
|
110
|
+
- **Improving the scenario API**: We currently heavily rely on [Mosaik](https://mosaik.offis.de/)'s scenario interface for defining experiment, but want to offer a more opinionated, high-level API to improve usability.
|
|
111
|
+
- **Software-in-the-loop (SiL) capabilities**: The current SiL implementation is focussed around our exemplary use case presented in our [journal paper](https://doi.org/10.1002/spe.3275). We want this to become more general purpose, so users can implement custom interfaces for the communication of computing and energy systems.
|
|
112
|
+
- **Prodiving access to relevant datasets**: We're currently collectig relevant datasets for carbon-aware test cases such as solar production or carbon intensity traces to simplify the setup of test cases.
|
|
113
|
+
- **Integrating the SAM**: NREL's [System Advisor Model (SAM)](https://sam.nrel.gov/) will soon be available as a subsystem in Vessim.
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
## Publications
|
|
117
|
+
|
|
118
|
+
If you use Vessim in your research, please cite our vision paper:
|
|
119
|
+
|
|
120
|
+
- Philipp Wiesner, Ilja Behnke and Odej Kao. "[A Testbed for Carbon-Aware Applications and Systems](https://arxiv.org/pdf/2306.09774.pdf)" arXiv:2302.08681 [cs.DC]. 2023.
|
|
121
|
+
```
|
|
122
|
+
@misc{wiesner2023vessim,
|
|
123
|
+
title={A Testbed for Carbon-Aware Applications and Systems},
|
|
124
|
+
author={Wiesner, Philipp and Behnke, Ilja and Kao, Odej},
|
|
125
|
+
year={2023},
|
|
126
|
+
eprint={2306.09774},
|
|
127
|
+
archivePrefix={arXiv},
|
|
128
|
+
primaryClass={cs.DC}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Or our journal paper on software-in-the-loop similation for carbon-aware applications:
|
|
133
|
+
- Philipp Wiesner, Marvin Steinke, Henrik Nickel, Yazan Kitana, and Odej Kao. "[Software-in-the-Loop Simulation for Developing and Testing Carbon-Aware Applications](https://doi.org/10.1002/spe.3275)" Software: Practice and Experience, 53 (12). 2023.
|
|
134
|
+
```
|
|
135
|
+
@article{wiesner2023sil,
|
|
136
|
+
author = {Wiesner, Philipp and Steinke, Marvin and Nickel, Henrik and Kitana, Yazan and Kao, Odej},
|
|
137
|
+
title = {Software-in-the-loop simulation for developing and testing carbon-aware applications},
|
|
138
|
+
journal = {Software: Practice and Experience},
|
|
139
|
+
year = {2023},
|
|
140
|
+
volume = {53},
|
|
141
|
+
number = {12},
|
|
142
|
+
pages = {2362-2376},
|
|
143
|
+
doi = {https://doi.org/10.1002/spe.3275}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
vessim/__init__.py,sha256=Dd6cw0oRvpnRFAqAEsqviwnbK-MFGUxv5U0ERMiNWtw,14784
|
|
2
|
+
vessim/analysis.py,sha256=UerWLJSSC4mFEA6AnLd66HaW-cQKqNLJ2RSQ362Sg4k,4177
|
|
3
|
+
vessim/core/__init__.py,sha256=q41R-Lu3HkgVkVL8159_xjTe_D4xUFUHTP3VQkZ9G0Q,30
|
|
4
|
+
vessim/core/consumer.py,sha256=1EryFCzNH_VBgkqDY4QIroPNUhOriYTdsVoN6grlSSU,2732
|
|
5
|
+
vessim/core/microgrid.py,sha256=CRjJANKyOFlMCK-fWSbWckYnrY6e_zK7uuiE_nH62OE,1359
|
|
6
|
+
vessim/core/storage.py,sha256=6XFx5NT18sR7_3pNxPu4l3UI4JCAWIzHKhuWV9tnZlo,4418
|
|
7
|
+
vessim/cosim/__init__.py,sha256=LvpDXAH3hTYko3bbLnQP0dyyGQE817WIKEqIeSenIAs,387
|
|
8
|
+
vessim/cosim/_util.py,sha256=Nf0YTzuRc8Y6YaOT3m_U_ndSPscjBknT-UC-N4c5sME,6246
|
|
9
|
+
vessim/cosim/carbon_api.py,sha256=7laSspCrS2c1lMdfNiO6RrLP5idmCzDOvn9U8B8dDpk,1634
|
|
10
|
+
vessim/cosim/consumer.py,sha256=t30jnd7opbBdiYcvVQyFVZlLCSU9SVm9c8pXok7it5c,1554
|
|
11
|
+
vessim/cosim/generator.py,sha256=PGS-RtjCKBO8SH-VNVqZEvPn2nEpEG3h66uT4O9YHuo,1468
|
|
12
|
+
vessim/cosim/microgrid.py,sha256=XJtla1MjHVdrY7KdR2JOpXtizwv1vkRfOdU03ktAcFk,1004
|
|
13
|
+
vessim/cosim/monitor.py,sha256=dZXOnrrfCy4Hc9EijoqnST-s9I3rQZ6VcL-OkBb0qtU,2281
|
|
14
|
+
vessim/sil/__init__.py,sha256=H3leYiiMNlzslBNqNqGCvyWyNTKiGozEz1jf8KMio5g,131
|
|
15
|
+
vessim/sil/api_server.py,sha256=KwvYm9casVcTvBOsaEYnKtz_BXXNwDgTDlelaK4CvYo,7916
|
|
16
|
+
vessim/sil/http_client.py,sha256=j3NQvhlVtkNGsQOPIUY_8ceeSfa210qYQ3_sjTfoGRQ,1679
|
|
17
|
+
vessim/sil/loop_thread.py,sha256=MqHNIru-7R5K9nfq-qnpDhqUHExbCEtxjv7HYgX5EMs,1461
|
|
18
|
+
vessim/sil/node.py,sha256=v7tJxHGzo1sxltAumlGOWUyv7W3wKp3nGRpj3sbX12U,929
|
|
19
|
+
vessim/sil/power_meter.py,sha256=bfNTbJVVwLJ_YSg6QZefl49PblQzNgIfQhnC7FCQEdo,1547
|
|
20
|
+
vessim/sil/redis_docker.py,sha256=eZPzPnbw8Q48DH6f-W4C9LzS-UfOBYYeCoz5uk86IEM,2083
|
|
21
|
+
vessim/sil/sil_interface.py,sha256=00KEPNukA_BHYrjx7ltW-lf-azxui2E-4IlmY5OmbMs,6861
|
|
22
|
+
vessim-0.dist-info/METADATA,sha256=VBsGliNxUZqATas4zIQ2J7bVCy8jKJIAGi39ZxcZ8E4,6330
|
|
23
|
+
vessim-0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
24
|
+
vessim-0.dist-info/RECORD,,
|
vessim-0.dist-info/WHEEL
ADDED