What’s New

Changelog for each release.

Release v0.2.1

Release date: April 2, 2023


  • Added automatic resampling when applying a charging strategy #332

  • Added MV grid ID to logging output #309

  • Added automatic link checking #297

  • Bug fix #346

Release v0.2.0

Release date: November 10, 2022


  • added pre-commit hooks (flake8, black, isort, pyupgrade) #229

  • added issue and pull request templates #220

  • added Windows installation yml and documentation

  • added automatic testing for Windows #317

  • dropped support for python 3.7

  • added functionality to set up different loggers with individual logging levels and where to write output #295

  • added integrity checks of eDisGo object #231

  • added functionality to save to and load from zip archive #216

  • added option to not raise error in case power flow did not converge #207

  • added pyplot #214

  • added functionality to create geopandas dataframes #224

  • added functionality to resample time series #269

  • added tests

  • major refactoring of loads and time series

    • restructured time series module to allow more options on how to set component time series #236

    • added charging points to Topology.loads_df to make eDisGo more flexible when further new load types are added

    • peak_load in Topology.loads_df is renamed to p_nom #242

    • renamed all occurences of feedin in config files to feed-in

    • added simultaneity factors for heat pumps and electric vehicles

    • grid reinforcement now considers separate simultaneity factors for dimensioning of LV and MV #252

  • added interface to electromobility data from tools SimBEV and TracBEV (SimBEV provides data on standing times, charging demand, etc. per vehicle, whereas TracBEV provides potential charging point locations) #174 and #191

Release v0.1.1

Release date: July 22, 2022

This release comes with some minor additions and bug fixes.


  • Added a pull request and issue template

  • Fix readthecods API doc

  • Consider parallel lines in calculation of x, r and s_nom

  • Bug fix calculation of x and r of new lines

  • Bug fix of getting a list of all weather cells within grid district

Release v0.1.0

Release date: July 26, 2021

This release comes with some major refactoring. The internal data structure of the network topologies was changed from a networkx graph structure to a pandas dataframe structure based on the PyPSA data structure. This comes along with major API changes. Not all functionality of the previous eDisGo release 0.0.10 is yet refactored (e.g. the heuristics for grid supportive storage integration and generator curtailment), but we are working on it and the upcoming releases will have the full functionality again.

Besides the refactoring we added extensive tests along with automatic testing with GitHub Actions and coveralls tool to track test coverage.

Further, from now on python 3.6 is not supported anymore. Supported python versions are 3.7, 3.8 and 3.9.


  • Major refactoring #159

  • Added support for Python 3.7, 3.8 and 3.9 #181

  • Added GitHub Actions for testing and coverage #180

  • Adapted to new ding0 release #184 - loads and generators in the same building are now connected to the same bus instead of separate buses and loads and generators in aggregated load areas are connected via a MV/LV station instead of directly to the HV/MV station)

  • Added charging points as new components along with a methodology to integrate them into the grid

  • Added multiperiod optimal power flow based on julia package PowerModels.jl optimizing storage positioning and/or operation as well as generator dispatch with regard to minimizing grid expansion costs

Release v0.0.10

