#open #format #human-readable #machine #data #results #lc-ax


LCAx is an open, machine and human-readable data format for exchanging LCA results

10 stable releases

2.2.4 Jul 6, 2024
2.2.1 Jun 5, 2024
2.1.2 May 9, 2024
2.0.6 May 9, 2024
2.0.5 May 8, 2024

#88 in Value formatting

Download history 322/week @ 2024-05-06 4/week @ 2024-05-13 9/week @ 2024-05-20 235/week @ 2024-06-03 11/week @ 2024-06-10 257/week @ 2024-07-01 43/week @ 2024-07-08

303 downloads per month
Used in lcax

Custom license

3.5K SLoC


The goal for LCAx is to make an open, machine and human-readable data format for exchanging LCA results, EPD's and assemblies.

We propose a simple three level data format with information on project, assembly and EPD level, written in an open data format and paired with a validator for a more robust and standardized format. We intend to create connections to existing tools and API’s.

Our goal is making LCA calculations more accessible, transparent, and open.



Install Rust

Head over to Rust's installation page

Install Rust Dependencies

cargo update

Run Rust Tests

cargo test --package lcax --target x86_64-unknown-linux-gnu

Export JSON Schema

cargo run --target x86_64-unknown-linux-gnu --bin export-schema > lcax.schema.json


Install Python Dependencies

pip install maturin venv

Run Python Tests

maturin develop --extras tests,codegen --target x86_64-unknown-linux-gnu
source .venv/bin/activate .

datamodel-codegen \
--input lcax.schema.json \
--output packages/python/src/lcax/pydantic.py
cd packages/python
pytest tests/

Build Documentation

maturin develop --extras doc --target x86_64-unknown-linux-gnu
mkdocs serve


Build JS Package

wasm-pack build --features jsbindings
mv pkg/lcax* packages/javascript/src

Run JS Tests

npm run test


~291K SLoC