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\provesses 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 strucured 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.

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.6.0.tar.gz (170.5 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.6.0-py3-none-any.whl (168.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: materia_epd-0.6.0.tar.gz
  • Upload date:
  • Size: 170.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for materia_epd-0.6.0.tar.gz
Algorithm Hash digest
SHA256 6de6cf2f6131bb570c95614e5c133d1e907fcdaf89dabd2e2fe48415f586cf9b
MD5 f95b57b083f7b69b4854fb3043a6c7f5
BLAKE2b-256 271bef66bf7d3d50388532c4d89cb62577acdb58312196177475d7567d040910

See more details on using hashes here.

File details

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

File metadata

  • Download URL: materia_epd-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 168.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for materia_epd-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b56a089dcb5f1030e92123af8e1cff2c6e7dce60426d328310178df8f847fc4
MD5 7106aca980ca2e42eb608f4fac92d5f4
BLAKE2b-256 3f99146c3634d18adfcf5840e992bb5345620d316bc2e1ed1bb84d9d038fa1a9

See more details on using hashes here.

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