Skip to main content

:zap:sting:zap:

Welcome! This repository contains sting—Specialized Tool for INverter-based Grids. STING is an open-source software that is able to run:

  • AC Power Flow
  • Stochastic capacity expansion
  • Kron reduction
  • Large-scale model reduction
  • Small-signal modeling
  • Electromagnetic simulation

Installation

STING is now available on PyPI (https://pypi.org/project/sting-py/)! To get the latest version of STING please install in Editable Mode, rather than through PyPI.

[!WARNING]
STING has been packaged under the name sting-py.

To install using pip use:

pip install sting-py

Installing STING in Editable Mode

  1. Download STING: Make sure you have python3.13 installed on your computer. Using pyenv can be helpful for managing multiple versions of python on your PC. Start by cloning this repository and navigating into the STING directory.

    git clone https://github.com/REAM-lab/sting
    cd sting
    

    Next, create a virtual environment and download all required packages.

    python3.13 -m venv .venv 
    source .venv/bin/activate
    pip install -e .  
    

    To install all optional dependencies, run pip install -e ".[all]". This will install extra packages necessary for optimization, specifically solvers.

  2. Run sting: To ensure that sting was installed correctly navigate to the examples folder. You will see examples for different modules. Find the file run.py and execute it.

Installing STING in Project Configuration

For research projects we recommend creating a separate directory for your project files and scripts—isolating them from the source files of STING. To install and configure STING in this manner perform the following steps.

  1. Download STING: If you haven't already, install python3.13 and clone STING
    git clone https://github.com/REAM-lab/sting
    
  2. Project Installation: In the same parent directory of STING, create a new directory for your project—for instance my_project. Then install all packages from STING in a virtual environment
    mkdir my_project
    cd my_project
    python3.13 -m venv .venv 
    source .venv/bin/activate
    pip install -e ../sting/.
    
  3. Visual Studio Code (Optional): If you are using Visual Studio Code as a text editor you can add STING as an "extra path". To do so go to Preferences > Settings and search for extra paths. Under Python > Analysis: Extra Paths add the global path of STING on your machine—for instance Users/your_name/python/sting.

Solvers

Most of modules additionally require commercial or open-source solvers to run various optimization models. For example, solving optimal power flow is needed to find an equilibrium point for small-signal modeling. We currently support and use the following libraries:

Solver How to install Use
IPOPT brew install ipopt ACOPF
Gurobi pip install gurobipy Capacity expansion
MOSEK pip install mosek Capacity expansion

[!IMPORTANT]
Please install all relevant solvers for your use case before running STING.

Citing

@misc{STING,
    author = {{Renewable Energy + Advanced Mathematics Lab (REAM)}},
    title = {Specialized tool for inverter-based grids},
    year = {2025},
    publisher = {GitHub},
    journal = {GitHub repository},
    url = {https://github.com/REAM-lab/sting}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sting_py-0.2.2.tar.gz (167.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sting_py-0.2.2-py3-none-any.whl (258.1 kB view details)

Uploaded Python 3

File details

Details for the file sting_py-0.2.2.tar.gz.

File metadata

  • Download URL: sting_py-0.2.2.tar.gz
  • Upload date:
  • Size: 167.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.9

File hashes

Hashes for sting_py-0.2.2.tar.gz
Algorithm Hash digest
SHA256 2a448c448aef46f0f44de97278358330c5d68dbf786cd104af60d429e04d8be2
MD5 10a2e4024938fed6d3c3295b5907af95
BLAKE2b-256 cf00eaf55aa3c6ac572a43c4d27abab9d2467d904fbcbd4e2aba777eb77167f9

See more details on using hashes here.

File details

Details for the file sting_py-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: sting_py-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 258.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.9

File hashes

Hashes for sting_py-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 657c609571ba07edaaca2404dbddb6a12c1b980904a6dad288ec94407891bd44
MD5 0c4fc497b23e6efb39787b4a3c1484d6
BLAKE2b-256 87b208a4ac0d1b12f8f02ecb1a317faea5ac1df08f3233b69fea9ddd994e2e2c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page