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.3.post1.tar.gz (94.8 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.3.post1-cp312-cp312-win_amd64.whl (485.6 kB view details)

Uploaded CPython 3.12Windows x86-64

LightSim2Grid-0.7.3.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (662.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.3.post1-cp312-cp312-macosx_11_0_arm64.whl (537.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

LightSim2Grid-0.7.3.post1-cp312-cp312-macosx_10_9_x86_64.whl (630.5 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

LightSim2Grid-0.7.3.post1-cp311-cp311-win_amd64.whl (486.3 kB view details)

Uploaded CPython 3.11Windows x86-64

LightSim2Grid-0.7.3.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.3.post1-cp311-cp311-macosx_11_0_arm64.whl (538.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

LightSim2Grid-0.7.3.post1-cp311-cp311-macosx_10_9_x86_64.whl (627.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

LightSim2Grid-0.7.3.post1-cp310-cp310-win_amd64.whl (485.7 kB view details)

Uploaded CPython 3.10Windows x86-64

LightSim2Grid-0.7.3.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (670.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.3.post1-cp310-cp310-macosx_11_0_arm64.whl (537.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

LightSim2Grid-0.7.3.post1-cp310-cp310-macosx_10_9_x86_64.whl (625.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

LightSim2Grid-0.7.3.post1-cp39-cp39-win_amd64.whl (474.9 kB view details)

Uploaded CPython 3.9Windows x86-64

LightSim2Grid-0.7.3.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.3.post1-cp39-cp39-macosx_11_0_arm64.whl (537.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

LightSim2Grid-0.7.3.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.3.post1-cp38-cp38-win_amd64.whl (485.9 kB view details)

Uploaded CPython 3.8Windows x86-64

LightSim2Grid-0.7.3.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (671.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.3.post1-cp38-cp38-macosx_11_0_arm64.whl (537.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

LightSim2Grid-0.7.3.post1-cp38-cp38-macosx_10_9_x86_64.whl (625.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

LightSim2Grid-0.7.3.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (666.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.3.post1-cp37-cp37m-macosx_11_0_x86_64.whl (615.8 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1.tar.gz
  • Upload date:
  • Size: 94.8 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.3.post1.tar.gz
Algorithm Hash digest
SHA256 c1e83f8bb29008220c682860abda42216ff4c2e34871975a88acc700c121e484
MD5 574f35df335c2e371f95e8f422f9f5b3
BLAKE2b-256 76f5bcc0be3cf3f33a4ac1dd12a3a7d82143b108517b4fff2c68484df7c66d2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 485.6 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.3.post1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 310ffe9c51cf40f8d033ef71c80f0cd05a94e579084a65e745e3724d6f77a2a2
MD5 18ae24ab0bc6bd2f87ef67903c9581cf
BLAKE2b-256 44ac0d87b80858c5589abfcff5610ef988ce402e8e85cc629a5005e00387de5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.3.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 288095198260ee44374e3b423f3a4c425bcdf0b55819641d6d08b6031f8357b3
MD5 58672cb4fd7add514462f6fc962a8519
BLAKE2b-256 df1816bc9be1cf65486bb927064abac15da1f2ed22675f1acb82dfdd4767a1df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.6 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.3.post1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5f6dc2c0572520862a40d0f4c9473f4fd0c2e4c23c2056822c1fe7017c13f19
MD5 d458dfb649bf750ad6f653fb8f95a718
BLAKE2b-256 2e73e787dcfef3763870bc4b69b64129ac1d4bcaaa51ee878dac2eb0d1496b05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 630.5 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.3.post1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3e122c2d32b7bd44ceb775e1e80b01e83cea9b4006a14f5d0e04231ffe7ae96f
MD5 c898d87916bb8767b3fe613e36f72cce
BLAKE2b-256 7aff7b89ba777562b6af9819ab3088af9f03db484967b3f11d8105841edb79f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 486.3 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.3.post1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ef6f34165fc1daabd5fe8770c6f1387a079e2861c1625405f44f0ad529a550dd
MD5 3eaba3552fa35d692c7f5d8f1544d5a3
BLAKE2b-256 dc660891e141ef67897cb730844695aa53d4c65a45c72e1ec0dd8dc4b541f81f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.3.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1891ab92a379bb77ef09728916035136e2552633f9eb9f3e14f8552c465b89e6
MD5 46f30e9c013402a0a66bf99f3bc081ec
BLAKE2b-256 352c6ff03d5e5796361e25627edfb4623ddc362d11a45f13ce5afa88f669344d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 538.2 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.3.post1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75d4680d20e7684fa2ca7dc0d58d2d97891a1011ff2b3b5e29cfb14be3c34b2f
MD5 8dd6c164581b1fd1046d27b6cde153bd
BLAKE2b-256 5d1b2e9a4cbcd46966ef93229ab768500111fb10dee64e180b0376499bd9dff7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 627.1 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.3.post1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3ff2320dcd10d68c4ae56d239b606d1c1d922fb31eaea1f3ffceca112055a8f5
MD5 62266b91aad6bdb329945761b20a9935
BLAKE2b-256 7e4f06eb904ed887096ae587f4b76865bd3b04be81a3220c9ea6a885e0d60828

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 485.7 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.3.post1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 10f199c24be820ed0cd9ca314c1183e58fbe218e7a97bc88a4de95ecf830928f
MD5 5c6d88eb46e625df228793ca689a2139
BLAKE2b-256 64e273c551ab7afe45be80598021fc02563577a5eb6ad7f3894399b81354307e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.3.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9f0b7bc109e0ae51d7fccd9e8168cc990079dab628def824bd826a1b63ed25fa
MD5 8e89672741510bcca318ef352bee5252
BLAKE2b-256 06658e2c1185be47bffefa219e4a06122f98ed2e6efddcd71def65a250a6bb40

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.1 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.3.post1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 745ff06f5deb9154b8d1f33b199785884e18fc34515f782f5662bc125136cdc4
MD5 6af17685dda934dc74c6afd50bc1e37b
BLAKE2b-256 c692e36e3bfad34488d0917125b7dda78fb0d7223c997cab328a165d91f0b29b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 625.6 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.3.post1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e00330826beb8f943e0298b340b20e84eff77fab9d587cc40c4e3c54bd9a4b1
MD5 7f60e0b8b307ee58a1e4710ab91360a4
BLAKE2b-256 b2d3b42ca1a5166f5b9ccb7b051dd785fc0dce697ed83f66fc32272651b76b82

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 474.9 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.3.post1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5d9546402ebda5cc0efa18efa35089ad73f4ca9a171bfd45eeff7393a5caf6a2
MD5 7465e873bda099c3622cbd628f22d6ee
BLAKE2b-256 dcc24951e7c4708ade91dc9b8a7357333cff2fb2af1b4807bc0ff28a4852f702

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.3.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f00a9133cffe4fe48ffbe6680add475227f47994fd6584cf109292c0a28b886
MD5 719f601ba8396df3d3d25627a3213198
BLAKE2b-256 1f836ee6648bb11a0d64d97afba211b1c61ba17011ae93da60045861ed16708d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.2 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.3.post1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 966d2422d533cdb14ca5e3ed289c4b7fb1aa83bb5e8df1ede064920c9920c22e
MD5 f12d2127fb1478122d0cac8e1b64f116
BLAKE2b-256 782209194473ec5b7f469ab5a5f3e6426b71361b2cf6de6a2954b803324b463d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.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.3.post1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e3a648091ae47fe0ba039e6118b474688c03fff3da04c6c87e51e211492d8bd8
MD5 0835cb746b6a22a148857025b626e56d
BLAKE2b-256 b420f0a12bbe235fb7d1bbcfc260ed06660aa563871dd75b45ad364af4a68876

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 485.9 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.3.post1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 15c5e459df116ac7c0748762ead746e193885bce6e7152333b706c7e683299b2
MD5 ed8bd355f39c23067da3a2e865bcddcb
BLAKE2b-256 7a7dedbb93c64aa7f340168cba87fabcc669ded09e8610684e3e9d84a59afcd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.3.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2fdd122b052b1b6fb3751f434c9b3c273bde0a51d75fa5a1cb26d6ed7f8fcf6
MD5 df217cc26d305b654d0653c17a0d3902
BLAKE2b-256 396d53ed209d1e6f61f120c93ea0039abfcc1cc54def029c2be10b0ca4c5d48a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 537.1 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.3.post1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3547467d7f925eaed201cb4b3357d3318f2d96f06f66e10e11b9a6cb5ba76a1c
MD5 d2f40a3a122ccfe146591eb77addc343
BLAKE2b-256 89adcb1ccc13d82ff341187a8060c92a3f41e7d3d0c75f48a183bfd73570d519

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 625.5 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.3.post1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8e0d737b35134610769671887986f545c7daf0d78c4ed72f855bc9867b2d1453
MD5 59732b911e088d667b88695437b96b72
BLAKE2b-256 f52e431170dbbc0bcbcef6d0d33feaee62ccbc7dede2159c9f61a5c8a9416bf5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.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.3.post1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 75fe9021c3ba97b8d4564a78072e5a3e72e878a9dcf1596afab3755f9e1e2907
MD5 657e7f73cf34f2d0ab9e106b970a0e02
BLAKE2b-256 37aaaacb616d8b13ae02f92d597be53f827eedfd27b1ccab0ddfc03635863c21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.3.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 795070d895ad1e5c0ffc5d9fd7f6b5f311fabca729cdcb650fb751d9b52c1ea9
MD5 6eb6d380b5831d75ffe6fdbe81a0b836
BLAKE2b-256 ec8de304cd7ac690d6ebe554981bd61b0faa5433c2816e757bfb51136ad4fd1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.7.3.post1-cp37-cp37m-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 615.8 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.3.post1-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 57b502a1fa076c6310b38c422ecd5afb6f5417e94d6345244e88247e801db0dc
MD5 9fd3098ed4b0c144f80a6c7e1d610603
BLAKE2b-256 1000e70cba01711b61150f6e029273f374a2645975569573a45ff1c9ac9b3a19

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