Brine & Ember Life cycle analysis and Techno-economic analysis Tool for LCA/TEA scenario analysis
Project description
belt
Brine & Ember Life cycle analysis and Techno-economic analysis Tool. Define scenarios as YAML, run viability (profit + carbon), and emit JSON/text via Typer CLI. Uses src-layout packaging and prefers uv.
YAML Structure
One YAML file per scenario. A scenario has multiple transformations; each transformation has processes; processes define materials and energy in/out.
Example
name: vegan dashi to biochar
currency: USD
boundaries: [harvest, dashi, pyrolysis]
energy_sources:
grid_ca: { carbon_intensity_kg_per_kwh: 0.23 }
propane: { carbon_intensity_kg_per_kwh: 0.25 }
materials:
wet_biomass_t: { name: wet_biomass, measurement: tonnes, value: 0 }
feedstock_t: { name: feedstock, measurement: tonnes, value: 0 }
dashi_liters: { name: dashi, measurement: liters, value: 0 }
biochar_t: { name: biochar, measurement: tonnes, value: 0 }
emissions_kg: { name: emissions, measurement: kg, value: 0 }
carbon_locked_kg:{ name: carbon_locked, measurement: kg, value: 0 }
transformations:
- id: harvest
processes:
- id: cut_collect
materials_input: { wet_biomass_t: 1.0 }
energy_input: { amount_kwh: 50, type: grid_ca }
materials_output: { wet_biomass_t: 1.0 }
finance: { opex_usd: 500 }
- id: dashi
processes:
- id: boil_extract
materials_input: { wet_biomass_t: 1.0 }
energy_input: { amount_kwh: 120, type: propane }
materials_output: { dashi_liters: 800, feedstock_t: 0.5 }
finance: { opex_usd: 800, revenue_usd: 2500 }
- id: pyrolysis
processes:
- id: char_burn
materials_input: { feedstock_t: 0.5 }
energy_input: { amount_kwh: 60, type: grid_ca }
materials_output: { biochar_t: 0.1, emissions_kg: 150, carbon_locked_kg: 250 }
finance: { opex_usd: 300 }
transfers:
- from: harvest
to: dashi
quantities: { wet_biomass_t: 1.0 }
- from: dashi
to: pyrolysis
quantities: { feedstock_t: 0.5 }
Key fields:
energy_sources: map energy type → carbon intensity (kg CO2/kWh).materials: user-defined; referenced in materials_input/materials_output and transfers.materials_input/materials_output: quantities by material key.energy_input:{ amount_kwh, type }, carbon computed viaenergy_sources.finance:capex_usd,opex_usd,revenue_usd(default 0).transfers: move materials between transformations; must not exceed produced amounts.boundaries: list of included transformations; all transformations must be listed.
Install & Run (uv preferred)
# install deps in editable mode
uv pip install -e ".[dev]"
# CLI help
uv run python -m belt --help
uv run python -m belt analyze-scenario --help
# Run scenario
uv run python -m belt analyze-scenario path/to/scenario.yaml
Behavior:
- Prints viability summary to stdout.
- Writes JSON results to
outputs/<scenario>.jsonby default (or--outpath).
Tests
uv run python -m pytest
Packaging / Entry Points
- Src layout under
src/belt/ - CLI entry:
belt = "belt.cli:app" - Module entry:
python -m belt
Quick Checks
uv build
uv run python -c "from belt import Scenario, assess_viability; print('OK')"
belt --help # after install
python -m belt --help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file brine_and_ember_belt-0.1.0.tar.gz.
File metadata
- Download URL: brine_and_ember_belt-0.1.0.tar.gz
- Upload date:
- Size: 968.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c86c52a0514d9dc3e74cfece7678caa4580fc92a008ec0ca45bb88f9e002c362
|
|
| MD5 |
5892e227b4dcd0761c989c7f5811677a
|
|
| BLAKE2b-256 |
cc878591beeb0a6515b217b374834402f6e4c4bd1a285aff5a4180ff3b2c1c76
|
File details
Details for the file brine_and_ember_belt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: brine_and_ember_belt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee0255f90e552451dc5d929e002ca3bc7b86decad014786a9b9b00dacf86d190
|
|
| MD5 |
0b0b77a0a05a7c5ef40d30d474dbdbd5
|
|
| BLAKE2b-256 |
4effda997c651b4d51d68487dc0bd92ba644543c5d63d44e47ca04d0249085c5
|