Skip to content

Python examples for interacting with the EWB SDK

License

Notifications You must be signed in to change notification settings

zepben/ewb-sdk-examples-python

Repository files navigation

EWB Python SDK examples

This repo contains examples for utilising the Python SDK. If you don't wish to use Python, you can alternatively use the JVM SDK, which is written in Kotlin and compatible with Java.

Some of the examples covering basic concepts are highlighted in this section, an index of the examples containing more advanced concepts can be found at the end of the README.

Adding the EWB SDK to your own project

Add the following items to your setup.py:

    install_requires=[
        "zepben.auth==<VERSION>",
        "zepben.evolve==<VERSION>"
    ],

The latest versions can be found on the Python package index:

Note

If you are a keen developer and want access to the latest updates, beta versions that have been released since the latest official release can be found in the "Release history" page for each dependency.

Using the examples in your own project

Important

Sometimes you may want to copy the code from the examples into your own project, rather than just running them from this repo. It is important to note that some of the examples may be using beta version features, and you should make sure to use the SDK version specified in setup.py, rather than the latest official release.

Installation and setup of the examples

pip install -e .

Basic usage with EWB server

The first step is to connect to the EWB gRPC server. All other examples relating to using the EWB server can use any of the connection methods shown, based on the configuration of the EWB server.

Once you are connected the most common use case is to fetch a feeder. Once you have the feeder you can work with it locally, without changing the objects on the server, or other users of the feeder. See further examples for things you may want to do ith the feeder.

Building local models

Sometimes you do not want to pull a model from the EWB server, and instead want to build it locally. Depending on your use case, you may want to build your own network hierarchy. You can even build a full feeder, such as the IEEE 13 node test feeder

EAS Python examples

The EAS adds additional functionality to EWB.

Adding the EAS client to your own project

In addition to the EWB SDK requirements, add the following item to your setup.py:

    install_requires=[
        "zepben.eas==<VERSION>",
    ],

The latest version can be found on the Python package index:

Note

If you are a keen developer and want access to the latest updates, beta versions that have been released since the latest official release can be found in the "Release history" page.

Creating and uploading studies

One feature added by the EAS is studies. You can create you own study and upload it to EAS, which will then be available via the UI for visualisation.

Examples Index

Reading from the server

Creating local models

Using the model

Power flow