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.post1.tar.gz (450.3 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.post1-py3-none-any.whl (485.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: idfpy-25.2.0.post1.tar.gz
  • Upload date:
  • Size: 450.3 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.post1.tar.gz
Algorithm Hash digest
SHA256 17c2c72c4cbb83434a3bc04da7db63ce6fdc544fcbbf16c9d48abcc4e6e5e953
MD5 8f2456a2b42c0e2c84ce22f140b378dd
BLAKE2b-256 1f1d16612123a65f9c7762ac46aa8aa9a82eacd9425fc7da6fd60e63187fd149

See more details on using hashes here.

Provenance

The following attestation bundles were made for idfpy-25.2.0.post1.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.post1-py3-none-any.whl.

File metadata

  • Download URL: idfpy-25.2.0.post1-py3-none-any.whl
  • Upload date:
  • Size: 485.9 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.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 bd0508a884cf7f6c14d9bdab49cf7bc22145b2a107b44f00e076b09a68150ddd
MD5 8d73897c47651f20b952bca720dd0d20
BLAKE2b-256 1cc555142fcc8c6cbf0d354cec9cbf145b178c3c1699eea0add3a2c09331154b

See more details on using hashes here.

Provenance

The following attestation bundles were made for idfpy-25.2.0.post1-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