EPDx is a library for parsing EPD files into a common exchange format.

EPDs contain environmental data that is needed to calculate the LCA. EPDs come in many data formats e.g. ILCD+EPD and PDF, and it is not our intention to replace those formats but simply create an exchange format that is easily human and machine-readable.

The EPDx library is written in Rust, which allows for cross-language package distribution. Currently, we support Javascript/Typescript, Python and Rust.

EPDx is part of a larger initiative of making life cycle assessments more accessible and transparent to building professionals.

EPDx is available on NPM, PyPI and Crates depending on your language of choice.

Converting an ILCD+EPD json file in Python to EPDx is as simple as:

from pathlib import Path
import json
import epdx.pydantic

ilcd_file = Path(__file__).parent / "ilcd.json"
epd_string = epdx.convert_ilcd(ilcd_file.read_text())
epd_dict = json.loads(epd_string)

print("EPD as dict")
print(json.dumps(epd_dict, indent=2))

epd_pydantic = epdx.pydantic.EPD(**epd_dict)

print("\nEPD as Pydantic model")
print(epd_pydantic)

EPDx

EPDx is a library for parsing EPD files into a common exchange format. EPDs contain environmental data that is needed to calculate the LCA. EPDs come in many data formats e.g. ILCD+EPD and PDF, and it is not our intention to