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)
  • 3.12 (lightsim2grid >= 0.7.5)

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 (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/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.6.dev0.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.6.dev0-cp312-cp312-win_amd64.whl (517.9 kB view details)

Uploaded CPython 3.12Windows x86-64

LightSim2Grid-0.7.6.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (717.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_11_0_arm64.whl (594.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_10_9_x86_64.whl (690.0 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

LightSim2Grid-0.7.6.dev0-cp311-cp311-win_amd64.whl (518.1 kB view details)

Uploaded CPython 3.11Windows x86-64

LightSim2Grid-0.7.6.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (726.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_11_0_arm64.whl (594.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_10_9_x86_64.whl (685.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

LightSim2Grid-0.7.6.dev0-cp310-cp310-win_amd64.whl (517.5 kB view details)

Uploaded CPython 3.10Windows x86-64

LightSim2Grid-0.7.6.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.6.dev0-cp310-cp310-macosx_11_0_arm64.whl (593.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

LightSim2Grid-0.7.6.dev0-cp310-cp310-macosx_10_9_x86_64.whl (684.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

LightSim2Grid-0.7.6.dev0-cp39-cp39-win_amd64.whl (505.6 kB view details)

Uploaded CPython 3.9Windows x86-64

LightSim2Grid-0.7.6.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (725.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_11_0_arm64.whl (593.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_10_9_x86_64.whl (684.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

LightSim2Grid-0.7.6.dev0-cp38-cp38-win_amd64.whl (517.6 kB view details)

Uploaded CPython 3.8Windows x86-64

LightSim2Grid-0.7.6.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.6.dev0-cp38-cp38-macosx_11_0_arm64.whl (593.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

LightSim2Grid-0.7.6.dev0-cp38-cp38-macosx_10_9_x86_64.whl (684.3 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

LightSim2Grid-0.7.6.dev0-cp37-cp37m-win_amd64.whl (512.0 kB view details)

Uploaded CPython 3.7mWindows x86-64

LightSim2Grid-0.7.6.dev0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722.7 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

LightSim2Grid-0.7.6.dev0-cp37-cp37m-macosx_11_0_x86_64.whl (677.0 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

File details

Details for the file LightSim2Grid-0.7.6.dev0.tar.gz.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0.tar.gz
  • Upload date:
  • Size: 1.4 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0.tar.gz
Algorithm Hash digest
SHA256 1e859a018d60abb257fb43735daedb506ea2a5cf8acca7da12046032b8e4b31f
MD5 054626ac2152aa15269355ac28207e2d
BLAKE2b-256 ae6d2c1780e39fb30b92f9c45d6a979f55d02c948c23ac0411501fca418a0141

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 517.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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2dc8ad675c997e73c96155c08314b76a4960b5644282575043e2e71350a3e29f
MD5 ed6ec76a9de9b09daf33ab435a8f6946
BLAKE2b-256 4ed887d457e28a56a427caae6357dbb047dd3c0e5461ff78b1c2559b7bdd5302

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 baccf1d69783e2c9761a24b9c0d673a9679a1ba8b412b25ceb659fd6a61cba75
MD5 d90b13f844c7570dea05ba59eb1c6823
BLAKE2b-256 f21c84526e23afeebfd0d92de8d050f50c0c4ac8892c3839b2a6fa89452f270b

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 594.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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c931b138439455426b9a963d258c5f5112c2f6818029b31419fa340220e6a7fc
MD5 e324941dbc18a61b025831c438fd81a3
BLAKE2b-256 730598ba108e357e4889d3c29509ce52dffbff3db715617f842825324ee06c15

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 690.0 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 227d6fa04679398f09091c7d2af165713a31e2c0d3961ed6cc84465715dcc999
MD5 368dc2d85c36140ca2e44ed5132752cb
BLAKE2b-256 624f30b8e86b58a308d9567b5843e559551021d7c8667b9d900dcb2b2583de72

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 518.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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 85ed5de97d4a578ab20126066591fa1c1c9b8137e1b135a41513689fd6a3c60d
MD5 423d8724bde37aa184f639692f2c5b52
BLAKE2b-256 9baf781b2083bb572b2311bdb8277aa6e1f4855ad2c3d5728645ae396d821ca3

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa7c8f7ed22aff18c515798c4888a13ef64054cbffed50c6971cdd517e38c97f
MD5 dfe1481d85534e1f64d8c51bedc1220c
BLAKE2b-256 b73da15377937bf65376cda14b4a292564e701cefdcd3e220d15899a538f4674

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 594.6 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d9b3eaf5c90486e87fde3254ee0ee10ebd9dec4e6db7357a8968e3e4097336e
MD5 969d397953ad29fbc6515292254b185d
BLAKE2b-256 0f28e19ce82c10e76fb118e24f1a2affe9a588bb49c64a21e932c96916385304

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 685.6 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1343ef5fca08329dbe776541ad4af81ca23aa99bf8e0eff54890a22dc9b89619
MD5 ef507dcb9bc230bfdd920ff3c6a0351c
BLAKE2b-256 0cf2262dffd1a5b70af556f4ccd82885e502d765982f651f7e1bfed599c37c34

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 517.5 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d0491bd1484b3c741ae6fe5ad2381ae77a2b1b4ab21e191ccebc63795c00970a
MD5 4f53a4ccd2266b7ba12b1b4f1c94e37c
BLAKE2b-256 618f77bf0556ae1587ffac3509deef698d3f6fcf75ab48d0f5c1243dca684223

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 858966fbb754eab2edccb377097014909fe72f08fae3a170ae9212b9e95b9bbe
MD5 1fda6ff268b357aa9cc480374bfb3e47
BLAKE2b-256 ccac0c5c5ace58dd739b3a72330b4bc2dce6cb8bb0045b85213c17d6a42c1718

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 593.5 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14c9ce70c3d672f4f36b3a9fa349f2636b888453782ec8684a4af90779773c15
MD5 5503d658549194eaf00cc635907050de
BLAKE2b-256 002d3bd4ec1bed38f2879be922cad6045481bb97c550c18d6e3c676526cef7fc

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 84817c31309c9d2a68a543d0d229499d7027fb901600789dfbb4a39f39cc7b45
MD5 da2c969f15cc27af81ef73071b40f800
BLAKE2b-256 6828437e2723c8f57c40956390a702b645bbcfd19c61585f905b85fa4230b43f

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 505.6 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7d539e8973aae4309df5545aac0e5486c6475a6f7f18a5da8e3def7e29cbe796
MD5 777ee5276647fd7ed735848282a66f30
BLAKE2b-256 72a40221bd4a433edca8b24e4d483a41cd3be7b7b09eafe84abf05855225506e

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17a85c2ddf5057f978e7b30138be95a45f5697c24eff0f7654a9d609b272dbf1
MD5 ee45b3f7b7d24559d3d13c0663ae3aa5
BLAKE2b-256 b55f1a2b1e83319cba077a6b11f8215bd4ca5c7f8a83903e1e9e04096f314a4b

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 593.6 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5298da58d193e5506ca4941d38e419d2ec68bf7d876d8cc75d99301fb0be754d
MD5 b976a816ed9ed1ab423c1dbe45f99984
BLAKE2b-256 181ddc764e08720f0a3341c6eadc8235f2a2a394a8a24728f701e8ce9f38fad2

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 684.5 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e6021a80ac98841bd899e507c358791d6e8184f9e129fc1dd675a5964403cbef
MD5 3e9e4d7cfb6f05e44fb798c467f4ec48
BLAKE2b-256 f49630fcf9cfef5824f401defce8a05a7e20a47938091877370fe5823afc819c

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 517.6 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3fa3345c1f90d9a1ba9087fb94a8dc5ad3eaed2fcafb5dab5e0ce5866a59f1e5
MD5 a2ef129b1418d99f50e726078dd78835
BLAKE2b-256 fc1608ee98988a3d66a18ce36d6e6369b09aeac47749713fb4835bca75654fd7

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 870cdfc3f2a214d43448b894b066095c38bfdfb511bf6ba8bbf65a5526d10967
MD5 7d9a71a5d2f2049073fb80aa5772e617
BLAKE2b-256 12ddfdd184a83fc57d6c59a933e106ceedf7b6f527b441854b60783ca0fca8f7

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

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

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c5f25bb167eb79eac22cf13323a7f8cb62d10d85bfad9af0f94b37ef2c9b7d1
MD5 ac8939ac768fed00f430ba5387188bfd
BLAKE2b-256 859154bc2bd84ef47070838886a35248aca9a5bac1c83cdd687f1fe4c5cecbf1

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 684.3 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c71e6782efe37ffcec408e87d20d68f60ceba83cc86f7e4c05b1719b2f3a4fdd
MD5 5aa0288905138f9d8de663d4d9dcee0f
BLAKE2b-256 7c213ae06aca4febb684a358677caf714e64f874f004206a7278d83d91f78f0c

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 512.0 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8c24accd18d8e70fedef3c08cc0781672a97ee56b62a5292aa0d6d591f698164
MD5 4294eb682cb87fc113cf7b2421270314
BLAKE2b-256 4ec0592e8f33412c247fe48af8d966c00e377516869beb147440b386f84c0da7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5758b3f9d030a7623178e15c6f1fce15a1d5a8c283c0a9ab54547933fcbf142b
MD5 48be92b548f22abdbfaa8d4a2935a74d
BLAKE2b-256 ce8f02823af7e70b269599c7f9ec3f16be4b39761bbc38c6481121eb611be052

See more details on using hashes here.

File details

Details for the file LightSim2Grid-0.7.6.dev0-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: LightSim2Grid-0.7.6.dev0-cp37-cp37m-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 677.0 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.65.0 CPython/3.8.10

File hashes

Hashes for LightSim2Grid-0.7.6.dev0-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 1cd18df8a25999bf322c090f1c1e15072fadfdb4e010e6a11a9132b5755c56bf
MD5 50fa9f1966c30b086fa8ec98623bc7c6
BLAKE2b-256 d3d464f0b2090b05ba10b788e12c89311add2819516bb82163bb2e05921709d3

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