Skip to main content

LightSim2Grid implements a c++ backend targeting the Grid2Op platform.

Project description

LightSim2Grid

Provide a fast backend for grid2op using c++ KLU and Eigen librairies. Its primary goal is to serve as a fast backend for the grid2op platform, used primarily as a testbed platform for sequential decision making in the world of power system.

See the Disclaimer to have a more detailed view on what is and what is not this package. For example this package should not be used for detailed power system computations or simulations.

Usage

Once installed (don't forget, if you used the optional virtual env above you need to load it with source venv/bin/activate) you can use it as any python package.

1. As a grid2op backend (preferred method)

This functionality requires you to have grid2op installed, with at least version 0.7.0. You can install it with

pip install grid2op>=1.6.4

Then you can use a LightSimBackend instead of the default PandapowerBackend this way:

import grid2op
from lightsim2grid import LightSimBackend
env_name = "l2rpn_case14_sandbox"  # or any other name.
env = grid2op.make(env_name, backend=LightSimBackend())

# do regular computation as you would with grid2op

And you are good to go.

2. replacement of pandapower "newtonpf" method (advanced method)

It is also possible to use directly the "solver" part of lightsim2grid.

Suppose you somehow get:

  • Ybus the admittance matrix of your powersystem, for example given by pandapower (will be converted to a scipy sparse.csc_matrix )
  • V0 the (complex) voltage vector at each bus, for example given by pandapower
  • Sbus the (complex) power absorb at each bus, for example as given by pandapower
  • ref Ids of the slack buses (added in version 0.5.6 to match recent pandapower changes)
  • pv list of PV buses
  • pq list of PQ buses
  • ppci a ppc internal pandapower test case (or dictionary, is used to retrieve the coefficients associated to each slack bus)
  • options list of pandapower "options" (or dictionary with keys max_iteration and tolerance_mva)

You can define replace the newtonpf function of pandapower.pandapower.newtonpf function with the following piece of code:

from lightsim2grid.newtonpf import newtonpf
V, converged, iterations, J = newtonpf(Ybus, V, Sbus, ref, weights, pv, pq, ppci, options)

This function uses the KLU algorithm (when available) and a c++ implementation of a Newton solver for speed.

Installation (from pypi official repository, recommended)

Since version 0.5.3, lightsim2grid is can be installed like most python packages, with a call to: python -m pip install lightsim2grid

It includes faster grid2op backend and the SuiteSparse faster KLU solver, even on windows. This is definitely the easiest method to install lightsim2grid on your system and have it running.

Note though that these packages have been compiled on a different platform that the one you are using. You might still get some benefit (in terms of performances) to install it from your on your machine with the proper compilations flags ( see section 6.1 Customization of the compilation for more information)

Pypi packages are available for linux (x86_64 cpu architecture), windows (x86_64 cpu architecture) and macos (x86_64 cpu architecture) with python versions:

  • 3.7
  • 3.8
  • 3.9
  • 3.10 (lightsim2grid >= 0.6.1)
  • 3.11 (lightsim2grid >= 0.7.1)
  • 3.12 (lightsim2grid >= 0.7.5)

As from version 0.8.2, we also distribute windows arm64 and macos arm64 binaries of lightsim2grid that can be installed directly with pip too (requires python >= 3.8 for macos and python >= 3.9 for windows). We do not currently produce arm64 (aarch64) linux binaries because it takes too long to build. If you really want them, let us know and we'll see what we can do.

NB on some version of MacOs (thanks Apple !), especially the one using M1 or M2 chip, lightsim2grid is only available on pypi starting from version 0.7.3 We attempted to deliver arm64 lightsim2grid version but we could not test them. So if you want a reliable working and tested version of lightsim2grid on newest version of macos (with M1 or M2 chips for example) please use lightsim2grid >= 0.8.2

NB we do not currently build any 32 bits lightsim2grid libraries.

Installation (from source, for more advanced user)

See the official documentation at Install from source for more information

Benchmarks

Lightsim2grid is significantly faster than pandapower when used with grid2op for all kind of environment size (sometimes more than 30x faster - making 30 steps while pandapower makes one).

If you prefer to use the dedicated lightsim2grid SecurityAnalysis or TimeSerie classes you can even expect another 10-20x speed ups compared to grid2op with lightsim2grid (sometimes more than 300x faster than grid2op with pandapower).

For more information (including the exact way to reproduce these results, as well as the computer used), you can consult the dedicated Benchmarks page on the documentation.

Philosophy

Lightsim2grid aims at providing a somewhat efficient (in terms of computation speed) backend targeting the grid2op platform.

It provides a c++ api, compatible with grid2op that is able to compute flows (and voltages and reactive power) from a given grid. This grid can be modified according to grid2op mechanism (see more information in the official grid2Op documentation ).

This code do not aim at providing state of the art solver in term of performances nor in terms of realism in the modeling of power system elements (eg loads, generators, powerlines, transformers, etc.).

Lightsim2grid codebase is "organized" in 4 different parts:

  1. modify the elements (eg disconnecting a powerline or changing the voltage magnitude setpoint of a generator, or any other action made possible by grid2op)
  2. generate the Ybus (sparse) complex admitance matrix and Sbus complex injection vector from the state of the powergrid (eg physical properties of each elements, which elements are in service, which power is produce at each generators and consumed at each loads, what is the grid topology etc.)
  3. solving for the complex voltage V (and part of the Sbus vector) the equation V.(Ybus.V)* = Sbus with the "standard" "powerflow constraints" (eg the voltage magnitude of V is set at given components, and on other it's the imaginary part of Sbus)
  4. computes the active power, reactive power, flow on powerllines etc. from the V and Sbus complex vectors computed at step 3).

Step 1, 2 and 4 are done in the GridModel class.

Step 3 is performed thanks to a "powerflow solver".

Using a custom powerflow solver

For now some basic "solver" (eg the program that performs points 3. above) are available, based on the Gauss Seidel or the Newton-Raphson methods to perform "powerflows".

Nothing prevents any other "solver" to be used with lightsim2grid and thus with grid2op. For this, you simply need to implement, in c++ a "lightsim2grid solver" which mainly consists in defining a function:

bool compute_pf(const Eigen::SparseMatrix<cplx_type> & Ybus,  // the admittance matrix
                CplxVect & V,  // store the results of the powerflow and the Vinit !
                const CplxVect & Sbus,  // the injection vector
                const Eigen::VectorXi & ref,  // bus id participating to the distributed slack
                const RealVect & slack_weights,  // slack weights for each bus
                const Eigen::VectorXi & pv,  // (might be ignored) index of the components of Sbus should be computed
                const Eigen::VectorXi & pq,  // (might be ignored) index of the components of |V| should be computed
                int max_iter,  // maximum number of iteration (might be ignored)
                real_type tol  // solver tolerance 
                );

The types used are:

  • real_type: double => type representing the real number
  • cplx_type : std::complex<real_type> => type representing the complex number
  • CplxVect : Eigen::Matrix<cplx_type, Eigen::Dynamic, 1> => type representing a vector of complex numbers
  • RealVect : Eigen::Matrix<real_type, Eigen::Dynamic, 1> => type representing a vector of real numbers
  • Eigen::VectorXi => represents a vector of integer
  • Eigen::SparseMatrix<cplx_type> => represents a sparse matrix

See for example BaseNRSolver for the implementation of a Newton Raphson solver (it requires some "linear solvers", more details about that are given in the section bellow)

Any contribution in this area is more than welcome.

NB For now the "solver" only uses these above information to perform the powerflow. If a more "in depth" solution needs to be implemented, let us know with a github issue. For example, it could be totally fine that a proposed "solver" uses direct information about the elements (powerline, topology etc.) of the grid in order to perform some powerflow.

NB It is not mandatory to "embed" all the code of the solver in lightsim2grid. Thanks to different customization, it is perfectly possible to install a given "lightsim solver" only if certain conditions are met. For example, on windows based machine, the SuiteSparse library cannot be easily compiled, and the KLUSolver is then not available.

NB It would be totally fine if some "lightsim2grid" solvers are available only if some packages are installed on the machine for example.

Using custom linear solvers to solve powerflows

In lightsim2grid (c++ part) it is also possible, thanks to the use of "template meta programming" to not recode the Newton Raphson algorithm (or the DC powerflow algorithm) and to leverage the use of a linear solver.

A "linear solver" is anything that can implement 3 basic functions:

  • initialize(const Eigen::SparseMatrix<real_type> & J) : initialize the solver and prepare it to solve for linear systems J.x = b (usually called once per powerflow)
  • ErrorType solve(const Eigen::SparseMatrix<real_type> & J, RealVect & b, bool has_just_been_inialized): effectively solves J.x = b (usually called multiple times per powerflow)
  • ErrorType reset(): clear the state of the solver (usually performed at the end of a powerflow to reset the state to a "blank" / "as if it was just initialized" state)

Some example are given in the c++ code "KLUSolver.h", "SparLUSolver.h" and "NICSLU.h"

This usage usually takes approximately around 20 / 30 lines of c++ code (not counting the comments, and boiler code for exception handling for example).

Citing

If you use this package in one of your work, please cite:

@misc{lightsim2grid,
    author = {B. Donnot},
    title = {{Lightsim2grid - A c++ backend targeting the Grid2Op platform. }},
    year = {2020},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://GitHub.com/Grid2Op/lightsim2grid}},
}

Miscellaneous

Customization of the compilation

Enable NICSLU

For that, you need to declare the environment variables PATH_NICSLU that points to a valid installation of the NICSLU package (see https://github.com/chenxm1986/nicslu). For example: export PATH_NICSLU=/home/user/Documents/nicslu/nicslu202103

Enable CKTSO

For that, you need to declare the environment variables PATH_CKTSO that points to a valid installation of the NICSLU package (see https://github.com/chenxm1986/cktso). For example: export PATH_NICSLU=/home/user/Documents/cktso

Enable 03 optimization

By default, at least on ubuntu, only the "-O2" compiler flags is used. To use the O3 optimization flag, you need to specify the __O3_OPTIM environment variable: set __O3_OPTIM=1 (or $Env:__O3_OPTIM=1 in powershell) before the compilation (so before python3 setup.py build or python -m pip install -e .)

This compilation argument will increase the compilation time, but will make the package faster.

Enable "-march=native" optimization

By default, for portability, we do not compile with -march=native flags. This lead to some error on some platform. If you want to further improve the performances.

You can set __COMPILE_MARCHNATIVE=1 to enable it before the compilation (so before python3 setup.py build or python -m pip install -e .)

Profile the code

This is a work in progress for now. And it is far from perfect, and probably only work on linux.

See https://github.com/xflash96/pybind11_package_example/blob/main/tutorial.md#perf for more details.

cd benchmarks
perf record ./test_profile.py
perf report

Local testing

And some official tests, to make sure the solver returns the same results as pandapower are performed in "lightsim2grid/tests"

cd lightsim2grid/tests
python -m unittest discover

This tests ensure that the results given by this simulator are consistent with the one given by pandapower when using the Newton-Raphson algorithm, with a single slack bus, without enforcing q limits on the generators etc.

NB to run these tests you need to install grid2op from source otherwise all the test of the LightSim2gridBackend will fail. In order to do so you can do:

git clone https://github.com/Grid2Op/grid2op.git
cd Grid2Op
pip3 install -U -e .
cd ..

Tests performed automatically

Some tests are performed automatically on standard platform each time modifications are made in the lightsim2grid code.

These tests include, for now, compilation on gcc (version 8, 12 and 13) and clang (version 11, 16 and 17).

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.9.2.post1.tar.gz (1.5 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.9.2.post1-cp312-cp312-win_arm64.whl (538.7 kB view details)

Uploaded CPython 3.12Windows ARM64

LightSim2Grid-0.9.2.post1-cp312-cp312-win_amd64.whl (598.9 kB view details)

Uploaded CPython 3.12Windows x86-64

LightSim2Grid-0.9.2.post1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (838.3 kB view details)

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

LightSim2Grid-0.9.2.post1-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

LightSim2Grid-0.9.2.post1-cp312-cp312-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

LightSim2Grid-0.9.2.post1-cp311-cp311-win_arm64.whl (538.7 kB view details)

Uploaded CPython 3.11Windows ARM64

LightSim2Grid-0.9.2.post1-cp311-cp311-win_amd64.whl (598.1 kB view details)

Uploaded CPython 3.11Windows x86-64

LightSim2Grid-0.9.2.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (840.5 kB view details)

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

LightSim2Grid-0.9.2.post1-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

LightSim2Grid-0.9.2.post1-cp311-cp311-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

LightSim2Grid-0.9.2.post1-cp310-cp310-win_arm64.whl (537.9 kB view details)

Uploaded CPython 3.10Windows ARM64

LightSim2Grid-0.9.2.post1-cp310-cp310-win_amd64.whl (597.4 kB view details)

Uploaded CPython 3.10Windows x86-64

LightSim2Grid-0.9.2.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (839.7 kB view details)

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

LightSim2Grid-0.9.2.post1-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

LightSim2Grid-0.9.2.post1-cp310-cp310-macosx_10_9_x86_64.whl (786.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

LightSim2Grid-0.9.2.post1-cp39-cp39-win_arm64.whl (539.6 kB view details)

Uploaded CPython 3.9Windows ARM64

LightSim2Grid-0.9.2.post1-cp39-cp39-win_amd64.whl (584.2 kB view details)

Uploaded CPython 3.9Windows x86-64

LightSim2Grid-0.9.2.post1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (839.4 kB view details)

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

LightSim2Grid-0.9.2.post1-cp39-cp39-macosx_11_0_arm64.whl (721.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

LightSim2Grid-0.9.2.post1-cp39-cp39-macosx_10_9_x86_64.whl (786.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

LightSim2Grid-0.9.2.post1-cp38-cp38-win_amd64.whl (597.7 kB view details)

Uploaded CPython 3.8Windows x86-64

LightSim2Grid-0.9.2.post1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (838.5 kB view details)

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

LightSim2Grid-0.9.2.post1-cp38-cp38-macosx_11_0_arm64.whl (720.8 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

LightSim2Grid-0.9.2.post1-cp38-cp38-macosx_10_9_x86_64.whl (786.0 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

LightSim2Grid-0.9.2.post1-cp37-cp37m-win_amd64.whl (590.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

LightSim2Grid-0.9.2.post1-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (844.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

LightSim2Grid-0.9.2.post1-cp37-cp37m-macosx_10_9_x86_64.whl (779.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file lightsim2grid-0.9.2.post1.tar.gz.

File metadata

  • Download URL: lightsim2grid-0.9.2.post1.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • 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.9.2.post1.tar.gz
Algorithm Hash digest
SHA256 b8dc2a866976e50c702426890a5578efad98e33ad89d67a1e7a2852b41a7acab
MD5 7f73e2acbb567362e6081becedbb01ab
BLAKE2b-256 96508e0f8cece4ef9e6d722db7b81dc32a823cd3139ea868bfb7c2c0aee28184

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 538.7 kB
  • Tags: CPython 3.12, Windows 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.9.2.post1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 927cf7bbfb8fed7240bcf24ce88ebc318508c954ca9dfb1e7861a8e5cab68c90
MD5 ece41b680dfc0ce98bb3093c52dcbd17
BLAKE2b-256 10ba63b738ed4a41a340ac194fc109303c634619c6976a9ef3c30762edfb078a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 598.9 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.9.2.post1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6a1e8f25bea7e2f4b099f9f48ea8e0b64ce99f6c9a479a09b763e17175d30112
MD5 78d34015ef0d49b06c753a85c86248d4
BLAKE2b-256 1316010016bf0702bd88df1d51b5ad0f038d312e7c1b1f7a71ad75341380ab2a

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.9.2.post1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6aeb27b432367afd6f291bc74e552326e97c32913d508c82738b686c876b504b
MD5 a4e6b97257dbf835423e1766c84bc6d8
BLAKE2b-256 a689d70a4fc314244303f76d334d432278b294ab8077f6aa26190df209d2333b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.4 MB
  • 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.9.2.post1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c58e010df842a2b7b298ce316735a3c433381bb0fcc30b421f0e1ee12e486061
MD5 6056a7bcfbfd041d1f2fde12aa95bb4b
BLAKE2b-256 6a5d15c5dfece8f15b45c696199ce807eb54780d2a24ee10948269dd8050b8bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • 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.9.2.post1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 11494ece4eddaeddd5404e10b5e22c2dbb5c7ca2e632b5991c088dd9ce2d5288
MD5 d1f1701e02ca35bb3a96b6c37a6a8ee2
BLAKE2b-256 b00dc4ee6871522ce8a8d766c4a368b06b79498251fa20d50baf19d9389b0f5a

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 538.7 kB
  • Tags: CPython 3.11, Windows 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.9.2.post1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 5c3bc47da2f4aaa242b9ac19adf7900166772660b3fcc07b906bdbd646a8afa5
MD5 bf430911e8692bfde622a6a1f183dc45
BLAKE2b-256 a106571ef64054d12f11b68f2a924e1ef986b8ce8fea66cfe4a32bfb26448dc9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 598.1 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.9.2.post1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fc4e754d76d045e93f4d66e9e68b231b7ba16fa0c78fe43bcdb8520327fc4fbe
MD5 e202cd648081ac28c3222212d5be0682
BLAKE2b-256 0838b1ee662f37b49bb5583d69d6d5c56cac9e25ea88244695010025c8793303

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.9.2.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 530906d8f5553f1592830205a610949ac44d7e7ae1e1894e4829097903ff55e4
MD5 db48bc1b9e8a4b55d0c8fffb09a4fea0
BLAKE2b-256 ce2352ba2198c71daa5ef68de4435694901a84fddfab451c1d6a84258a3f8898

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.4 MB
  • 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.9.2.post1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d8095a764ca968890de3939d128a7015424b690d87162983ff5688fe7420d53
MD5 464023210ef8884c4aa791940f2edbfe
BLAKE2b-256 b0db142d7d06d8b27a255559598176297a69fae6812069121ea217653337e5c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • 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.9.2.post1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ea7151e94f748a157d421d327409943039c90e5446bf70706a34ca97d8c0ad1f
MD5 ba2092a2df705880b99f9a07ab2aed66
BLAKE2b-256 870d6a31c7d139c89e39654c751bf54588769e422c714eb11f18a10154a06342

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 537.9 kB
  • Tags: CPython 3.10, Windows 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.9.2.post1-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 46daaa67a4425aa7690c3e6298adb0d680100b420c84d52f816cafc98dab96c4
MD5 43c86aac4f7179423265d8225947754b
BLAKE2b-256 81b8b1c56971103823b3188aaea1bd72424c497911c46d1ebc5c7088681fa0f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 597.4 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.9.2.post1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b68a5c7fdbceb0502ab79dea70d7eda40e62f2a31496926f763bee5496ddec26
MD5 e1b70620e376eadaccb71c97b50df8d9
BLAKE2b-256 c32c8598971425cdb99728981b973e4bc01f1174c7c6c7fe61fd7295f12ba789

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.9.2.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d73a408ef13fe98097d6a789d118115cbb5b46be6d4b53bbfc040581bb90f59d
MD5 1b706b495e049c5314b4a1dbc552d483
BLAKE2b-256 95265e15cfd00d4b5966521a4ebee916a700ecd54b6f39e10d688d1b6ad9cf8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.4 MB
  • 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.9.2.post1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 308fc53ac2adb055c62920c36bba7ec4e195d55d1ac2cc3bfaefafddc65f8293
MD5 446bdb9762f19c044b64b7b7788a3c98
BLAKE2b-256 00c76b3b43dbc5409d4d5466a491868496de3f60761dcb251761fa828957346a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 786.3 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.9.2.post1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 665eec9aeb60876ca4f94ccbbc193b03782be6bb810ea20075396511fc7b30c7
MD5 d414ccb4a74bc94a6a474b194fef22ff
BLAKE2b-256 f4ded9f7c86aabaff13dd1170d089ec83abecd2554ed3555fe017dfd01dffb89

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp39-cp39-win_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 539.6 kB
  • Tags: CPython 3.9, Windows 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.9.2.post1-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 a86d985b634c91195240404167936a43015f126fb763ea4490be3f4fffec49e0
MD5 72f65b44db1da332746a162ab0215501
BLAKE2b-256 f0e08bda3c7e86edce9b785901908c366d179989c47f9f3a405e6efa557876c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 584.2 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.9.2.post1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d376f2deb21340e5ccd9c4353233507fdbad3fe2d3af93ec1405eaad62835970
MD5 e96fe516e7e95e4a8a6270b826a464c2
BLAKE2b-256 85fa047ecc0329d08e980566ccfbf4ef131094de623a98933916ba3d70d80b88

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.9.2.post1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab0f3e155378e1158e9a67d8356c56454da6210457c028d73c52382ae4d7dcfb
MD5 83b7641f3a031a95e0cbef73c9b55fbe
BLAKE2b-256 7b2b9a50b82c8b353d9a3ff8fcbd269af1300efd1e6ad9539edf42c2e1dc2c61

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for LightSim2Grid-0.9.2.post1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd6a425b350781bc93ca1c891e5adc7e7d39a2f874ab6e9eed3966ced2108f0a
MD5 a547ac5439f3045a0d0e1474cd6f142c
BLAKE2b-256 f7cb34ff880bf168fc7a777ea0745cad938d289a0f0bce51fe6e002ee167759d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 786.4 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.9.2.post1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 31b92e42919eed314db54b85be1ba2dbe642918fbb50cbf65c480daddd7dfdf7
MD5 f80a751d112f42d954be4612e8390e22
BLAKE2b-256 40711cac90218a097c7d69b5a0a545e24bc09bba7d44d1eb7a07fe646c7e9753

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 597.7 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.9.2.post1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 01d2dc0e7a48905ef5942137955392603302a77d3203bdcf4cbefb18b97ad1da
MD5 273890b80d4b5c4363c246f7f9cccd19
BLAKE2b-256 34f3b8ddd7bef1ac3fe9558ed3c11be7a4f1bf6347ce241b273ac34f404390a5

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.9.2.post1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7b1ee6b3fc5a69892a8d14b50a34da73f8dfb309580409b7e33ba905c50f358d
MD5 79086ca961b9fa2b9edca299263fada7
BLAKE2b-256 edf1c90afba44d1e7fb9365f36998ee339ff9de9f72457a841f68a2e039ae04c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 720.8 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.9.2.post1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7480d965fcb9c9d0427fa11cb0a58b738a9416fe225a5063f6a4a9a794c3c529
MD5 6969d72fc114f9be62b8db39e60f3c27
BLAKE2b-256 9ef84785f3e7c573f41c737722f4c0e71c89c0270704916d474e4cf3e027e3cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 786.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.9.2.post1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4a77b064fe827a18f8deaf68e1448f20619d32daeb5a98134b82d6c4952b2dee
MD5 665002a58e7fa668fcf00574985b4996
BLAKE2b-256 f447018ea7e3ce87b89c7ee707d38c13f98754b84bba585d08dfbb35f9c195a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 590.6 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.9.2.post1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 4e10f3dbe25e711174c101a6870138ca7497e5bfad43ae5c907b14787a4f6648
MD5 5fc51dd599fd4a6dca3b6e328ec25039
BLAKE2b-256 145a5cedc44d6e1d12260f1e01685cc8494ae0270f06cf44c9109ddc698dc086

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.9.2.post1-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 60a08474c1af8a6fd9bb402afd49a4fb24b3b0176159954b461ce19593375007
MD5 465e332027d5157c126189e6a215c6da
BLAKE2b-256 71628aa44eccc7115efcd5da87748bebda8f8932fce8acc69ee8202a48da6414

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.9.2.post1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.9.2.post1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 779.8 kB
  • Tags: CPython 3.7m, 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.9.2.post1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0c8aa03816426a506251b60cafa67cc1e270ca0cd734b1d139f0bc372ade1433
MD5 40f966fa3570a6b352454c2977f55b40
BLAKE2b-256 85426c64c5a4142598cb5fe8cbfd09bf7bb688d84d5d9118e31febdf6363ff23

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