Skip to main content

Type-safe Pydantic models for all EnergyPlus IDF objects

Project description

idfpy

Type-safe Pydantic models for all EnergyPlus IDF object types, plus IDF file read/write and simulation execution.

Auto-generated from Energy+.schema.epJSON version 25.2.0.

Features

  • 858 object types as Pydantic v2 models with full validation
  • 275 reference types with cross-object validation
  • Case-insensitive Literal field matching (EnergyPlus IDF is case-insensitive)
  • Extensible field support (vertices, schedule data, etc.)
  • IDF read/write with positional field ordering
  • EnergyPlus simulation execution with ExpandObjects support
  • Accepts both snake_case and original EnergyPlus schema key names

Installation

pip install idfpy

Quick Start

from pathlib import Path
from idfpy import IDF
from idfpy.models.simulation import Version, Building
from idfpy.models.thermal_zones import Zone

# Create an IDF
idf = IDF()
idf.add(Version())
idf.add(Building(name='MyBuilding', north_axis=0.0))
idf.add(Zone(name='Zone1'))

# Save
idf.save(Path('output.idf'))

# Load existing IDF
idf = IDF.load(Path('existing.idf'))
print(f'{len(idf)} objects loaded')

# Run simulation
idf.run(
    idf_path=Path('model.idf'),
    weather_path=Path('weather.epw'),
    output_dir=Path('results/'),
)

License

MIT

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

idfpy-25.2.0.tar.gz (448.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

idfpy-25.2.0-py3-none-any.whl (484.3 kB view details)

Uploaded Python 3

File details

Details for the file idfpy-25.2.0.tar.gz.

File metadata

  • Download URL: idfpy-25.2.0.tar.gz
  • Upload date:
  • Size: 448.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for idfpy-25.2.0.tar.gz
Algorithm Hash digest
SHA256 c7c9d760348cd68cf3d0e392cecfa3dadc9c01b634ca2af7e34a926185580178
MD5 e23d5f5c65d74cd3dabac224e56735e5
BLAKE2b-256 d706e2718b236a74d1a5414f13f8f6526bb175bdefcf2df226dfc42dd9ae6a55

See more details on using hashes here.

Provenance

The following attestation bundles were made for idfpy-25.2.0.tar.gz:

Publisher: publish.yml on ITOTI-Y/idfpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file idfpy-25.2.0-py3-none-any.whl.

File metadata

  • Download URL: idfpy-25.2.0-py3-none-any.whl
  • Upload date:
  • Size: 484.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for idfpy-25.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e549661986afcd2b58ecd6df5d4cd467b5d1bfa19b05eec39dadf50b107bc08
MD5 d9e2e9181377f270b0e36caa16f977c3
BLAKE2b-256 287cb73c8bdeb18dbaf6d3c8144d62573ec42dc9f33e650afd209dfec69b49a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for idfpy-25.2.0-py3-none-any.whl:

Publisher: publish.yml on ITOTI-Y/idfpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page