Recent Releases of vessim
vessim - 0.12.0
0.12.0
Release 0.12.0 transforms Vessim from a pure simulation tool into a Software-in-the-Loop platform that can:
- Monitor real energy consumption from production systems
- React to live carbon intensity data for sustainability optimization
- Expose simulated microgrids to external applications via REST APIs
- Integrate with monitoring and alerting systems via Prometheus
- Support hybrid simulations mixing real and simulated components
🚀 New Features
Software-in-the-Loop (SiL) Signals
vs.SilSignal: Abstract base class for signals that depend on external data sources- Eliminates blocking API calls during simulation steps through unified background polling with configurable update intervals
- Thread-safe cached value storage with automatic cleanup
vs.PrometheusSignal: Signal for pulling energy usage data from Prometheus instances- Support for HTTP Basic Authentication
- PromQL query support with automatic connection validation
vs.WatttimeSignal: Real-time marginal carbon intensity signals provided by the WattTime Data API- Automatic token management
- Support for location-based region detection via latitude/longitude coordinates
- Implements new user registration with interactive prompts
REST API and Monitoring
vs.Api: Api controller for exposing microgrids via REST API- Runs embedded FastAPI server in separate process
- Real-time data streaming to external applications
- Optional Prometheus exporter endpoint (by default
http:localhost:8700/metrics) viaexport_prometheus=True
- Preliminary dashboard which connects to the REST API, available via
streamlit run gui/app.py
Grid Signals Support
- support for external grid-level signals (carbon intensity, pricing, etc.)
- Per-microgrid Interface:
grid_signalsparameter inadd_microgrid() - Enables integration with
vs.WatttimeSignalandvs.PrometheusSignalfor real-time data andvs.Tracefor historical datasets
🔧 Breaking Changes
- BREAKING: Moved from
vessim.cosimto separatevessim.environmentandvessim.microgridmodules - BREAKING: Removed
vs.CollectorSignalin favor of newvs.SilSignal - BREAKING: Replaced
vs.ConstantSignalwithvs.StaticSignal
🏗️ Bug Fixes and Architectural Improvements
- Fixed Python 3.13 compatibility issues with docopt dependency
- Improved error handling and validation, especially regarding real-time simulations and SiL dependencies
- Better separation of concerns across modules
- Improved type hints and documentation
- Performance optimizations and thread-safe implementations for concurrent access
Full Changelog: https://github.com/dos-group/vessim/compare/0.11.0...0.12.0
- Python
Published by birnbaum 7 months ago
vessim - 0.11.0
Major Changes
🔧 Controller Architecture Overhaul
- Multi-microgrid support: Controllers can now manage multiple microgrids simultaneously
- Centralized controller management: Controllers are now managed at the Environment level rather than per-microgrid
📊 Enhanced Plotting
- Simplified plotting functions: Reworked plotmicrogridtrace() with cleaner, more consistent output
- Plotting utilities in public API: Added plottrace and plotmicrogrid_trace to the main API
🏗️ Architecture Simplifications
- Removed ActorBase class
- Simplified Monitor class
- Switched from energy (
e) to power reporting (p_grid) for consistency
Documentation Updates
- Updated first two tutorials to demonstrate new controller interface
- Added third tutorial covering advanced controller usage
- Python
Published by birnbaum 8 months ago
vessim - 0.10.0
Breaking Changes
- Removed
ComputingSystemactor (use the genericActorclass instead) - Renamed
vs.HistoricalSignaltovs.Trace - Renamed
MockSignaltoConstantSignal
New Features
- Enhanced plotting facilities with new
vs.plotmodule - Added
plot_microgrid_trace()function for visualizating simulation results - Improved Plotly-based interactive plots for better data exploration
- Support for both detailed and overview plot layouts
Documentation & Examples
- Restructured tutorials - Examples moved from
examples/todocs/tutorials/ - Updated first three tutorials with improved plotting and clearer explanations
- Enhanced Signal tutorial with new plotting capabilities
- Added CLAUDE.md with development guidelines for AI assistance
Full Changelog: https://github.com/dos-group/vessim/compare/0.9.3...0.10.0
- Python
Published by birnbaum 8 months ago
vessim - 0.9.2
Maintenance update - dropped support for Python 3.8
Full Changelog: https://github.com/dos-group/vessim/compare/0.9.1...0.9.2
- Python
Published by birnbaum 10 months ago
vessim - 0.9.0
What's Changed
- Storage improvements https://github.com/dos-group/vessim/pull/231:
- Added new
ClcBatterystorage based on the "C-L-C model" along with a new tutorial - Fixed floating point inaccuracies and stability issues in the
SimpleBattery
- Added new
SilControllerrefactoring https://github.com/dos-group/vessim/pull/233:- Current sim time is now exposed in the broker
- Renamed attributes of broker for clarity
- Added new tutorial for adding other simulators as actors https://github.com/dos-group/vessim/pull/236
- Bug fixes in
HistoricalSignalhttps://github.com/dos-group/vessim/pull/232 https://github.com/dos-group/vessim/pull/235
Full Changelog: https://github.com/dos-group/vessim/compare/0.8.0...0.9
- Python
Published by marvin-steinke over 1 year ago
vessim - 0.7.0
What's Changed
- Vessim now exposes all classes and utility methods on top-level. We recommend importing vessim as
import vessim as vs(similar toimport pandas as pd) to be able to then reference components via e.g.vs.Environmenthttps://github.com/dos-group/vessim/pull/210 - The co-simulation infrastructure was updated to ensure the correct order of simulator execution and allow setting storage/policy parameters through
self.set_parameters. The storage API now uses Wh instead of Ws, andSimpleBatterySOCandmin_SOCare now robust against floating point operations https://github.com/dos-group/vessim/pull/213 - Changed the Actor-Signal Interface: The
Actorclass is not an abstract base class anymore and uses a Signal to define its behavior. This replaces the need for many custom implementations like the oldGeneratorandPowerMeterclasses and allows for more flexibility as most functionality can be defined through a Signal. Custom Actors are now to be subclassed fromActorBasehttps://github.com/dos-group/vessim/pull/211 - Simulator names are now properly logged to allow for better identification in logging https://github.com/dos-group/vessim/pull/216
Full Changelog: https://github.com/dos-group/vessim/compare/0.6.0...0.7.0
- Python
Published by marvin-steinke over 1 year ago
vessim - 0.6.0
What's Changed
- Replaced the Redis+Docker implementation for the SiL module with native Python
multiprocessing.Queueand reworked thevessim.sil.brokerinterface #195 #199 #206 #207 - Rewrite of the Storage/StoragePolicy modules #198
Clockandsim_timehave been removed from the public interface #193- Added dataset documentation #202 and updated Usage Examples #194 #200
- Bugfixes related to the Microgrid initialization #196
- Wattime dataset update #201
Full Changelog: https://github.com/dos-group/vessim/compare/0.5.0...0.6.0
- Python
Published by marvin-steinke almost 2 years ago
vessim - 0.5.0
What's Changed
- Several API changes to
Environment#175 #176 #183 - Bugfix for infinitely running co-simulation #179
- GridSim is now time-based by #181
- HistoricalSignal rewrite and documentation #184
- Website Rework #190
Full Changelog: https://github.com/dos-group/vessim/compare/0.4.0...0.5.0
- Python
Published by birnbaum almost 2 years ago
vessim - 0.4.0
What's Changed
- Entirely reworked scenario API
HistoricalSignal.from_dataset(...)can now load read-to-use datasets. So far we included datasets provided by Solcast and Watttime
Full Changelog: https://github.com/dos-group/vessim/compare/0.3.2...0.4.0
- Python
Published by birnbaum about 2 years ago