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.

Metadata

Release files for compas-lca 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for compas-lca 1.0.2
File Size Uploaded
compas_lca-1.0.2.tar.gz 180.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for compas-lca 1.0.2
File Interpreter ABI Platform
compas_lca-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 396.2 kB

Release files / compas_lca-1.0.2.tar.gz

Download URL compas_lca-1.0.2.tar.gz
Size 180.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c46bf020598c63bbc342a006249caeec8f09369cd52bcb262822e3c56430c14d
BLAKE2b-256 checksum
How to use checksums
b3dc12620769a2b344b5d06c97c1c380804bea8475e91ca1c7e3830bff42b327
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / compas_lca-1.0.2-py3-none-any.whl

Download URL compas_lca-1.0.2-py3-none-any.whl
Size 215.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e53e4c7691a8319a716c00240d1bf1cd5fac2d3dcff9ea6208fda9a7aa304a78
BLAKE2b-256 checksum
How to use checksums
c10d09c36d6660d2b02b869b21b9f539310c2277c1ed6f9680dedd4304abeac3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page