Python package to work with Energyplus input and output
Project description
opyplus
opyplus is a package allowing to work with EnergyPlus in Python.
More specifically, it allows to:
- Parse, query and modify idf files efficiently, with a number of checks ensuring that your idf file remains correct throughout your work
- Parse and create epw files
- Launch simulations on EnergyPlus
- Parse EnergyPlus output files
Install
To install opyplus, run: pip install opyplus
or conda install -c conda-forge opyplus
Documentation
Documentation is available at https://opyplus.readthedocs.io
Compatibility
Python versions
opyplus is designed to work with python 3.8 and newer.
It is currently automatically tested against the following python versions:
- 3.10
- 3.11
- 3.12
EnergyPlus versions
opyplus is designed to work with any EnergyPlus version. Currently, it is automatically tested against the following versions (listed in TESTED_EPLUS_VERSIONS : oplus.tests.util):
- 22.1.0
Each test is therefore run multiple times : once per tested version. To automatically run a test on all versions, use eplus_tester function (oplus.tests.util).
Operating system
opyplus is designed to work with any Operating System but is automatically tested against the latest versions of Ubuntu OS.
Contributing
Local testing
Install pytest and the packages listed in requirements.txt using pip or conda.
Install EnergyPlus v22.1.0.
At the root of the repository, run pytest: python -m pytest
.
Flake8
We use flake8 for style enforcement, including docstrings.
To run it, install flake8 and flake8-docstrings using pip or conda.
At the root of the repository, run flake8: python -m flake8 opyplus/
Documentation
To build the configuration:
install the requirements in docs/requirements.txt
run make html
in opyplus docs directory.
To ensure the examples in the documentation remain up to date, they are tested using the doctest extension: https://www.sphinx-doc.org/en/master/usage/extensions/doctest.html
run make doctest
in opyplus docs directory to test the documentation.
When adding code samples to the documentation, please use when possible the doctest extension, as it helps ensure your
samples will be kept up to date: use .. testcode::
and .. testoutput::
rather than .. code-block:: python
.
Release workflow
- Developer XX works on his branch (XX-...). When finished, he completes the RELEASE.md without writing the version number (he completes under ## next). He then creates a pull request into develop.
- Once the pull request has been accepted by an administrator the branch is merged on develop. Since new version is "next": only tests are running
- When administrator wants to create a version, on branch "develop" he completes RELEASE.md with version number "x.x.x". He then pushes. Tests and versioning are running. A conda and pip build will then automatically be performed by Github actions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file opyplus-2.0.7.tar.gz
.
File metadata
- Download URL: opyplus-2.0.7.tar.gz
- Upload date:
- Size: 10.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 989fad25effa25aefdd9ed8ea1f8327e7801a5f316116721caca68b7f0e362e0 |
|
MD5 | 72d64dc7fdbc1917752c05303d161a42 |
|
BLAKE2b-256 | 6e46b104d249245ed97bce4125adf81b60064eeae4ba30ae979ae7d213f7477a |
File details
Details for the file opyplus-2.0.7-py3-none-any.whl
.
File metadata
- Download URL: opyplus-2.0.7-py3-none-any.whl
- Upload date:
- Size: 10.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2d56a63e4ab5b0cc7aff2efc2a41cd8a5b5a8650eb43502de3fdb8a99c18d00 |
|
MD5 | 83126d13ec4e213eace9f8f3bccbd89f |
|
BLAKE2b-256 | c41ea0577eb81fa8fd835a1d906ee4df2a341f82aa81fcccdeefb916d89d75e8 |