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.1.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.1-cp314-cp314-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.14Windows ARM64

lightsim2grid-0.13.1-cp314-cp314-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.14Windows x86-64

lightsim2grid-0.13.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

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

Uploaded CPython 3.14macOS 15.0+ x86-64

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

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

lightsim2grid-0.13.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

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

Uploaded CPython 3.13macOS 15.0+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

lightsim2grid-0.13.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

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

Uploaded CPython 3.12macOS 15.0+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

lightsim2grid-0.13.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

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

Uploaded CPython 3.11macOS 15.0+ x86-64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows ARM64

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

Uploaded CPython 3.10Windows x86-64

lightsim2grid-0.13.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

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

Uploaded CPython 3.10macOS 15.0+ x86-64

lightsim2grid-0.13.1-cp310-cp310-macosx_14_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

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

Uploaded CPython 3.9Windows ARM64

lightsim2grid-0.13.1-cp39-cp39-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.9Windows x86-64

lightsim2grid-0.13.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

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

Uploaded CPython 3.9macOS 15.0+ x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

lightsim2grid-0.13.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

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

Uploaded CPython 3.8macOS 15.0+ x86-64

lightsim2grid-0.13.1-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.1.tar.gz.

File metadata

  • Download URL: lightsim2grid-0.13.1.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.1.tar.gz
