Skip to main content

Gridworks

Project description

Gridworks

PyPI Status Python Version License

Read the documentation at https://gridworks.readthedocs.io/ Tests Codecov

pre-commit Black

These days, more and more electrical power is coming from highly variable power sources such as wind and solar. And yet, the number of electrons going into the grid must match the number coming out: at every timescale, and at every geographic scale. Since the days of Tesla and Edison, this balancing job has been accomplished with central control and dispatch over hydrocarbon-burning generators.

GridWorks is a technology ecosystem inspired by the idea of a new role for electric loads on the grid. Why not design our appliances so they are alert to grid conditions, consume lots of energy when it is abundant, and can support grid balancing? This shift in the framework of how loads interact with the grid helps people receive a very specific sort of abundance: low-cost, low-carbon electricity that would otherwise go to waste.

Places to start:

  • Most GridWorks information exchange is asynchronous message passing, brokered by RabbitMQ. The first step in learning and developing is to set up a dev rabbit broker with the correct plumbing. Do this by downloading the GridWorks repository and follow the instructions below on RabbitMQ.
  • Read the Millinocket Story to understand the natural match between wind power and space heating.
  • Go through the partner Millinocket Tutorial to start understanding how GridWorks open-source technology can be used to build economics and physics tools allowing self-organized groups of people -- at many scales -- to connect the gift of low-carbon, low-cost electricity with the need of keeping people warm in the winter.

GridWorks SDKs

  • gridworks: package provides basic shared mechanics for communication and GNode structure. It is used as a package in all of our other repos.

  • gridworks-atn: package and associated documentation for the GridWorks Python AtomicTNodes SDK. AtomicTNodes are the GridWorks actors that make electrical devices transactive. This SDK is a great place to learn about blockchain mechanics, as it introduces some of the simpler structures (NFTs, stateless contracts, and then some simple stateful smart contracts constructed using beaker ) required for establishing the link between physical reality on the electric grid and the actors that play their avatars in GridWorks.

  • gridworks-marketmaker: package and associated documentation for our Python MarketMaker SDK. GridWorks uses distributed actors to balance the electric grid, and MarketMakers are the actors brokering this grid balancing via the markets they run for energy and balancing services.

There are several other open source GridWorks repos to explore on our github page, including the code running on the SCADA systems that Efficiency Maine is deploying in Millinocket this winter. The GNodeFactory currently hosts the demo, and does most of the heavy lifting in terms of identity management and authentication in GridWorks. Finally, since the demo is a distributed simulation, it needs a method of handling time. That's done by a TimeCoordinator GNode.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, Gridworks is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

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

gridworks-1.1.6.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

gridworks-1.1.6-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file gridworks-1.1.6.tar.gz.

File metadata

  • Download URL: gridworks-1.1.6.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for gridworks-1.1.6.tar.gz
Algorithm Hash digest
SHA256 836cfc0691ac36b816a5c9aa176b608a9791e2032e8f1d3bba0e1f303f233b12
MD5 e6b870b2b4ed9c064a74b4d24238e563
BLAKE2b-256 da6c7c5d2d5fea84cf3e819320a070de683a893bab7b4f1073b4aa7f2004e069

See more details on using hashes here.

Provenance

File details

Details for the file gridworks-1.1.6-py3-none-any.whl.

File metadata

  • Download URL: gridworks-1.1.6-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for gridworks-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c25028be57e136bf2a0220275b776b19a92a8627fbb65a0664a151bed6220159
MD5 5d4ac3d9df044f2dd02302a222274543
BLAKE2b-256 df2cbb1b7eac7c8763471196a0944cc23d10af68077d672caf09f7e01a8ca8de

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page