Skip to main content

GitHub Build Status Azure DevOps coverage PyPI - Python Version PyPI

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.6 and newer.

It is currently automatically tested against the following python versions:

  • 3.6
  • 3.7

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):

  • 9.0.1

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. It is automatically tested against the latest versions of the following OS:

  • Ubuntu
  • MacOS
  • Microsoft Windows

Contributing

Local testing

Install pytest and the packages listed in requirements.txt using pip or conda.

Install EnergyPlus v9.0.1.

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

  1. 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 master.
  2. Once the pull request has been accepted by an administrator (tests must pass, among other things), the branch is merged on master.
  3. When administrator wants to create a version, he completes RELEASE.md with version number, sets it version.py, commits and creates a tag (vX.X.X). He then pushes. The tests should succeed because all pull requests tests have succeeded. A conda and pip build will then automatically be performed by Azure Pipelines.

Release files for opyplus 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opyplus 1.2.1
File Size Uploaded
opyplus-1.2.1.tar.gz 7.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for opyplus 1.2.1
File Interpreter ABI Platform
opyplus-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 15.0 MB

Release files / opyplus-1.2.1.tar.gz

Download URL opyplus-1.2.1.tar.gz
Size 7.4 MB
Tags Source
SHA-256 checksum
How to use checksums
ba0d49b28541f00e0fa23e1dedb3af5a79770852ef36720911abadce8bbd5fb7
BLAKE2b-256 checksum
How to use checksums
9a6115a8d810f698fdc956898cf020a15d696804bd8a52d42b25e1cf135d5a8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

Release files / opyplus-1.2.1-py3-none-any.whl

Download URL opyplus-1.2.1-py3-none-any.whl
Size 7.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c715a8806f09f96f5fa5bdfa2bc566324688883d35b6886e4817aa654a84dabd
BLAKE2b-256 checksum
How to use checksums
8b3869149088fa7e453d4639dfb12f27855fb34bba8e5aeb26e6611c78eb1a80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page