Algorithm Hash digest
SHA256 01faa2d453985c7afbf4f516fa5c25e52ed5d3351bf43bb23b7ac4885dc99571
MD5 dc8faff0e8e0b305872c18416fab329b
BLAKE2b-256 e2f0d11894679487b1eee8144226167eeeebd5b044392aa100369e70a91e5b16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 d483c5e8959fe4b4f92f572cab803e7adf08d493e3aa9278f7ccc1ad920f1d69
MD5 928899b647b543c93c72cf3033ee3e25
BLAKE2b-256 505f6f50c1456afc10bfb18c6b8dda1ef7763ad6c51c614ee76e8cd5c49738d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 019afdf6652d30eb896dfc35dd26373f4e7874d95e36b66125aea5ee27eab144
MD5 142e199241706e04c6e2bc8a8d9f7fe1
BLAKE2b-256 eff0a08d8baa3c43689c9d7daa8bac15a217fe22009dfdd57611f7be2b4756bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aa3e9a1026f04344fffbc6f1101ad1b4467abb85320f628a68db37e5a078619c
MD5 b351d54bc461d62791f1a8304d07507e
BLAKE2b-256 ce59f64660a64813da95fb5cd0bb71fcd3a2410c46400b074fc306a3485c01dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 102508a81512ad34c9a436b75c5d7d291862ff0a8d50575d72255b7bfa17900e
MD5 4d6eb4f3724ef33d061ede3b3b2b360d
BLAKE2b-256 34344b3e96196881207b41622a2d9835d6b3d582ae7da9e7db8663ada95a8ad6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4057aa88e21551f1ffbe579c1a2bfda1ea233fe55805c40a858d4bb4700a7176
MD5 30924296f188793e040209fe4fe6180d
BLAKE2b-256 70161e6ed7f98c1099549673379c2f09b32b61f4fa61b8756ecf98505d61f4f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 73fead0d34b6b399fa3974e086923af9fa03554bfe0ba6af6cf9a85fb8492a4a
MD5 4e6d63c80e3dd1656cb6ad404253bcc4
BLAKE2b-256 7714cd00ac2d6ce98b2a6b3e79930da19227e72dd8f0a5b9eec79a623a7fe820

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2dedee6ecfd1d270776a474ae5f08171212229304245144d46fbf1e828ca5c81
MD5 bae15e2a816b7e81a762f7cbf521a080
BLAKE2b-256 804f759e8b52f3fff1ea59a298c4005f8dd64127465e0da76dbe733ab1bb3f17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c7223486dc50ef99b764f0a05e8bc0f08432559a723d28b421b6d04776c1ca7c
MD5 25b5e0e29f189e93599ef603314f368c
BLAKE2b-256 631f3dea98c687dd492d980c5228d7e768c62d729d5cb87f9138a81fc85f0ace

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 d0e3f5e4fd44d5843584f29d11a0ff7e0ec0af89149ad5d5ab1838ca0130792b
MD5 548856351e5bbd2702d4aec86364f834
BLAKE2b-256 156e7aff3691b623ed1a8fedc5910e527613b40e04917f5936053f120fe89bbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 98d1340389d1712f94c134b1ef48d9a5ad66b55061c01f186c84ad5217897331
MD5 fe0f2a637a513797fa0703c3df6a21c9
BLAKE2b-256 05c730d4ba27d57be8ecaf70df241ad2993ab35a73d54af2edbe620fda676af7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 e27e76190de76e217121d4370375c87ede0c4fe0dade505e383f0805fa00c803
MD5 6147e5efca0ccf632cd794c956207263
BLAKE2b-256 f8707022e2af69f3472f059257e7fb7942d1c6089a462aa3458fe13717378c2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 524d4035b4a690069aec5fc1b4846c79ccbd8a2bedccc59af790e72ddfccca2f
MD5 6b010bbb735aef692aade85152906ec0
BLAKE2b-256 9582ee1af89b234c4b7a32d66fb14e494dd77f1dd48354b74e9fc7c84ce6f23f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15f20213df91707b1901ffe5e534c7fef769738fdc3dd1b5b79892e578fbdf3e
MD5 ac0737b7520a9da6240e2cbbf9a1c635
BLAKE2b-256 89dbc3f2eefa87258fef8b6817bb3f4b21f86114c82f153cbc034f8e7685ad64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 f96d6dc960f8d12e2f9c154b3aac39eae8106f33a3f2c0c3fc3e54b83bc7bab4
MD5 f6ae0201e7cd92fb7e88350a3ecc9382
BLAKE2b-256 c6d8106a7e20469cbed11b12bd35a9fb7a2482b431fb1a0a286559765f766e43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 34352bff48a00a3859a5a0874eeba77cb66f5c5c7102820ed1b585b21b1f07f4
MD5 17b0b27d3b62d1e71b8fb63b7658f37f
BLAKE2b-256 90c8f2aaa76d3b3597a44b95a51318cc8a512de9031c51eacfe3b8d209c3bab0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 4d27f32061b7dbb1c9dd8ac5bb9d907d8e93c70ed65cda4a44c83280b45aab6d
MD5 34e91d009c24352e0fd9e2ba0bd720a4
BLAKE2b-256 17eac4edceaa5d6c5e198266ddefa2b533dbc533c31c09dbb803258dd35dcf33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 69a844bb79171287f8f75e3fd591fef45acad2e3187853db26c469f51bcf08d1
MD5 b57a307f034062f43574d58358c8c3aa
BLAKE2b-256 dc4090f3752b48c0040f09fe649b47e297bd879713bcfa06acfabd90bccd630f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 91c329c4421d70f57663443dd8dacf2ba8b4e3980e3fb26eff16dc5466d54889
MD5 65d6f4a3a8962bd9f24250fa7804066c
BLAKE2b-256 0f5ca34def8e46def2e06b58d169a50c7f5d256462a6b0b0ff0a839461ef63ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 f8183f37f0d13b9091e3b3a1c47df1f420bf9ee9d36fa9bbaf3f5148724cd204
MD5 04e22a854438f3ee927e385b63d6c742
BLAKE2b-256 da7f5d87af6339dca849e0218c1397ddce6afa8802392dbede58f5f35fca4e40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6dcd435a5c1fc7b1d70e5b652caf3bfbfd146ed9af9d68e5f4c486ab0d8ae93e
MD5 5f757427a21a388ac0f4c98c058c3336
BLAKE2b-256 fc659e1ec4ca369354a8bdcc6cd2712253282877b7585833759790994dd0b852

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 74c3ac495eea327e5d76e8c4fb51f33ffe0c5ab3c97e337c1a2c86b8a1c094ca
MD5 a8f9d686c6eaed9d4c4a5fc32ecd9f05
BLAKE2b-256 75bf5b9b3e06d0f28a534c38ea346ce3a3ee24f15e40fde721e3b928f2f9717a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c687ff0c3f7e25a5f71cc4f106c463e18ca9446562e3b912669736e234ef12c8
MD5 6e4e3b2b6800485f771314283ca9a129
BLAKE2b-256 5fa5aaaf4ebb34bcac0889fe8188acd597a174516d21d7c601401e94abfa3974

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 10d89593e5a0da67f4e62792212797f515e7a119015665678e32e2bf1404b3f5
MD5 f9d90ae89cb3408dd16a82a6144e97d1
BLAKE2b-256 a5aea8cc59d701480c9239e3f63081eed188f75b959f9aa3e9648d16b48505b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 5af824981df1f5c3e6c82e87f2f5b2548134636f84bb807982019454ab95c6d0
MD5 04fb626fe081163735d13dc8e46e9863
BLAKE2b-256 b0b1191525fa65881f4386730c11168ab17d7216b977a449fd05451ecf2963b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a90d0dea993746506c32f4d6b367e57f3d2a6fa4e07728665188bda5a18999a1
MD5 424891be28208f1f8418e9c81d3ce720
BLAKE2b-256 c00eb827333b023b34deb445888f6e78eaab04b0609a4f0a38091119b1c7c051

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 e0745d0bbe431090951a8e2b6db7cbad4d446713befe5a2d6b8a69ffc5904f1c
MD5 12031182f52a73765553f540d3de2aa1
BLAKE2b-256 72d051904730313983c530ec9ca2d65384b2924d0b2d612568c5369d1b59bdf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 76892c39b9ea62cf2e7c50e26cb71f1da93b6a279e326c3424bfde9013dcc9a5
MD5 c81e5ba9c466a9e8dcdc1e6784d3bede
BLAKE2b-256 dd9c6f173df64e73404e9d18c0979b1ab7a3a84df5ed58573b1b6f1bf41c683c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 475ad2abd14f3c0353a0651f01fb4dce5185de88299801caace9291d64db94ca
MD5 4fb591ca825f09e424af9e6b1a86d09b
BLAKE2b-256 f8c351cfdb822a508c1a0ec67ecfd14bc7c197d4f0d6ff579cc33548ac251df1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 ca78178548e7c9faf4a57c74badef34e93cf8419f5d546d547e0440f00720984
MD5 a8f9edac99d4bb7ad199a0a5a9162f65
BLAKE2b-256 c5aab542b2f97bceec8c4e7e187f71504818dd2c07e59c898609b4d8d5e5e3f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df4bcd23bf3d9dc064ac9f1ec82fd41a3d7e3a319a041602b5918fd200b5e141
MD5 4722512930cadf5b7dfd4e19407ef8f3
BLAKE2b-256 fddc865b05145f76441c97a56db9e63e2a5965766c9b3de01f16db1c09568a5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4950ec3c2522f57e2e079475ee276d643e31f63062a3ef2430c1e3b04ce67a8a
MD5 7b1cd7c97a3a1d6775d1bba80826bfb4
BLAKE2b-256 e339bc0f1a2c1c2905b6c6c3f139143aad0b89eaedaf9986900804cd33444854

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5e36bda91e445ec0a8fc8d94aeb4f1e546a5da7b8ac62392a7d4fe8579f6b9a1
MD5 17d0860ec1c5e0f3b3aad2f481b55dcb
BLAKE2b-256 55b841ebe02c273a37467c645e015e5668ee70fd2d643ac838f45ce6a9afa738

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 b0421b47d6824d44b5f925288c7537b1c77c67e61ea02e16b0e8af59c812b415
MD5 d9b609b7f660022483237a774d0f754c
BLAKE2b-256 ebd83ba297be60798d6b60c41066e685e2e9b47a0bd72cef5a5721d8b9005082

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightsim2grid-0.13.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75bbacadffa574e714c77de4697648d30eae4471e568adb46667bb887d722f30
MD5 dc480b10e276988f8571595e915c30b2
BLAKE2b-256 9187db2106c3f5c5fec06e523c13b8409ead10796a116aff35b221af333d3cd5

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