HOPP: Hybrid Optimization and Performance Platform
As part of NREL's Hybrid Energy Systems Research, this software assesses optimal designs for the deployment of distributed, commercial, and utility-scale hybrid energy plants, particularly considering wind, solar and storage.
Part of the WETO Stack
HOPP is primarily developed with the support of the U.S. Department of Energy and is part of the WETO Software Stack. For more information and other integrated modeling software, see:
Software requirements
- Python version 3.11 or higher
Installing from Package Repositories
-
HOPP is available as a PyPi package:
pip install HOPP
Installing from Source
-
Using Git, navigate to a local target directory and clone repository:
git clone https://github.com/NREL/HOPP.git
-
Navigate to
HOPPcd HOPP
-
Create a new virtual environment and change to it. Using Conda and naming it 'hopp':
conda create --name hopp python=3.11 -y conda activate hopp
-
Install HOPP and its dependencies:
conda install -y -c conda-forge coin-or-cbc glpk
Note if you are on Windows, you will have to manually install Cbc: https://github.com/coin-or/Cbc.
-
If you want to just use HOPP:
pip install .
-
If you want to work with the examples:
pip install ".[examples]"
-
If you also want development dependencies for running tests and building docs. Note the
-eflag which installs HOPP in-place so you can edit the HOPP package files:pip install -e ".[develop]"
-
-
The functions which download resource data require an NREL API key. Obtain a key from:
-
To set up the
NREL_API_KEYandNREL_API_EMAILrequired for resource downloads, you can create Environment Variables calledNREL_API_KEYandNREL_API_EMAIL. Otherwise, you can keep the key in a new file called ".env" in the root directory of this project.Create a file ".env" that contains the single line:
NREL_API_KEY=key NREL_API_EMAIL=your.name@email.com
-
Verify setup by running tests:
pytest tests/hopp -
To set up
NREL_API_KEYfor resource downloads, first refer to section 6 and 7 above. But for the.envfile method, the file should go in the working directory of your Python project, e.g. directory from where you runpython.
Getting Started
The Examples contain Jupyter notebooks and sample YAML files for common usage scenarios in HOPP. These are actively maintained and updated to demonstrate HOPP's capabilities. For full details on simulation options and other features, see the documentation.
Contributing
Interested in improving HOPP? Please see the Contributor's Guide for more information.
Metadata
Release files for hopp 3.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hopp-3.4.2.tar.gz | 123.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hopp-3.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 241.9 MB
Release files / hopp-3.4.2.tar.gz
| Download URL | hopp-3.4.2.tar.gz |
|---|---|
| Size | 123.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dce5266bd943b6c8aa0a71978de1c113d7d91dc89c8eb7ad574dbaeabdfbc66c
|
|
BLAKE2b-256 checksum How to use checksums |
941d3b7f86c5735c6de5700e455d49d0bdd516274c559075d5d7e118ef41bb08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 9, 2026.
Transparency logRelease files / hopp-3.4.2-py3-none-any.whl
| Download URL | hopp-3.4.2-py3-none-any.whl |
|---|---|
| Size | 118.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0033d7ac665ed6663525a37f42ee6caf6eb9e7c2051b8415ab005127d325ad2
|
|
BLAKE2b-256 checksum How to use checksums |
7761ec556e21da09ab34e45d96e1c4c2fb94c1d5a60e16b719f9d6d9971ca87c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 9, 2026.
Transparency log