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.5.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

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

LightSim2Grid-0.7.5-cp312-cp312-win_amd64.whl (513.2 kB view details)

Uploaded CPython 3.12Windows x86-64

LightSim2Grid-0.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (710.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.5-cp312-cp312-macosx_11_0_arm64.whl (589.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

LightSim2Grid-0.7.5-cp312-cp312-macosx_10_9_x86_64.whl (683.3 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

LightSim2Grid-0.7.5-cp311-cp311-win_amd64.whl (513.4 kB view details)

Uploaded CPython 3.11Windows x86-64

LightSim2Grid-0.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (718.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.5-cp311-cp311-macosx_11_0_arm64.whl (589.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

LightSim2Grid-0.7.5-cp311-cp311-macosx_10_9_x86_64.whl (678.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

LightSim2Grid-0.7.5-cp310-cp310-win_amd64.whl (512.7 kB view details)

Uploaded CPython 3.10Windows x86-64

LightSim2Grid-0.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (717.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.5-cp310-cp310-macosx_11_0_arm64.whl (588.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

LightSim2Grid-0.7.5-cp310-cp310-macosx_10_9_x86_64.whl (677.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

LightSim2Grid-0.7.5-cp39-cp39-win_amd64.whl (501.3 kB view details)

Uploaded CPython 3.9Windows x86-64

LightSim2Grid-0.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (717.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.5-cp39-cp39-macosx_11_0_arm64.whl (588.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

LightSim2Grid-0.7.5-cp39-cp39-macosx_10_9_x86_64.whl (677.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

LightSim2Grid-0.7.5-cp38-cp38-win_amd64.whl (512.8 kB view details)

Uploaded CPython 3.8Windows x86-64

LightSim2Grid-0.7.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (717.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.5-cp38-cp38-macosx_11_0_arm64.whl (588.5 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

LightSim2Grid-0.7.5-cp38-cp38-macosx_10_9_x86_64.whl (677.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

LightSim2Grid-0.7.5-cp37-cp37m-win_amd64.whl (507.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

LightSim2Grid-0.7.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (716.5 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.5-cp37-cp37m-macosx_11_0_x86_64.whl (670.0 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

File details

Details for the file LightSim2Grid-0.7.5.tar.gz.

File metadata

  • Download URL: LightSim2Grid-0.7.5.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.7.0 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.5.tar.gz
Algorithm Hash digest
SHA256 97986681d50efad4ffbc7fbea9b5e1d62bb201d937b72d65f03af9a930a11ec0
MD5 42d92d0f940b0b5c8bdfc132451cda65
BLAKE2b-256 c3d9d06922cb34da787fc5cd2f323d81829342c7530073d8120cf4677c967722

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp312-cp312-win_amd64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 57762a8245d66fbf05eed0f95392cc7cc291471a8b7cabded9c9e9b30c86c4a1
MD5 c5eed2c7125fe0db954dee2bbb98621e
BLAKE2b-256 3b8ecea4d585ef4af83f4fb78f17c2bbb1950e3892131280bcc206571fd0e923

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffca98afc0362902fbc39f316a36f4be09e4320e61e99860db048f9fb499664b
MD5 36b26fb2048c590fe2b6f0505022bb14
BLAKE2b-256 bc970cb6cee20565731f1bf65c368a5bfe0abcc94aa8dfd6e375049e44e66bd9

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60051d107a84e7332a1a76ba2e0de94d9ff366fb0b81a0e918d804aeff18f4c6
MD5 325690f44af9bbb2abea9387bdfcfb2e
BLAKE2b-256 be22b84b5ffc872bada54b072943ba979131c532d68dae89ade87e43643d53f6

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc87bf4728cf38ad4b3b41632c33de480c5c675f4bc8a7eca3abdf474918e589
MD5 dc1d854a1210a08bf1d2c0bb2d7f4bb4
BLAKE2b-256 b3d2da82079c55115596d58ab18843805a40b635bff3cc5559d2fa49106a995d

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp311-cp311-win_amd64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c454b987a73f277da961d479f0715dab720a840ba5f583761b336701d312454e
MD5 b57f64f06d7e6b94aa44b279b82d6d5f
BLAKE2b-256 cf81d9c7aac82f11810141f2777dadcc6dae87e2a915aa709e26523936953135

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a2f0e127746693afe44109af742dd91acbea17ad8207aa962ed1adb8414e804
MD5 655380f42ec24c7aa3a2a5304d0c0712
BLAKE2b-256 e703b06db8cb72b3af9cfaeb3e5b95943e0aac3842d630e6cfea7a194928f884

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36f4f39df577d04e6736185c507e75ad1573094ccd5669fb4252b83d60b2a146
MD5 77dc49c162dba35d9f667ddf1830bea0
BLAKE2b-256 507da392a7582eb4b0a734e367dec9920c55f289d0039fc40e3f782350ce8c49

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ad00a10479e12f47b696c2cedc1c861807c58bc782e7c344975d82202ca2327b
MD5 1f2ed3db29277a2882761af7b808973e
BLAKE2b-256 c69a9a1d8cd1a150e1b4b6c29ac54b0f943bf3a919d4195b535245fcc86dcfaf

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp310-cp310-win_amd64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2ef918429d8e441a7fd805e56827f292f8c312219b0f7c82040e318f99a9c6aa
MD5 7e0e896ea4dc14b3eb51a178c6a0b7e9
BLAKE2b-256 2146344d6b4cb2d332a62e54f7c61e2d4bb34796fb4b2bbd345ced9e23ee3a99

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a262e3b7c42cd520373db945b99f37b3ef2e832fe39727264fe872762ae77ace
MD5 73b9a054e37bc70d89f3adbf3186562d
BLAKE2b-256 e13fa76ef2ade5b7a46506d62492895605877956cb21b19bc75714202b97ba06

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b6590fec6bc7553d6e2b42af96d3712e531ffac1f824472c410a443fbf82cbea
MD5 dae4319e6b958cbf1a172930ad6ce3ff
BLAKE2b-256 e79ae93674b4adafb11bcb57bb14d0ac5fbce1f15af4aab89bbf14e634802d23

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d9005bb54bc3229137f517ef7e037b41c36ce7227535b9ac5b7dca4c4800a4b3
MD5 be162fa5e02019516c005f7f305838ae
BLAKE2b-256 e1a0acbdc9b3359babff62db66344e1b5bf082db5d854d7908d7cda00da7a2f4

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp39-cp39-win_amd64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 98048f0dc5673469341ff4690ac6dea3fb83dc6090225b7155294c7edb1920b3
MD5 4f2df514fced4a96e2daacace8bd7af6
BLAKE2b-256 30482045215678be6cdb1b0b39b7c1ffd7385b23d8bfeaa12004a7c73e8ca65e

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73ff20179eb120ca0c52597851b8e4ada7bb71c5b395fc26bfa65443fcc5f22f
MD5 5f482e25a4f0a29eaf3b4752fd8c1699
BLAKE2b-256 412458ebc45f2902200384de59ed87c82350a40713c0e90b2af06f514f2bb8d6

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ea9c6bdc869839c7e4a32f314e063438d08d6e9c91ecf42e19fb5340e682d20f
MD5 05683c5b73655b8db2d4921d03d5420e
BLAKE2b-256 29dfe5e596c66a08df3671931f9572313cde15dcf73596f737a8c1880c2726aa

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a32cf367e461271a71247d15d2a58d9abc668558eec410224b96d6fae3a76ce9
MD5 e4971986ddfafd2002d5bfeafad408f6
BLAKE2b-256 2a919930b2479b0435a35de9cf882c6de322f9b15d3b664eb7de187b5bf3af57

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp38-cp38-win_amd64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7b6b2b9fc3c352f0cf4b917cd8e613fdd5c341322ffc40c684d27df71653868a
MD5 d30849ebf20cfa4632240dc35a78fadd
BLAKE2b-256 886ce6008e57fe838ee3502780aa6f607c273ac02b364c4ee509f792ccd10696

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fc1d61b5847d3c281a8126b84bc9fef3b40e7a547b5db3588d96f9eeebcb4bf
MD5 761b08e749649abcd5c891c205485750
BLAKE2b-256 19e791e1b120e92bc6bc9a9fc277113d7477d145c113b14cadcdb615717fa9f9

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e9ca75221c54a9a1a96f2d9c276e514b94e065fdc99bdd7e2be38affdf38e58
MD5 7344db735ba289148a366349e3526cef
BLAKE2b-256 8e303b883138e25a36538283498ab96f1a5a50a5a9b5b6435433f1cfa2aeac98

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b3e30dc99e3457aaa180c356bceec67a834014e4c1ca993cc80316291a5129d0
MD5 53616cf787b07c3b453803ae26c3608a
BLAKE2b-256 5e254a0a41942feaaf0a2df6fc31478ce9314e62c93ca21913cd23a2d0046f26

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp37-cp37m-win_amd64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0a8b858ba2b825516c47c055dae2b08346bb637b93c60b5284030493daa0eaa6
MD5 875b79bb771e9c8a2f2a0b09aa349ea1
BLAKE2b-256 9b7547ffcc740e9dcb7e7ec9ed3900894cc23dd7086976f3e243aefce73ff8cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 829de9a07646db18157d5f62d3a9de3203aa51e6999e3264b992821ca948516d
MD5 f2808e190b933e4c24494cd0aa29b707
BLAKE2b-256 6a880846f6209a9cd9187406c804fa32c69263c74cca766c20eeca62ef02c99f

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.5-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.5-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 822a1bb57dbe9a5539e2ea49588d70135c0c309aa8669be0e82b4c2320fcce49
MD5 257b85dda0d38119ef389549a6f1502a
BLAKE2b-256 075628c51ffac55b322a48db9b7606443cfef750071734ec52ae6e8dd3ac812d

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