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

GridWorks uses distributed actors to balance the electric grid. What does this mean? In today's world, more power comes 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. This is where GridWorks comes in. GridWorks technology enables electrical devices with some embedded storage or with flexibility to provide grid balancing. Furthermore, GridWorks allows these appliances to be more thrifty, using electricity when it is cheap and green.

To learn how using and contributing to GridWorks can support a cost-effective and rapid transition to a sustainable future:

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.

Usage

pip install gridworks to install the foundational package.

RabbitMQ Infrastructure

GridWorks uses the rabbit subfolder for maintaining dev rabbit brokers as well as their own live rabbit brokers.

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-0.2.11.tar.gz (63.6 kB view hashes)

Uploaded Source

Built Distribution

gridworks-0.2.11-py3-none-any.whl (91.8 kB view hashes)

Uploaded Python 3

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