Skip to content

Explanation

idfkit is two libraries, one in Python and one in TypeScript, over one pair of EnergyPlus formats. Most of what either does is obvious once you know why it was built that way, and surprising until then: why a field is called ceiling_height, why a blank name is not the same as no name, why the TypeScript parser refuses to read a file for you, and why a capability that exists in one language may be deliberately absent from the other.

These pages answer the why. None of them is needed to get work done, and each one is behind behaviour you will eventually meet. They are worth reading away from the keyboard.

They deliberately do not tell you which buttons to press, which is the job of the how-to guides, and they do not list options exhaustively, which is the reference's job.

What the formats do to any library over them

Two pages here are about EnergyPlus, not about idfkit. They apply whichever language you work in.

How the two libraries relate

  • About capability parity: every public capability, its availability in each language, and whether an absence is temporary or permanent.
  • The naming map: which name a concept carries in each language, and which surfaces are excluded from alignment.
  • How conformance is established: why the evidence that the two libraries agree lives outside both of them.

How a model is represented

How work gets done and where it happens