Skip to main content

compas_lca

AI-based Life Cycle Assessment (LCA) report generator for IFC building models.

compas_lca normalizes building data (from IFC) and environmental data (EPDs) into a unified schema that enables precise, customizable, and deterministic matching based on semantic and functional constraints.

In conventional BIM and environmental data schemas, critical classification and attribute information is often distributed across semi-structured and highly variable representations. compas_lca extracts and consolidates relevant attributes into an overlapping normalized format, enabling deterministic building-element to EPD matching and reproducible LCA report generation.

Installation

Install from source:

git clone https://github.com/BlockResearchGroup/compas_lca.git
cd compas_lca
pip install -e ".[dev]"

Setup

1. Download Dependencies

Download the LCA database

Unzip the archive and move the extracted folder into the data directory such that the following path exists:

data/lca_database

2. Environment Configuration

  • Add your API key to a .env file in the project root
  • Specify project configurations in config.yaml
  • Supported indicator values in config.yaml can be found in src/compas_lca/inventory/constants.py under the OBD_INDICATOR_NAME list.

3. Entry Point

All workflows are executed via:

python scripts/0_menu.py

Building Model Extraction Workflow

  • Drag and drop your IFC file into: data/building_model
  • Configure relevant parameters in config.yaml
  • Run scripts/0_menu.py
  • Execute action points 01a to 01f sequentially.

This workflow extracts, normalizes building model data for deterministic EPD matching and generates a report per configured emissions indicator.

NOTE: The matching parameters (score threshold and top_k matches) can be retroactively changed. Exit the menu, adjust the parameters, relaunch the menu and run action steps 01e and 01f. This requires no API usage. Create a backup of initial files (if you want to compare results), as previous files will be overwritten!

Environmental Data Extraction Workflow

  • Review oekobaudat_remaining.csv
  • Add UUIDs of selected elements to epd_parser.yaml
  • Run scripts/0_menu.py
  • Execute action points 02a to 02c sequentially.

This workflow parses and integrates additional Environmental Product Declarations (EPDs) into the existing LCA database.

Thesis Evaluation & Data Availability

The multi-LLM benchmark scripts accompanying the thesis chapter "Data Model for AI" live in thesis/evaluation/. The benchmark datasets, model outputs, and case-study artifacts are distributed as a separate data package (see that README for access details); they are not committed to this repository.

Issue Tracker

If you find a bug or if you have a problem with running the code, please file an issue on the Issue Tracker.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compas_lca-1.0.1.tar.gz (180.6 kB view details)

Uploaded Source

Built Distribution

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

compas_lca-1.0.1-py3-none-any.whl (215.5 kB view details)

Uploaded Python 3

File details

Details for the file compas_lca-1.0.1.tar.gz.

File metadata

  • Download URL: compas_lca-1.0.1.tar.gz
  • Upload date:
  • Size: 180.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for compas_lca-1.0.1.tar.gz
Algorithm Hash digest
SHA256 7532fa1e3129920d5fc17f9c5224394d45e94ed0a94031e6690dc56db42442df
MD5 eb231b0ddc092ea1879865f35a9faafd
BLAKE2b-256 214213f85c4951cd60c8ba278eeb0fa60619ad9ebe1a160631960a052e0bcacd

See more details on using hashes here.

File details

Details for the file compas_lca-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: compas_lca-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 215.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for compas_lca-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb780e5409ff1cc415d3d5eef921e610d0cfabc687c6a6680205afb492513068
MD5 e6ad844a06f176c96892fb73a8142f20
BLAKE2b-256 f7ac741676ee0a6dbffa130d157d8de96c773fc9827487b431dbd6904e3febf9

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.2

2 files

This release

1.0.1 This release

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page