Skip to main content

Generic EPD Aggregator

Project description

Generic EPD Aggregator

Build Coverage PyPI Python License pre-commit Code style: black Flake8


Features

  • Parse ILCD process and flow XMLs
  • Normalize material properties and LCIA modules
  • Aggregate impacts and compute weighted averages
  • Write new ILCD XML datasets

Installation

Install via PyPI:

pip install materia-epd

Requires Python 3.10+.


Usage

Here’s a minimal example:

python -m materia_epd <generic_processes_dir> <epd_processes_dir> -o <output_dir> -v

Note that you need to point to the root processes folders and need to provide a matches folder in the generic data folder to link generic products and EPDs. Add the flag --v or -v for verbosity. Logs files with details will be automatically created in <output_dir>. The <generic_processes_dir> folder should be structured like this:

<generic_process_dir>
├── flows
│   ├── <flow-uuid-1>.xml # Reference flow of EPD-uuid-1
│   ├── <flow-uuid-2>.xml
│   └── ...etc
├── matches
│   ├── <matches-uuid-1>.json # Source EPDs for EPD-uuid-1
│   ├── <matches-uuid-1>.json
│   └── ...etc
├── PDFs
├── processes
│   ├── <EDP-uuid-1.xml> # Ready-to-fill skeleton file specific for EPD-uuid-1
│   ├── <EDP-uuid-2.xml>
│   └── ...etc
└── templates
    ├── GenPro_template.xml # Template with the EPD schema
    └── GenRef_template.xml # Template with the flow schema

The <epd_process_dir> should have a structure like this:

<epd_process_dir>
├── flows # Contains all reference flows of all processes
└── processes # Contains all the potential source EPDs

The .json files are named after corresponding generic products and should be structured as follows:

{
  "type": "<aggregation_type>",  // "average" or "assembled"
  "uuids": [
    "<uuid-1>",
    "<uuid-2>",
    "<uuid-3>",
    "... more UUIDs ..."
  ]
}

where the provided uuids link to the process files of the EPDs that match.


Development / running tests

See DEVELOP.md for local setup, versioning, and PyPI release instructions.

For local development, install the package in editable mode with developer dependencies:

python -m pip install -e ".[dev]"

Then run tests:

pytest

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

materia_epd-0.7.3.tar.gz (238.3 kB view details)

Uploaded Source

Built Distribution

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

materia_epd-0.7.3-py3-none-any.whl (192.1 kB view details)

Uploaded Python 3

File details

Details for the file materia_epd-0.7.3.tar.gz.

File metadata

  • Download URL: materia_epd-0.7.3.tar.gz
  • Upload date:
  • Size: 238.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for materia_epd-0.7.3.tar.gz
Algorithm Hash digest
SHA256 a8fd11cc3d3b054d7882157fb3105738f8890681ded8e3f50e24dad1729cf3cb
MD5 35e5e66b5be6a5aa0ecef8dfae82c760
BLAKE2b-256 8fa9b066a0c80f5e79905e72ebec919e8116faab99ca54abd14afaadbf1cd20f

See more details on using hashes here.

Provenance

The following attestation bundles were made for materia_epd-0.7.3.tar.gz:

Publisher: publish.yml on pbaustert/materia-epd

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

File details

Details for the file materia_epd-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: materia_epd-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 192.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for materia_epd-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b42fe6f923009e495037759e901bb45ab7d00d0b22b2b44d4a064804811e967
MD5 0a325e10cd67e0691138b9e2950d9141
BLAKE2b-256 94752bc6696033a73e5e62adee3a6559b246cce3c4c8b5068430c2b782663a8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for materia_epd-0.7.3-py3-none-any.whl:

Publisher: publish.yml on pbaustert/materia-epd

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