Skip to main content

lca-supplymat

A Brightway Life Cycle Impact Assessment (LCIA) method that computes the amount of manufactured materials (copper, concrete, steel, aluminium, …) directly from Life Cycle Inventory (LCI) data.

Intro

Impact indicators related to material depletion, criticality or circularity are notoriously complex to interpret. lca-supplymat exposes a simpler, physical metric: the quantity of manufactured material required by an inventory. Instead of weighing environmental impact, it counts how much of a given material (e.g. copper or steel) is embedded in the activities of a life cycle.

This library implements this as a standard Brightway LCIA method, so it benefits from the full range of Brightway functionalities (MultiLCA, Monte-Carlo, parameterization, etc.). For each material, a pseudo-biosphere flow is added to the activities that produce it, and the method computes the net production of the material — the difference between what an activity outputs and what it consumes of the same material upstream. This avoids double counting between the production and market stages. One LCIA method is registered per material.

The approach was tested with ecoinvent 3.11 (cutoff and attributional system models). It is comparable in spirit to the Edges library, but implemented natively within the Brightway framework.

Installation

pip install lca-supplymat

Prerequisite: a Brightway25 environment with an imported technosphere database.

Usage

Setup of the methods

from lca_supplymat import setup_lca_supply_mat, cleanup

setup_lca_supply_mat(
    target_db="ecoinvent-3.11-cutoff",
    yaml_file="path.yaml",      # optionnal: load 23 definition from the package by default 
    subset=["concrete"],        # optional: install only these definitions
    out_folder="data/out",      # optional: write a CSV report per material
    check_impacts=True,         # optional: verify impact scores are ~1
    cleanup_before=True,        # optional: reset existing material methods first
)

What it does:

  • creates a dedicated Brightway database lca_supplymat holding the pseudo-biosphere "counting" flows;
  • computes the net production of each requested material for every matching activity and adds the corresponding exchanges;
  • registers one Brightway Method per material, keyed as ("lca_supplymat", "total", "<material>").

Once the setup is done, you can use the new methods as regular LCIA methods in Brightway / Activity Browser.

To tear the material methods down again:

cleanup("ecoinvent-3.11-cutoff")

Material definitions

By default, the 23 definitions of material methods are installed : See materials_methods.yaml

Writing your own definitions

You can provide your own definitions by passing the yaml_file parameter.

The file maps a definition key to a set of matching rules:

copper:
  matchings: ["copper, cathode*", "copper, anode*"]
  excludes: ["*scrap*"]      # optional: patterns that veto a match
  unit: kilogram
  tolerance: 0.05            # optional: allowed deviation for the impact check (default 0.05)
  • matchings (required): a list of patterns used to select activities.
  • excludes (optional): a list of patterns; if any matches, the activity is rejected.
  • unit (required): the unit the matching activities must be in.
  • tolerance (optional): allowed deviation of the impact score from 1 during the check_impacts step (default 0.05).

Matching semantics. Matching is performed against an activity's reference product name (act["reference product"]), and the activity's unit must equal the definition's unit. A pattern containing * acts as a prefix wildcard ("steel*" matches any reference product starting with steel); a pattern without * must be an exact match. excludes follows the same wildcard rules and overrides any matchings hit.

Then pass your file to the setup:

setup_lca_supply_mat(
    target_db="ecoinvent-3.11-cutoff",
    yaml_file="path/to/my_definitions.yaml")

Example

See the demo notebook for a complete, runnable example.

License

MIT

Authors

Organisation : OIE | Mines Paris | PSL

Metadata

Release files for lca_supplymat 0.1.0

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

Source distribution (sdist)

Source distribution for lca_supplymat 0.1.0
File Size Uploaded
lca_supplymat-0.1.0.tar.gz 188.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lca_supplymat 0.1.0
File Interpreter ABI Platform
lca_supplymat-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 201.7 kB

Release files / lca_supplymat-0.1.0.tar.gz

Download URL lca_supplymat-0.1.0.tar.gz
Size 188.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e5995835358a61df2b0d80edac20c315464fb68b3e59d6d2268d3d53af600661
BLAKE2b-256 checksum
How to use checksums
e46735526049f206e5e3ded87fff34ec26e04af74a5bc7f591fdb1b3c25aa5d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / lca_supplymat-0.1.0-py3-none-any.whl

Download URL lca_supplymat-0.1.0-py3-none-any.whl
Size 13.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c19df8cb5062e6deddd5e086a17ed3f6d5ba7a1e142fc1be8dc4a3e0e4f50036
BLAKE2b-256 checksum
How to use checksums
f8d7db10d5f201c76dda8ab3d5bbf5f4ac393583ece8e67bf740f68c6592e86e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

This release

0.1.0 This release

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