Skip to content

ocni-dtu/lcax

Repository files navigation

LCAx

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.

LCAx

Rust

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

Python

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

JavaScript/TypeScript

Install wasm-pack

curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh

Build JS Package

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

Run JS Tests

npm run test