Skip to main content

LightSim2grid implements a c++ backend targeting the Grid2Op platform.

Project description

LightSim2Grid

Provide a fast backend for grid2op using c++ KLU and Eigen librairies. Its primary goal is to serve as a fast backend for the grid2op platform, used primarily as a testbed platform for sequential decision making in the world of power system.

See the Disclaimer to have a more detailed view on what is and what is not this package. For example this package should not be used for detailed power system computations or simulations.

Usage

Once installed (don't forget, if you used the optional virtual env above you need to load it with source venv/bin/activate) you can use it as any python package.

1. As a grid2op backend (preferred method)

This functionality requires you to have grid2op installed, with at least version 0.7.0. You can install it with

pip install grid2op>=1.6.4

Then you can use a LightSimBackend instead of the default PandapowerBackend this way:

import grid2op
from lightsim2grid import LightSimBackend
env_name = "l2rpn_case14_sandbox"  # or any other name.
env = grid2op.make(env_name, backend=LightSimBackend())

# do regular computation as you would with grid2op

And you are good to go.

2. replacement of pandapower "newtonpf" method (advanced method)

It is also possible to use directly the "solver" part of lightsim2grid.

Suppose you somehow get:

  • Ybus the admittance matrix of your powersystem, for example given by pandapower (will be converted to a scipy sparse.csc_matrix )
  • V0 the (complex) voltage vector at each bus, for example given by pandapower
  • Sbus the (complex) power absorb at each bus, for example as given by pandapower
  • ref Ids of the slack buses (added in version 0.5.6 to match recent pandapower changes)
  • pv list of PV buses
  • pq list of PQ buses
  • ppci a ppc internal pandapower test case (or dictionary, is used to retrieve the coefficients associated to each slack bus)
  • options list of pandapower "options" (or dictionary with keys max_iteration and tolerance_mva)

You can define replace the newtonpf function of pandapower.pandapower.newtonpf function with the following piece of code:

from lightsim2grid.newtonpf import newtonpf
V, converged, iterations, J = newtonpf(Ybus, V, Sbus, ref, weights, pv, pq, ppci, options)

This function uses the KLU algorithm (when available) and a c++ implementation of a Newton solver for speed.

Installation (from pypi official repository, recommended)

Since version 0.5.3, lightsim2grid is can be installed like most python packages, with a call to: python -m pip install lightsim2grid

It includes faster grid2op backend and the SuiteSparse faster KLU solver, even on windows. This is definitely the easiest method to install lightsim2grid on your system and have it running.

Note though that these packages have been compiled on a different platform that the one you are using. You might still get some benefit (in terms of performances) to install it from your on your machine with the proper compilations flags ( see section 6.1 Customization of the compilation for more information)

Pypi packages are available for linux (x86_64 cpu architecture), windows (x86_64 cpu architecture) and macos (x86_64 cpu architecture) with python versions:

  • 3.7 (lightsim2grid < 0.10.4)
  • 3.8
  • 3.9
  • 3.10 (lightsim2grid >= 0.6.1)
  • 3.11 (lightsim2grid >= 0.7.1)
  • 3.12 (lightsim2grid >= 0.7.5)
  • 3.13 (lightsim2grid >= 0.9.2.post2)
  • 3.14 (lightsim2grid >= 0.10.4)

As from version 0.8.2, we also distribute windows arm64 and macos arm64 binaries of lightsim2grid that can be installed directly with pip too (requires python >= 3.8 for macos and python >= 3.9 for windows).

We do not currently produce arm64 (aarch64) linux binaries because it takes too long to build. If you really want them, let us know and we'll see what we can do.

NB on some version of MacOs (thanks Apple !), especially the one using M1 or M2 chip, lightsim2grid is only available on pypi starting from version 0.7.3 We attempted to deliver arm64 lightsim2grid version but we could not test them. So if you want a reliable working and tested version of lightsim2grid on newest version of macos (with M1 or M2 chips for example) please use lightsim2grid >= 0.8.2

NB we do not currently build any 32 bits lightsim2grid libraries.

Installation (from source, for more advanced user)

See the official documentation at Install from source for more information

Benchmarks

Lightsim2grid is significantly faster than pandapower when used with grid2op for all kind of environment size (sometimes more than 30x faster - making 30 steps while pandapower makes one).

If you prefer to use the dedicated lightsim2grid SecurityAnalysis or TimeSerie classes you can even expect another 10-20x speed ups compared to grid2op with lightsim2grid (sometimes more than 300x faster than grid2op with pandapower).

For more information (including the exact way to reproduce these results, as well as the computer used), you can consult the dedicated Benchmarks page on the documentation.

Philosophy

Lightsim2grid aims at providing a somewhat efficient (in terms of computation speed) backend targeting the grid2op platform.

It provides a c++ api, compatible with grid2op that is able to compute flows (and voltages and reactive power) from a given grid. This grid can be modified according to grid2op mechanism (see more information in the official grid2Op documentation ).

This code do not aim at providing state of the art solver in term of performances nor in terms of realism in the modeling of power system elements (eg loads, generators, powerlines, transformers, etc.).

Lightsim2grid codebase is "organized" in 4 different parts:

  1. modify the elements (eg disconnecting a powerline or changing the voltage magnitude setpoint of a generator, or any other action made possible by grid2op)
  2. generate the Ybus (sparse) complex admitance matrix and Sbus complex injection vector from the state of the powergrid (eg physical properties of each elements, which elements are in service, which power is produce at each generators and consumed at each loads, what is the grid topology etc.)
  3. solving for the complex voltage V (and part of the Sbus vector) the equation V.(Ybus.V)* = Sbus with the "standard" "powerflow constraints" (eg the voltage magnitude of V is set at given components, and on other it's the imaginary part of Sbus)
  4. computes the active power, reactive power, flow on powerllines etc. from the V and Sbus complex vectors computed at step 3).

Step 1, 2 and 4 are done in the GridModel class.

Step 3 is performed thanks to a "powerflow solver".

Using a custom powerflow solver

For now some basic "solver" (eg the program that performs points 3. above) are available, based on the Gauss Seidel or the Newton-Raphson methods to perform "powerflows".

Nothing prevents any other "solver" to be used with lightsim2grid and thus with grid2op. For this, you simply need to implement, in c++ a "lightsim2grid solver" which mainly consists in defining a function:

bool compute_pf(const Eigen::SparseMatrix<cplx_type> & Ybus,  // the admittance matrix
                CplxVect & V,  // store the results of the powerflow and the Vinit !
                const CplxVect & Sbus,  // the injection vector
                const Eigen::VectorXi & ref,  // bus id participating to the distributed slack
                const RealVect & slack_weights,  // slack weights for each bus
                const Eigen::VectorXi & pv,  // (might be ignored) index of the components of Sbus should be computed
                const Eigen::VectorXi & pq,  // (might be ignored) index of the components of |V| should be computed
                int max_iter,  // maximum number of iteration (might be ignored)
                real_type tol  // solver tolerance 
                );

The types used are:

  • real_type: double => type representing the real number
  • cplx_type : std::complex<real_type> => type representing the complex number
  • CplxVect : Eigen::Matrix<cplx_type, Eigen::Dynamic, 1> => type representing a vector of complex numbers
  • RealVect : Eigen::Matrix<real_type, Eigen::Dynamic, 1> => type representing a vector of real numbers
  • Eigen::VectorXi => represents a vector of integer
  • Eigen::SparseMatrix<cplx_type> => represents a sparse matrix

See for example BaseNRSolver for the implementation of a Newton Raphson solver (it requires some "linear solvers", more details about that are given in the section bellow)

Any contribution in this area is more than welcome.

NB For now the "solver" only uses these above information to perform the powerflow. If a more "in depth" solution needs to be implemented, let us know with a github issue. For example, it could be totally fine that a proposed "solver" uses direct information about the elements (powerline, topology etc.) of the grid in order to perform some powerflow.

NB It is not mandatory to "embed" all the code of the solver in lightsim2grid. Thanks to different customization, it is perfectly possible to install a given "lightsim solver" only if certain conditions are met. For example, on windows based machine, the SuiteSparse library cannot be easily compiled, and the KLUSolver is then not available.

NB It would be totally fine if some "lightsim2grid" solvers are available only if some packages are installed on the machine for example.

Using custom linear solvers to solve powerflows

In lightsim2grid (c++ part) it is also possible, thanks to the use of "template meta programming" to not recode the Newton Raphson algorithm (or the DC powerflow algorithm) and to leverage the use of a linear solver.

A "linear solver" is anything that can implement 3 basic functions:

  • initialize(const Eigen::SparseMatrix<real_type> & J) : initialize the solver and prepare it to solve for linear systems J.x = b (usually called once per powerflow)
  • ErrorType solve(const Eigen::SparseMatrix<real_type> & J, RealVect & b, bool has_just_been_inialized): effectively solves J.x = b (usually called multiple times per powerflow)
  • ErrorType reset(): clear the state of the solver (usually performed at the end of a powerflow to reset the state to a "blank" / "as if it was just initialized" state)

Some example are given in the c++ code "KLUSolver.h", "SparLUSolver.h" and "NICSLU.h"

This usage usually takes approximately around 20 / 30 lines of c++ code (not counting the comments, and boiler code for exception handling for example).

Citing

If you use this package in one of your work, please cite:

@misc{lightsim2grid,
    author = {B. Donnot},
    title = {{Lightsim2grid - A c++ backend targeting the Grid2Op platform. }},
    year = {2020},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://GitHub.com/Grid2Op/lightsim2grid}},
}

Miscellaneous

Customization of the compilation

Enable NICSLU

For that, you need to declare the environment variables PATH_NICSLU that points to a valid installation of the NICSLU package (see https://github.com/chenxm1986/nicslu). For example: export PATH_NICSLU=/home/user/Documents/nicslu/nicslu202103

Enable CKTSO

For that, you need to declare the environment variables PATH_CKTSO that points to a valid installation of the NICSLU package (see https://github.com/chenxm1986/cktso). For example: export PATH_NICSLU=/home/user/Documents/cktso

Enable 03 optimization

By default, at least on ubuntu, only the "-O2" compiler flags is used. To use the O3 optimization flag, you need to specify the __O3_OPTIM environment variable: set __O3_OPTIM=1 (or $Env:__O3_OPTIM=1 in powershell) before the compilation (so before python3 setup.py build or python -m pip install -e .)

This compilation argument will increase the compilation time, but will make the package faster.

Enable "-march=native" optimization

By default, for portability, we do not compile with -march=native flags. This lead to some error on some platform. If you want to further improve the performances.

You can set __COMPILE_MARCHNATIVE=1 to enable it before the compilation (so before python3 setup.py build or python -m pip install -e .)

Profile the code

This is a work in progress for now. And it is far from perfect, and probably only work on linux.

See https://github.com/xflash96/pybind11_package_example/blob/main/tutorial.md#perf for more details.

cd benchmarks
perf record ./test_profile.py
perf report

Local testing

And some official tests, to make sure the solver returns the same results as pandapower are performed in "lightsim2grid/tests"

cd lightsim2grid/tests
python -m unittest discover

This tests ensure that the results given by this simulator are consistent with the one given by pandapower when using the Newton-Raphson algorithm, with a single slack bus, without enforcing q limits on the generators etc.

NB to run these tests you need to install grid2op from source otherwise all the test of the LightSim2gridBackend will fail. In order to do so you can do:

git clone https://github.com/Grid2Op/grid2op.git
cd Grid2Op
pip3 install -U -e .
cd ..

Tests performed automatically

Some tests are performed automatically on standard platform each time modifications are made in the lightsim2grid code.

These tests include, for now, compilation on gcc (version 8, 14 and 15) and clang (version 11, 20 and 21).

NB Intermediate versions of clang and gcc (eg gcc 9 or clang 12) are not tested regularly, but lightsim2grid used to work on these. We suppose that if it works on eg clang 11 and clang 21 then it compiles also on all intermediate versions.

NB Package might work (we never tested it) on earlier version of these compilers. The only "real" requirement for lightsim2grid is to have a compiler supporting c++14 (at least).

Known issues

Storage units

There are discrepency in the handling of storage units, when the are not asked to produce / consume anything (setpoint is 0.) between pandapower and lightsim2grid only in the case where the storage unit is alone on its bus.

Pandapower does not detect it and the episode can continue. On the other side, lightsim2grid detects it and raise an error because in that case the grid is not connex anymore (which is the desired behaviour).

Compilation issue

On the clang compiler (default one on MacOS computer) it is sometime require to downgrade the pybind11 version to 2.6.2 to install the package.

You can downgrade pybind11 with: python -m pip install -U pybind11==2.6.2

Project details


Download files

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

Source Distribution

lightsim2grid-0.13.0.tar.gz (2.8 MB view details)

Uploaded Source

Built Distributions

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

lightsim2grid-0.13.0-cp314-cp314-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.14Windows ARM64

lightsim2grid-0.13.0-cp314-cp314-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.14Windows x86-64

lightsim2grid-0.13.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lightsim2grid-0.13.0-cp314-cp314-macosx_15_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

lightsim2grid-0.13.0-cp314-cp314-macosx_14_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

lightsim2grid-0.13.0-cp313-cp313-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows ARM64

lightsim2grid-0.13.0-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

lightsim2grid-0.13.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lightsim2grid-0.13.0-cp313-cp313-macosx_15_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

lightsim2grid-0.13.0-cp313-cp313-macosx_14_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

lightsim2grid-0.13.0-cp312-cp312-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows ARM64

lightsim2grid-0.13.0-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows x86-64

lightsim2grid-0.13.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lightsim2grid-0.13.0-cp312-cp312-macosx_15_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

lightsim2grid-0.13.0-cp312-cp312-macosx_14_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

lightsim2grid-0.13.0-cp311-cp311-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows ARM64

lightsim2grid-0.13.0-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

lightsim2grid-0.13.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lightsim2grid-0.13.0-cp311-cp311-macosx_15_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

lightsim2grid-0.13.0-cp311-cp311-macosx_14_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

lightsim2grid-0.13.0-cp310-cp310-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows ARM64

lightsim2grid-0.13.0-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

lightsim2grid-0.13.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lightsim2grid-0.13.0-cp310-cp310-macosx_15_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

lightsim2grid-0.13.0-cp310-cp310-macosx_14_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

lightsim2grid-0.13.0-cp39-cp39-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows ARM64

lightsim2grid-0.13.0-cp39-cp39-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9Windows x86-64

lightsim2grid-0.13.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lightsim2grid-0.13.0-cp39-cp39-macosx_15_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

lightsim2grid-0.13.0-cp39-cp39-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

lightsim2grid-0.13.0-cp38-cp38-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.8Windows x86-64

lightsim2grid-0.13.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lightsim2grid-0.13.0-cp38-cp38-macosx_15_0_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8macOS 15.0+ x86-64

lightsim2grid-0.13.0-cp38-cp38-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file lightsim2grid-0.13.0.tar.gz.

File metadata

  • Download URL: lightsim2grid-0.13.0.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for lightsim2grid-0.13.0.tar.gz
Algorithm Hash digest
SHA256 6b8622e34e91c7831b931502462f7acf261aefd0732f3d7d2b94b06918117faf
MD5 82eff10b546d16538f800d0002660202
BLAKE2b-256 f2645d135e10ddea5538e2fcd579bf231ec7de9110d12e8fdd5aad00e0c4c31c

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 318333148d8787afec5bb2b3991ba907ee4967b063d3d8bc4c002ee0792aa1fc
MD5 143ef44a861ee07363a2318e639a4cd3
BLAKE2b-256 79e49b29cb53c02d4bb46cecc6034fd477c250c5729cb3fbd7091401ceefee4c

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9bf7e9a4790765cba5c992f9705c6c461988802753ca10d2c824bc00b185a223
MD5 bf6749677e15c290e0f7f565c1d595d9
BLAKE2b-256 c8014ed9c24b34c6a5c70555b1b2631bdb46479d7fabc325682fd5f956b150a6

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d1c0ab3ae6a166da47dd03b6f713225c01a8396c3d283f2ce0bd178ad2ed6e46
MD5 ced749d8543e81d5272c401b932938b0
BLAKE2b-256 7e47369ca65e90a6765c736779e06aa393c9527d0c3a67ecbc7196fad7818458

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 7431ec3af267e5b31b1318d1acd4b9cb3ed715436d48d6edeaecbee038325317
MD5 08938ae54fe8524ae3ca9f809867c008
BLAKE2b-256 71bad105889704dbbef41828866d779546324f8e4823aa09f8d0017711e66402

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d3abd5797a171d8e54bfd7f12fe62e47c42d4c44bd2cce99f1e4a6972d57ebc1
MD5 2cb52d751cb6b669a5f61f7838713eec
BLAKE2b-256 4b2427773526aa07f5e9f29ddd6cb82b5c485e44525e50d26d58e9264a78c00c

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 85635481406cb1d7c1a3470f12cbef0b3296683471fcaf7e28c7c606aed31a41
MD5 487e3d97922247d837053cb1666e4deb
BLAKE2b-256 71299c28110b9b68e90c9321fb765fa5d65ba69a4c9afdaeba9ffa6f2853009e

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9965a63e4150926fcdbbe54e786a2ec0564f9ad887e25e0469108a5aafcefe98
MD5 0a9a884174bafb619be0bf2ceacc053f
BLAKE2b-256 d9dd7eb6269f775c7e0cad86a066dc3790b44db1839c248831a4c27c9239f51d

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0edbf3f008384d5518fb54fff4ae0cc2772cf19ad797875f61a1c196ff5bea90
MD5 9c19fcd37b72a11889a2f0f5b1998a80
BLAKE2b-256 44e7779e8b0689a390a6bb609416e3fb58eeb0d0c33dc566f9f2b589387357c7

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 66d4d350c30132c38b0ee85dd5632fdc2d97674bd8a446b034e3b43dda32311a
MD5 263d45d8d6a46c29fbb78c0469e00a7b
BLAKE2b-256 f505ee93c2d2e9c67accdbab21f76096089b6ccce393d47d692f4a57b6d675cc

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 36800daa51e6c6040d91cc9d9e5df3957159f3decb8999929c5bd581377bcd4a
MD5 d1608ef701e6755153f1dea6585acd36
BLAKE2b-256 87953f2d82d54fa057c49e1d5e69c54c03bebfd73d2d76b19f9b116068672afb

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 5b92ba20f559e8d995c9d702a4fac852393008417cd55883fc6c2c1796fcded1
MD5 4c35a6828c51f3d5dcbb2b40d6b6f723
BLAKE2b-256 d9dc983d85910192aeedbfe39679133c4cb6a812197694e7625d6107859c781e

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d52e13e1462e051f4edd808f72841ba12102d5a53b6fe2ffd11e66b937138396
MD5 37f56b0e64ebff80d69727b9def61b99
BLAKE2b-256 ee2b7eec4048ebfe40f455db82628fc78eb37b15a50b05ec93322bd618444615

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ae0859d273c459d71cd68641bf87ddada9afcc66fa65d7fef0d37bfe10499de
MD5 7945065d6c6fe59ee6e486bb11a52de3
BLAKE2b-256 9b83c47fca81ea82f08cfa127d66cc70335a2eb5b5e8390e47ebd02f1a9bfd9f

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 ce51a2d46c198c4e8983c5af7f173450e22d668567a1b4593d3b2d42208482f7
MD5 a51cca19c33de61392c0ebe9de2231f0
BLAKE2b-256 999b6664bbbc7109877d82cd2e2d6687db63acc3b53827fe77a8f0679fe2215c

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ba777707f07188ee5da2ac883008d37aacdd14f6b4324eda9399439c7a2d9baa
MD5 ebd998228157ad15150a2612da5a0c50
BLAKE2b-256 9ab818b9a3b552d6a6a50ac255248c7875366c7b0b146bdbbd445f5517c077d8

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 78fb1141126fb6ecbcf195563c99a2d36044fe1d33a881832528579ad6582b4b
MD5 f4f17dcf8fc03e1ea44a97b43d1b38d4
BLAKE2b-256 a55c40824960a5fbb560615b3533ac1b9cb042626727553d0f990e2698c29289

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c6a764d74a54c4d95b9d16e12acd9814bd15ced8f7bf6933c2e8bd04761edf80
MD5 c20141b323d90886e1393fc97ee7e6dc
BLAKE2b-256 e7e5b741fe7081899e4c659fbf6a20a498b64fa8e7b3b4e130fe78caca1ca4cf

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7dc4459f05cd74953ec50f9546312bf615a73ce799691052e1361b23d648d56d
MD5 b1a107464acfd8028e37287a2a33132f
BLAKE2b-256 9c09d78ecf785f076b40232d659b1014e80440b394fb37142a9a050e5f1b23b3

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 4d25cafa675c4f61eb3f6a01129ca023ad1b15125ebbb1d42b38363301552ddf
MD5 055dcb0b8ce56fa3c62bf26fb92f1a1a
BLAKE2b-256 39b11086abc0c294c7c41df549aa2d3f158287aff6c273b8c60433031c275f48

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 41d3515b729834d0e75f8f937369bcaff3a47f268f19fd027c9eed05ce5cce80
MD5 8c0ac371b6d6b0891cd3313e9904d813
BLAKE2b-256 39bc9c3ea6cf7654491b1ee74f05c447aa40d61357fe9593e1e026bfbf9233bd

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 cd115c235144465b3c46e5e38f7cb640aac75885c6135b12c2ce1456ac675fca
MD5 88ca5ebec44b17049a3fd0e5b637e894
BLAKE2b-256 2b7314feb2cf3b7606edf7911e97adc8a9925609f0b96d0e65ddfd13872441b2

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e82049b0181af8cdd5a9e1ff8abb6b62f4fafc1784b4138a28a1fcae1a5a3a8
MD5 9a3360e6404f544d529f1539a0ef3e36
BLAKE2b-256 02d0f23a2fe8bbd309dcd59c8fbc051cd75ae983f698cea51f08768584444db0

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 715a313ca5ae440972958bbc7fd875cb527b43488e850c392bf2bf7918f17ae0
MD5 b335f42231df94c76472864808b69805
BLAKE2b-256 a745f55519f94c58c43cd9829c2322b33ac9ee07c91069a10542654638161ab9

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 e50dc9b9d37ebea461d7c4d3be0b1a52b16a5e0b01ace2e47da64030236f253b
MD5 36aea56839888552442abf1c5c42c4af
BLAKE2b-256 1e914e3c90fdd956c63a5073968c25e4fd7e51463af18ad7c2b08d34c4134fad

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5e0f78048e73f2115b40c2cbd7b1af8ec156efb894dd2db8a5675dfbe291f84a
MD5 34270ac715a6665caeb7ab18b29ddc59
BLAKE2b-256 2c4a2f6cb89055b306df807d4e18534c5d3d46e0d58e351d2fcec392a5dd8f91

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp39-cp39-win_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 caad3fee544e3da2e9c039b01e09828d4168e084c7f383d30c3004a3bc868401
MD5 8bd9562931da0fabcd197a4da1593e9e
BLAKE2b-256 421eb9c9afa10fe9fed51ea01c1789b07b3dd6c4519d60dc8380396461169762

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e1a135524c00703c2ed2516368fce4f0b4672b3563483bbe9710e49dff66619a
MD5 de55aaf6b06855a9fcfd705c3b05ea0e
BLAKE2b-256 fd368d311e0f2a734475f0a22551090a8a6d41f8460e0efad9f164ed53f709c8

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50a8da462e91bbea43d18b5ed739a60b898513788034b3de2ecc7b3862c25ad1
MD5 fda37f70006c669f96109b514ea4eddc
BLAKE2b-256 37799135e2ee8c9af24f00b708e2aced86619fc4b94ea20d04c9f909bd99cf0e

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 fb217813d3e393dbb7a9cb3f8a68abb78889f1833b38f4aeb4fefe0068e0efed
MD5 b10373518c63acf5ecbe504cb1d7dcf9
BLAKE2b-256 41f387ea72b7749a5d857c49711386354f760c0f19f7cef4d3b91aed73e764ea

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 281d5f860c678ab6a824a70c58c39c2a2e7c866d5cc88614d5785049370d3048
MD5 250414879f209cc153b3379ceb3e8035
BLAKE2b-256 e52daa4d909865cb0ef10f5d70fcc0dcbc66e8eb96a932bc54eb060a944475b8

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a5211dedeaeb50dc5e2d3bd0c80dee1003fbf0fab4f392b8ebaf4ad44d9c9be1
MD5 4ac392434ff0661b1961819200b83276
BLAKE2b-256 5464d7b46d447e6d5d13972781fe9d8283df6bfc3f43fbce4897ff86bff6bff9

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 96797e188c3484cac0089fe46a5945c9eee3d03f455c1337e6adc4a1d7f2527b
MD5 d735f68d89b52b16a58abb1aa616cc56
BLAKE2b-256 75940450a27636183e1da862f5d1643373d55507a3c3b60b03032007189f9943

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp38-cp38-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 ea7232bf042859951bc23e62c091778a1a638d207c2ac727fcd54c416dd1ae83
MD5 ff8c84953174b77ecde4aca2a6ca4f9a
BLAKE2b-256 8e3ed966989a8094e4d72f696e4e5464ea76834630963c1f187281c886ead06d

See more details on using hashes here.

File details

Details for the file lightsim2grid-0.13.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lightsim2grid-0.13.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04f47c7a5a15c0f419b429b14022cafff5e6a238c7283f2e4001bddcb5f75233
MD5 a04b0a9c92b009960d87905f8e6d6d93
BLAKE2b-256 e2761f9b4b011fa410f75dcd63cfac4fc4ad3390f93ef48428b7752adde7e2b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page