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 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 without too much issues.

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.

Pypi packages are available for linux, windows and macos with python versions:

  • 3.7
  • 3.8
  • 3.9
  • 3.10 (lightsim2grid >= 0.6.1)

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.

First on an environment based on the IEEE case14 grid:

case14_sandbox grid2op speed (it/s) grid2op 'backend.runpf' time (ms) solver powerflow time (ms)
PP 70.5 11 4.27
LS+GS 881 0.447 0.327
LS+GS S 877 0.446 0.327
LS+SLU (single) 1110 0.191 0.0655
LS+SLU 1120 0.195 0.0683
LS+KLU (single) 1200 0.138 0.0176
LS+KLU 1180 0.141 0.0188
LS+NICSLU (single) 1200 0.139 0.0179
LS+NICSLU 1200 0.139 0.0184

Then on an environment based on the IEEE case 118:

neurips_2020_track2 grid2op speed (it/s) grid2op 'backend.runpf' time (ms) solver powerflow time (ms)
PP 39.6 13.3 5.58
LS+GS 5.3 188 188
LS+GS S 36.5 26.6 26.4
LS+SLU (single) 642 0.775 0.607
LS+SLU 588 0.932 0.769
LS+KLU (single) 945 0.277 0.116
LS+KLU 918 0.306 0.144
LS+NICSLU (single) 947 0.274 0.11
LS+NICSLU 929 0.298 0.134

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/bdonnot/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 __COMPLILE_O3 environment variable: set __COMPLILE_O3=1 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/rte-france/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, 10, 11 and 12) and clang (version 11, 13 and 14).

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 10 and clang 14 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++11 (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.7.2.post1.tar.gz (94.7 kB view details)

Uploaded Source

Built Distributions

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

LightSim2Grid-0.7.2.post1-cp312-cp312-win_amd64.whl (485.5 kB view details)

Uploaded CPython 3.12Windows x86-64

LightSim2Grid-0.7.2.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (662.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_11_0_arm64.whl (537.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_10_9_x86_64.whl (630.4 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

LightSim2Grid-0.7.2.post1-cp311-cp311-win_amd64.whl (486.2 kB view details)

Uploaded CPython 3.11Windows x86-64

LightSim2Grid-0.7.2.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (672.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_11_0_arm64.whl (538.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_10_9_x86_64.whl (627.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

LightSim2Grid-0.7.2.post1-cp310-cp310-win_amd64.whl (485.6 kB view details)

Uploaded CPython 3.10Windows x86-64

LightSim2Grid-0.7.2.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (670.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_11_0_arm64.whl (537.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_10_9_x86_64.whl (625.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

LightSim2Grid-0.7.2.post1-cp39-cp39-win_amd64.whl (474.8 kB view details)

Uploaded CPython 3.9Windows x86-64

LightSim2Grid-0.7.2.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (670.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_11_0_arm64.whl (537.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_10_9_x86_64.whl (625.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

LightSim2Grid-0.7.2.post1-cp38-cp38-win_amd64.whl (485.8 kB view details)

Uploaded CPython 3.8Windows x86-64

LightSim2Grid-0.7.2.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (670.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_11_0_arm64.whl (537.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_10_9_x86_64.whl (625.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

LightSim2Grid-0.7.2.post1-cp37-cp37m-win_amd64.whl (480.7 kB view details)

Uploaded CPython 3.7mWindows x86-64

LightSim2Grid-0.7.2.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (666.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.2.post1-cp37-cp37m-macosx_11_0_x86_64.whl (615.7 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

File details

Details for the file LightSim2Grid-0.7.2.post1.tar.gz.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1.tar.gz
  • Upload date:
  • Size: 94.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1.tar.gz
Algorithm Hash digest
SHA256 3c1e79e80a6228c4b6396dc813bf8e5948930f9a9af10fc006865d96852cf525
MD5 5759d6e7ea7f479b3ca2703b36eaa7e8
BLAKE2b-256 af1b15d18aee2e2e776a5db4a2ff0adfc13a83bcf8b87800fd3d270969f2d2f3

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 485.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7e48a42626384db44d9ff1241ddb544e103b84f75e743f4da5a6937c10204d52
MD5 98e3d1dca5550ace3494fa3c5134fcea
BLAKE2b-256 f179e62d990959547f1eead789186aec221e66b19021979aa8bd802ef3c1d28e

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f552d202d0c1e3a6ab2737f7e67476b92096f779533e7514552a88eec807cbd9
MD5 61e0f480c217eee63d80166403b3b554
BLAKE2b-256 c2a528b46d4ff8b24c863f4dcb3804a41f13ad7b0f2719fbf6c7c43c1c4f0a1a

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.5 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8dc329859565a2b9cf45577788bb89e97aacaea61d05eabb8bbc032545438b8a
MD5 45bdc0e5d6c02a8b3da6455699f2e93e
BLAKE2b-256 7b86aa61eca0a73d1c67d6b67ef2e706e2e5aae422c4c6bd10e209b3ec08742b

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 630.4 kB
  • Tags: CPython 3.12, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32a047a4f3668f45cedb241992ccc14da4722366dd972540252d9f35532a2283
MD5 00c91ab4601861c88aafd6664371c8f0
BLAKE2b-256 5a16a64282136b40b5a8ef2e1443c248502abce3c15ad7f70cf85d829fbb4f39

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 486.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b6851e334307a87377bbf610ce47618a77a8efcfb1a36a220ef1115e3e7a212c
MD5 23b4239cc56e6bfbb4cf43b6b2464f27
BLAKE2b-256 ce88f5c6ff6e110b5b961c2e56eef487247a097d95a19c018a94ffe9a6effe48

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc3c58ffbf5cc00694cafb3128f49b44fe30339207c8efcaa5a3dae7588c714d
MD5 bffedd78826951bf70417a1e4fa4d5b0
BLAKE2b-256 e817a88468d2c450eac16fc61e2387dbeac293dad11bc64242f9a5d338b9e867

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 538.1 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce98233075c94a9fe068f4ec74a09790d23515abf01e692666727ddb03bb6476
MD5 8276c70de7752b7b85e5faeb2e446e25
BLAKE2b-256 b0e7cc65a475576ccaa2b16e9fc660201493342d07d5f4a87896762534bb0ec4

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 627.0 kB
  • Tags: CPython 3.11, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 719ad50b68c7d6443893573538435f31837d5aedaf91408ae920017151c954ff
MD5 1ee58130efcc43b44cc59e8b3c77c72e
BLAKE2b-256 4dc4916bfab596d09ab3226f1e88c8c0010754ffb5eba907943b69f1f2669896

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 485.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e63390578e03d6a71b4570d8b2a7481a636fe56dd623d5d75e0376a0fbf68cec
MD5 436ac8ae836ce2a17f483e4d6764cfbe
BLAKE2b-256 3a8908bbc5d691bae9cc5e099feca44a45addbd15e26327110072dbd2d4e8c2a

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db6a474cf41c041a2bb1a3fd6483a678d4210422ca1650f4a37e4aef417ee20f
MD5 e9cebf6270896bcb14c7d96a216ecf4e
BLAKE2b-256 adfe2e1ba35de30c2acdf1f4472be91e8ad15e8a1f817ed0cf5d6d8a8214ad51

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.0 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f8583cb64090dfdde3fd9d9cc3f7a89d8084e481b80f75015f00e445f54d17b
MD5 88d253aa30a68b0703a1e361aaaf7e3a
BLAKE2b-256 a2d827de622dbabed97284dea7b46f7f22b4d3538fb03eb708cc9031fb70b9b3

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 625.4 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0f8fe7ebd94c0cb7b61c68d6007c3fdf3d9a8bdb67757e16a907ba0ebfe55369
MD5 e77c3eab3fc84b6180132ec090a33a4a
BLAKE2b-256 0edbb236fa5111cc62a7ff63888a8955634694dd624592ab9b5613a2be4ef2e6

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 474.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 984a9a81f833a4240ea7f055b55811c63e72ab889a8c0ac966789e99acd24823
MD5 f2ef83d07af6ce43b57996b5fbc51b12
BLAKE2b-256 d7498be78c01f077829237a252635308a3a517fa0b83845bd1aaa50759b69937

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dbac4bf080e3331212c15ce47dfea44922da608c89466acfad6fb7dcf7cda8a
MD5 0abdadbc6dc9988544d12f72562573b1
BLAKE2b-256 8e3347b5aefddde52d4f45a87dab707e1846e8665ba4a6e78e1d9290eecb5934

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.1 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56b1f25e42d41ad5f894f1e5fc754ec5ae2fc0aac340cd65c1c5952bb9e7f1ad
MD5 dbab44cb341e38572a564d46ab39d259
BLAKE2b-256 a3cb5ded306efaaa3f9c0681db47cf147b51b788a1d4d24a647d8d20657bcae4

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 625.7 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8aec993bfb8e3662a07fd7f8ba2057f71d2acac689e65c0459edca8bc2f0bc20
MD5 c82f4e71025e72e96d3ffbf640255f65
BLAKE2b-256 a013b64d0f18d2abaef4a33b6f378d1ee5a08a5bcd066cc9c22b8498dad597f3

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 485.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ef5bec6ea2ecbbf3821577418d573ab48f3f1f92e256af946be77174f1a48ee6
MD5 1acdebb4519c8cd682473606633ba8ce
BLAKE2b-256 a095cac5ee47fabc7219b619f0fd6d1f22fa61e791514fbc296cbc1ef4ac726e

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09b3ac641a334b9219c61354805bd778e69c885e2ce40694886ee2baa8f97bf1
MD5 5c52cea86fc6c7179bb96fe2b50c2d4e
BLAKE2b-256 b0a3dfc09012859660a9f775ba49dae7da43cfc310d6f1340ede1a9259cc369c

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.0 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c5ce94fd0a5c752263684d3abde7216b2daf0598737a29b6d49263ba4ad251e
MD5 a0223a32c6eb84c5ed2b87a6a4129a0d
BLAKE2b-256 c9f752576f81a1a2b5d219b35edc203e5e331fc767b9deed6c2535b1e0b8ab87

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 625.4 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c525f4e1b92de56eee02a4820e169ef4a4353e4fc332a85dd577395496657024
MD5 b85d7fa620e39e295280b16e018229b8
BLAKE2b-256 42a2c6959bfb538c39e08a1cf7dc1daf86403841b7f866152d66a5451449a9a3

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 480.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 dcdfef58de2b499ad09562cccc2d6139fd0f951d4f9bca54fd8fde0ae8f53638
MD5 113c1ac3ed366eaf64df28c63a083ab3
BLAKE2b-256 7d0ea218caaf21b3d332813879028ee0bdd05528c9beb0e1b5fd6cbc3d11dc8a

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43ea338aebb941eb74321a419508495f8d83fc5f7543f337f92803a028625fd2
MD5 b0190cef94054c5a5fd36d16306b28fb
BLAKE2b-256 85b325bf49ae732d13a236613a8b9dd1a15eb2ae03e4ce03691e554c6e9632f8

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.2.post1-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.2.post1-cp37-cp37m-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 615.7 kB
  • Tags: CPython 3.7m, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.8.0 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.2.post1-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7641741996af3bf5c617e7f89e85ebeb84ae8eb9c02d827a49888f6a0c7b5e53
MD5 6bef5615bb176a0944ae6081463081f4
BLAKE2b-256 f22e0e123e9735293531b1ee576fbf957d88a13ee210dda2310cfb6dfac5ef9d

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