Release date: October 18, 2019


  • Updated to networkx 2.0

  • Changed data of transformers #240

  • Proper session handling and readonly usage (PR #160)

Bug fixes

  • Corrected calculation of current from pypsa power flow results (PR #153).

Release v0.0.9

Release date: December 3, 2018


  • bug fix in determining voltage deviation in LV stations and LV grid

Release v0.0.8

Release date: October 29, 2018


  • added tolerance for curtailment targets slightly higher than generator availability to allow small rounding errors

Release v0.0.7

Release date: October 23, 2018

This release mainly focuses on new plotting functionalities and making reimporting saved results to further analyze and visualize them more comfortable.


  • new plotting methods in the EDisGo API class (plottings of the MV grid topology showing line loadings, grid expansion costs, voltages and/or integrated storages and histograms for voltages and relative line loadings)

  • new classes EDisGoReimport, NetworkReimport and ResultsReimport to reimport saved results and enable all analysis and plotting functionalities offered by the original classes

  • bug fixes

Release v0.0.6

Release date: September 6, 2018

This release comes with a bunch of new features such as results output and visualization, speed-up options, a new storage integration methodology and an option to provide separate allowed voltage deviations for calculation of grid expansion needs. See list of changes below for more details.


  • A methodolgy to integrate storages in the MV grid to reduce grid expansion costs was added that takes a given storage capacity and operation and allocates it to multiple smaller storages. This methodology is mainly to be used together with the eTraGo tool where an optimization of the HV and EHV levels is conducted to calculate optiomal storage size and operation at each HV/MV substation.

  • The voltage-based curtailment methodolgy was adapted to take into account allowed voltage deviations and curtail generators with voltages that exceed the allowed voltage deviation more than generators with voltages that do not exceed the allowed voltage deviation.

  • When conducting grid reinforcement it is now possible to apply separate allowed voltage deviations for different voltage levels (#108). Furthermore, an additional check was added at the end of the grid expansion methodology if the 10%-criterion was observed.

  • To speed up calculations functions to update the pypsa representation of the edisgo graph after generator import, storage integration and time series update, e.g. after curtailment, were added.

  • Also as a means to speed up calculations an option to calculate grid expansion costs for the two worst time steps, characterized by highest and lowest residual load at the HV/MV substation, was added.

  • For the newly added storage integration methodology it was necessary to calculate grid expansion costs without changing the topology of the graph in order to identify feeders with high grid expansion needs. Therefore, the option to conduct grid reinforcement on a copy of the graph was added to the grid expansion function.

  • So far loads and generators always provided or consumed inductive reactive power with the specified power factor. It is now possible to specify whether loads and generators should behave as inductors or capacitors and to provide a concrete reactive power time series(#131).

  • The Results class was extended by outputs for storages, grid losses and active and reactive power at the HV/MV substation (#138) as well as by a function to save all results to csv files.

  • A plotting function to plot line loading in the MV grid was added.

  • Update ding0 version to v0.1.8 and include data processing v0.4.5 data

  • Bug fix

Release v0.0.5

Release date: July 19, 2018

Most important changes in this release are some major bug fixes, a differentiation of line load factors and allowed voltage deviations for load and feed-in case in the grid reinforcement and a possibility to update time series in the pypsa representation.


  • Switch disconnecters in MV rings will now be installed, even if no LV station exists in the ring #136

  • Update to new version of ding0 v0.1.7

  • Consider feed-in and load case in grid expansion methodology

  • Enable grid expansion on snapshots

  • Bug fixes

Release v0.0.3

Release date: July 6 2018

New features have been included in this release. Major changes being the use of the weather_cell_id and the inclusion of new methods for distributing the curtailment to be more suitable to network operations.


  • As part of the solution to github issues #86, #98, Weather cell information was of importance due to the changes in the source of data. The table ego_renewable_feedin_v031 is now used to provide this feedin time series indexed using the weather cell id’s. Changes were made to ego.io and ding0 to correspondingly allow the use of this table by eDisGo.

  • A new curtailment method have been included based on the voltages at the nodes with GeneratorFluctuating objects. The method is called curtail_voltage and its objective is to increase curtailment at locations where voltages are very high, thereby alleviating over-voltage issues and also reducing the need for network reinforcement.

  • Add parallelization for custon functions #130

  • Update ding0 version to v0.1.6 and include data processing v.4.2 data

  • Bug Fixes

Release v0.0.2

Release date: March 15 2018

The code was heavily revised. Now, eDisGo provides the top-level API class EDisGo for user interaction. See below for details and other small changes.


  • Switch disconnector/ disconnecting points are now relocated by eDisGo #99. Before, locations determined by Ding0 were used. Relocation is conducted according to minimal load differences in both parts of the ring.

  • Switch disconnectors are always located in LV stations #23

  • Made all round speed improvements as mentioned in the issues #43

  • The structure of eDisGo and its input data has been extensively revised in order to make it more consistent and easier to use. We introduced a top-level API class called EDisGo through which all user input and measures are now handled. The EDisGo class thereby replaces the former Scenario class and parts of the Network class. See A minimum working example for a quick overview of how to use the EDisGo class or Usage details for a more comprehensive introduction to the edisgo structure and usage.

  • We introduce a CLI script to use basic functionality of eDisGo including parallelization. CLI uses higher level functions to run eDisGo. Consult edisgo_run for further details. #93.