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)
  • 3.11 (lightsim2grid >= 0.7.1)

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

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.4.post1.tar.gz (100.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.4.post1-cp312-cp312-win_amd64.whl (486.2 kB view details)

Uploaded CPython 3.12Windows x86-64

LightSim2Grid-0.7.4.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (663.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.4.post1-cp312-cp312-macosx_11_0_arm64.whl (538.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

LightSim2Grid-0.7.4.post1-cp312-cp312-macosx_10_9_x86_64.whl (631.1 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

LightSim2Grid-0.7.4.post1-cp311-cp311-win_amd64.whl (486.9 kB view details)

Uploaded CPython 3.11Windows x86-64

LightSim2Grid-0.7.4.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (672.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.4.post1-cp311-cp311-macosx_11_0_arm64.whl (538.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

LightSim2Grid-0.7.4.post1-cp311-cp311-macosx_10_9_x86_64.whl (627.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

LightSim2Grid-0.7.4.post1-cp310-cp310-win_amd64.whl (486.3 kB view details)

Uploaded CPython 3.10Windows x86-64

LightSim2Grid-0.7.4.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (671.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.4.post1-cp310-cp310-macosx_11_0_arm64.whl (537.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

LightSim2Grid-0.7.4.post1-cp310-cp310-macosx_10_9_x86_64.whl (626.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

LightSim2Grid-0.7.4.post1-cp39-cp39-win_amd64.whl (475.5 kB view details)

Uploaded CPython 3.9Windows x86-64

LightSim2Grid-0.7.4.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (671.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.4.post1-cp39-cp39-macosx_11_0_arm64.whl (537.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

LightSim2Grid-0.7.4.post1-cp39-cp39-macosx_10_9_x86_64.whl (626.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

LightSim2Grid-0.7.4.post1-cp38-cp38-win_amd64.whl (486.5 kB view details)

Uploaded CPython 3.8Windows x86-64

LightSim2Grid-0.7.4.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (671.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.4.post1-cp38-cp38-macosx_11_0_arm64.whl (537.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

LightSim2Grid-0.7.4.post1-cp38-cp38-macosx_10_9_x86_64.whl (626.0 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

LightSim2Grid-0.7.4.post1-cp37-cp37m-win_amd64.whl (481.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

LightSim2Grid-0.7.4.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (667.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.4.post1-cp37-cp37m-macosx_11_0_x86_64.whl (616.4 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1.tar.gz
  • Upload date:
  • Size: 100.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.4.post1.tar.gz
Algorithm Hash digest
SHA256 e617d43c9fd293095a630beaf9755fbcf60dd141f7b9a52f4a1abe5b32d3217f
MD5 06bc1bb6b4ff6c86dd0b9c35886ebb99
BLAKE2b-256 e622c7499b317293366fda8f725493b527ae2d68ba82a0b799c55f3feb16a219

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 486.2 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.4.post1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2e27d62cda8c0c41d3b7eb8c8913e4b26d21a7121171991cd4a3fd3c11df3cfa
MD5 239bb77627a3f3c7b3a95cbb55d1fe6f
BLAKE2b-256 cc32171121a27ff4ac8c2d7cf53dc04e6d7604c36d7b96c38cbce7f89153274e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.4.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efd729ca0a800e9302d1cf24527336197b752e6942eb46abca7eb8bf142a2f0b
MD5 20af44b088a7afc79795e2ce837dfdca
BLAKE2b-256 2a54f4a6eba6b49b711bb1148528fe26a6972db7b9b9bc6429f81fb526ab552e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 538.2 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.4.post1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0dff564d4a46e2885703d71c821a5d1035170cc2e0b7f5b069c2aa9199e99903
MD5 b1e8f7e332c3304524a6242bdce3a585
BLAKE2b-256 afbc092d624b1a0b8bdfc9ebc52388547c2126b6060cd4bede639f31bd8ed03d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 631.1 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.4.post1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c10c948dafbc25871f380fc92acfbec29e3a88fbfcb131bd79a52a252e1c7f58
MD5 8951429cf3a2b93b6a34ddc3f0ad87a0
BLAKE2b-256 e03f1b33453d6a6f8897158947a38628fef77a6163b3cb0698d618d4bec8a704

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 486.9 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.4.post1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fc87a328b03e8505b212e49a84047c7df348e0369980171bb858986e794a84ba
MD5 a9edbe928ba952cadab107307a2dcfd1
BLAKE2b-256 d144e5a71eb1aeca17142c27b615bddeb0c6cdc48257e23020ef6d41870c4dd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.4.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfa679429a4d734926090315bd49656d4ced3cc045aee8f8a8253e3ee537dcda
MD5 db8c985c01df4404175db8906395e07e
BLAKE2b-256 4856920010a91dfc5dc1036c4beaa19dc831658121f7732e015b70672fe68faf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 538.8 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.4.post1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e888f10e58d706019d7f7955c1920a5ac89cf0277e619ff5c4169db5d4434ae
MD5 142885fde791fec25eace41976c113f3
BLAKE2b-256 2f009ecbddfb9fb333c809a0513f146e795fa74eca9bc595345cc9f8af512ebc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 627.7 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.4.post1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 10602b50e125b86255169cabf79cbfd689ba92394f09d6e1ea529144dc920c14
MD5 065867a9ab218d753e0e81fa1a64c1d4
BLAKE2b-256 345e9205c24bc1154c7a9304a8458efd0883738362a3c22331d274ed871162ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 486.3 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.4.post1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 db87e168ba0d042dd75a157d82d051478ad87743d7304a8ccb43b3ff87de9b6c
MD5 cbb8081cb8bdc20b3ecac7ff1990fa83
BLAKE2b-256 aea14b207f56fd7379b79fe503e26a6bd74a8b2d81d823e251f31e1d4382785a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.4.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dcf8b7b683fda610a5691e04c62f3a11fc573bc72548bd46cdcc6cabc765a083
MD5 71f81685db8b92157faadbdb02de286a
BLAKE2b-256 dab6693510412803bcf59d8ae7d13672b186ed8df5411863354bb3432edb2982

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.7 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.4.post1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c39db119c63c435e7b2919f50d48d2f522ef4464da54666e783cac96aa384582
MD5 7188ad33163c292637c99d0200f3382e
BLAKE2b-256 b2143be0636f0836eeebad9a964cd4db222e7de8b8926a67e8b9a09462b0ef0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 626.1 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.4.post1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bef5f4398adb91bc32bdf523983181d5f429e0fa34e54af6d48040a7129a189c
MD5 17c0ba698000743774396550bcfc2736
BLAKE2b-256 9ce13f3ceab881c17998ec1c15c12d29d2c7477545aafdcf0683140cf425e10a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 475.5 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.4.post1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b4a2b56422520ff9cce0117253d5407d39041e1c4bf4941ff07e06cbbbdc001b
MD5 cbd6287b1284e1706a101e32f62b70d1
BLAKE2b-256 469f7bf15d52897c0b2c0a34fe08b180f2d3a6464e5632c2d14558b45d267597

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.4.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63f10bced05b7b2884ffadd0c077a40698de07b60a27df9dee18380d43447272
MD5 aec970e3df40a5d805e079ef326c4cca
BLAKE2b-256 203d2fef969394fb0e6fae4320820db9d0e647b903c02ff8950f5359e51afe11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.8 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.4.post1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51a7c7e5406cd89fbc6c9f42116e9a5cf70d3722ec1349152be87656f778c068
MD5 46af131a543851907d3777be58076199
BLAKE2b-256 562be9bbbb27a3ae8f6ff55bc0e9ae624e11bfbd0c7728a1456e3cd96f19363f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 626.3 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.4.post1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fa59eefcd8e4ae9afad9ce471253897b79ba8eea1f0308a57a1089ae874a50fd
MD5 c8a66e1820b0b004bca059a03b13a096
BLAKE2b-256 78868e9b96ed8d4cc3bff0e030b13078cc304a0476d13e987a3c41753a7c6ef3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 486.5 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.4.post1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b91106d22c8c10aa1137745bbaef900bbe50572697e2e2ad02eacaee442b5c3c
MD5 d9c24fad4a94bc1d3157b924160af887
BLAKE2b-256 1ef50b9fe406a78ca1f278429134fb692a09827d331520dd95178c1027b2c5db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.4.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7354e2029c4ba69517e82c177f77028db71123031528b36c045d6cd737b5a95b
MD5 65490a0f07c5caeb1ea96a1169e4aeab
BLAKE2b-256 869b27d998754fa39cccb6e3d0533c8d44c9db7cd0400ce9eae34cefb7ae58c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.6 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.4.post1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 513339b4f962b7aa9f3c9860edf1ac80e7011097ed82cc10e67c01c397380e1b
MD5 654b49ff19ed35db5e24d287962c9e1c
BLAKE2b-256 42eb6789ac80573236e81ee29d224170da81245324d6ac1fba1bc8ad8c738b6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 626.0 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.4.post1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b266e78c526d90d7c5f8e1f4f1c82ab4a54b129ab8312077b67e7e1d6edaf40f
MD5 40ab8e50c750be0cf80f581ec3ec57cc
BLAKE2b-256 153d3cdf18ad35b699b5abd7cb72a03c7bd4aa6b02d586d26e34185769d6ef5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 481.3 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.4.post1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e46d803c11a22b34912c70debe2044ebab7ffe2bce83fcbbc01ff7416bc34e7f
MD5 d9e0dc331f16bd065fcade925e57fab1
BLAKE2b-256 80fc604dc79da19bd488a8f30372ad21b8039af0b126454adf9967965e67a60b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.4.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c18ea6ebf4b6e5b41c5cf6ad157128021c0e44e6d79e8442e8bb1ce1565041c
MD5 b077461858c2080dcff5aad899a4845a
BLAKE2b-256 8a5151b0dfc38872b5a8136b2f605850d2c8a53a150bae63433f7081bcf8681b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.4.post1-cp37-cp37m-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 616.4 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.4.post1-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4cf1ab61ae899f3664fa6404980d754670e3204d6dff3e0e47062af2ce01f35b
MD5 aba7b0e49f35bd0617aae900325d747c
BLAKE2b-256 b66d9ed2b64249a8c383f80329dcac11f77f6df8f0cce90f17d53561da7d295f

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