openleadr
Open Automated Demand Response (OpenADR) is an open and interoperable information exchange model and emerging smart grid standard.
https://github.com/OpenLEADR/openleadr-python
Category: Energy Systems
Sub Category: Grid Management and Microgrid
Keywords
energy lf-energy openadr python3
Last synced: about 21 hours ago
JSON representation
Repository metadata
Python library for OpenADR 2.0b
- Host: GitHub
- URL: https://github.com/OpenLEADR/openleadr-python
- Owner: OpenLEADR
- License: apache-2.0
- Created: 2020-09-21T12:23:44.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T19:17:13.000Z (3 months ago)
- Last Synced: 2025-04-20T09:44:20.295Z (7 days ago)
- Topics: energy, lf-energy, openadr, python3
- Language: Python
- Homepage: https://openleadr.org/docs
- Size: 775 KB
- Stars: 142
- Watchers: 14
- Forks: 61
- Open Issues: 38
- Releases: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Roadmap: docs/roadmap.rst
README.md
OpenLEADR is a Python 3 module that provides a convenient interface to OpenADR
systems. It contains an OpenADR Client that you can use to talk to other OpenADR
systems, and it contains an OpenADR Server (VTN) with convenient integration
possibilities.
It currently implements the OpenADR 2.0b specification.
Documentation
You can find documentation here: https://openleadr.org/docs.
Getting started
We have cool 1-minute starting examples for both VEN and VTN. Please check them out and take a look at the rest of the documentation.
Feature Completeness
At the moment, you can do basic Registration, Telemetry Reports and Events over a secured connection using signed messages. This covers many use-cases that allow for demand response to be coordinated. Below is a more extensive list of OpenADR features and their current implementation status in OpenLEADR:
The following is an overview of OpenADR 2.0b features that are implemented in OpenADR:
Feature | Implemented | Remarks |
---|---|---|
Transport | ||
HTTP Pull Method | ✔️ | Most-used method, allows VEN to be behind NAT |
HTTP Push Method | ❌ | |
XMPP Transport | ❌ | |
Message Signing | ✔️ | Official OpenADR Alliance Root Cert not included |
Registration | ||
Registration procedure | ✔️ | |
Reporting | ||
Telemetry Reports | ✔️ | |
Status Reports | ❌ | Work is in progress, see #108 |
History Reports | ❌ | |
Events | ||
Events | ✔️ | |
EiOpt | ❌ |
Contributing
If you'd like to help make OpenLEADR better, you can do so in the following ways:
File bug report or feature request
We keep track of all bugs and feature requests on Github Issues. Please search the already close issues to see if your question was asked before.
You're also very welcome to leave comments on existing issues with your ideas on how to improve OpenLEADR.
File a pull request
We'd love for you to contribute code to the project. We'll take a look at all pull requests, no matter their state. Please note though, that we will only accept pull requests if they meet at least the following criteria:
- Your code style is flake8 compliant (with a maximum line length of 127 characters)
- You provide tests for your new code and your code, and you amend any previous tests that fail if they are impacted by your code change
- Your pull request refers to an Issue on our issue tracker, so that we and other people can see what problem is being solved.
- You sign off your commits (
git commit -s
), to indicate that your contribution complies with our license and does not violate anybody else's copyright.
That said, please don't let the above requirements discourage you from filing a pull requests. If you don't meet all of the above requirements, we'll help you fix the remaining things to get it into shape.
Security issues
Let it be clear that this code base is still in a development stage, and we don't yet recommend using it for mission critical applications or applications where security is paramount.
That said, we do try to make OpenLEADR as secure as can be to work with. If you find a security vulnerability in OpenLEADR, please let us know at security AT openleadr DOT org. We will get back to you within 72 hours to follow up. We are committed to the following steps:
- Security vulnerabilities with a known fix will be addressed as soon as possible. This means that work on other things will be put on hold until the security issue is fixed.
- If a fix is not readily available, we will publish a warning that describes the vulnerable situation and, if possible, any mitigating steps that users of OpenLEADR can take.
- After any security issue is fixed, we will publish information on it in the Changelog.
Developing
We recommend the following development setup for working with OpenLEADR (this is on Linux / macOS):
git clone https://github.com/openleadr/openleadr-python
cd openleadr-python
python3 -m venv python_env
./python_env/bin/pip3 install -e .
./python_env/bin/pip3 install -r dev_requirements.txt
To run the test suite, you can use the following command:
./python_env/bin/python3 -m pytest -v test/
Contributing Documentation
Building the documentation
Static documentation can be found in the docs directory. Edit or create new .rst files to add new content using
the Restructured Text format. To see the results of your changes,
the documentation can be built locally through the command line using the following instructions:
# Ensure that you follow the development setup in the Developing section above before running the following commands
# After running this these commands, you should see a new directory `docs/_build`, which contains the HTML documentation.
# For more details, see https://www.sphinx-doc.org/en/master/tutorial/first-steps.html
cd docs
make html
Then, open your browser to the created local files:
file:///home/<USER>/openleadr-python/docs/_build/html/index.html
Owner metadata
- Name: openLEADR
- Login: OpenLEADR
- Email:
- Kind: organization
- Description: A friendly and compliant OpenADR implementation for Python.
- Website: https://openleadr.org
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/71379342?v=4
- Repositories: 3
- Last ynced at: 2023-10-10T12:37:39.273Z
- Profile URL: https://github.com/OpenLEADR
GitHub Events
Total
- Issues event: 4
- Watch event: 9
- Issue comment event: 11
- Push event: 33
- Pull request review event: 2
- Pull request event: 3
- Fork event: 13
- Create event: 1
Last Year
- Issues event: 4
- Watch event: 9
- Issue comment event: 11
- Push event: 33
- Pull request review event: 2
- Pull request event: 3
- Fork event: 13
- Create event: 1
Committers metadata
Last synced: 4 days ago
Total Commits: 400
Total Committers: 19
Avg Commits per committer: 21.053
Development Distribution Score (DDS): 0.193
Commits in past year: 34
Committers in past year: 5
Avg Commits per committer in past year: 6.8
Development Distribution Score (DDS) in past year: 0.471
Name | Commits | |
---|---|---|
Stan Janssen | s****n@e****l | 323 |
Stan Janssen | s****n@e****l | 27 |
johnmeshulam | j****m@g****m | 18 |
John Mertic | j****c@l****g | 5 |
john572 | j****n@n****y | 4 |
alexcarnero97uma | a****7@u****s | 2 |
Juan Aguado | j****o@c****m | 2 |
Aryaz Eghbali | e****z@g****m | 2 |
Abhishek Gupta | a****a@g****m | 2 |
ylisko | y****l@n****y | 2 |
aru | a****u | 2 |
Stan Janssen | f****9 | 2 |
Mark Bonicillo | m****o@p****v | 2 |
Brent Perdue | p****e | 2 |
Ciro Chang | c****g@l****m | 1 |
Mark Bonicillo | m****o@g****m | 1 |
Sietse Brouwer | S****r@e****l | 1 |
Stan Janssen | 1****n | 1 |
jmuraca | j****a@g****m | 1 |
Committer domains:
- nostromo.energy: 2
- enexis.nl: 2
- pnnl.gov: 1
- greenactionstudio.com: 1
- carmedialab.com: 1
- uma.es: 1
- linuxfoundation.org: 1
- elaad.nl: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 90
Total pull requests: 31
Average time to close issues: 4 months
Average time to close pull requests: 3 months
Total issue authors: 38
Total pull request authors: 20
Average comments per issue: 2.07
Average comments per pull request: 1.26
Merged pull request: 15
Bot issues: 0
Bot pull requests: 0
Past year issues: 7
Past year pull requests: 5
Past year average time to close issues: about 22 hours
Past year average time to close pull requests: 2 months
Past year issue authors: 6
Past year pull request authors: 5
Past year average comments per issue: 1.29
Past year average comments per pull request: 0.6
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- 00javad00 (15)
- juantxorena (13)
- bbartling (9)
- stan-janssen (7)
- francisrsandoval (6)
- chandank21 (5)
- ProttayMondalAdhikari-eaton (2)
- robogeek (2)
- michal-kowalczyk (2)
- psher619 (1)
- IainEpps (1)
- alexcarnero97 (1)
- HaolongEdward (1)
- tnordstrom (1)
- ccann (1)
Top Pull Request Authors
- stan-janssen (5)
- juantxorena (3)
- 4dahalibut (2)
- bonicim (2)
- aru (2)
- Borduhh (2)
- abhigupta2910 (2)
- allanlewis (1)
- bjohnson75f (1)
- AryazE (1)
- gthole (1)
- kimbeelen (1)
- perdue (1)
- garvish-raval-ext-volansys (1)
- sietse (1)
Top Issue Labels
- enhancement (19)
- Non-compliant behavior (13)
- bug (7)
- question (4)
- wontfix (2)
- documentation (1)
- help wanted (1)
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 2,180 last-month
- Total dependent packages: 2
- Total dependent repositories: 6
- Total versions: 36
- Total maintainers: 1
pypi.org: openleadr
Python3 library for building OpenADR Clients (VENs) and Servers (VTNs)
- Homepage: https://openleadr.org
- Documentation: https://openleadr.org/docs
- Licenses: apache-2.0
- Latest release: 0.5.35 (published about 1 year ago)
- Last Synced: 2025-04-25T12:08:43.822Z (2 days ago)
- Versions: 36
- Dependent Packages: 2
- Dependent Repositories: 6
- Downloads: 2,180 Last month
-
Rankings:
- Dependent packages count: 3.161%
- Average: 4.594%
- Downloads: 4.616%
- Dependent repos count: 6.005%
- Maintainers (1)
Dependencies
- pytest * development
- pytest-asyncio * development
- sphinx * development
- sphinxcontrib-apidoc * development
- termcolor * development
- aiohttp *
- apscheduler *
- jinja2 *
- signxml-openadr ==2.9.1
- xmltodict *
- actions/checkout v2 composite
- actions/setup-python v2 composite
Score: 15.828595927579514