Skip to main content

olcaBASIC

            ___  _     ____    _    ____    _    ____  _  ____
           / _ \| |   / ___|  / \  | __ )  / \  / ___|| |/ ___|
          | | | | |  | |     / _ \ |  _ \ / _ \ \___ \| | |
          | |_| | |__| |___ / ___ \| |_) / ___ \ ___) | | |___
           \___/|_____\____/_/   \_\____/_/   \_\____/|_|\____|

A simplified language to control openLCA, borrowing heavily from the BASIC programming language (1964)

olcaBASIC lets LCA practitioners build models, run calculations, and analyse results without writing Python. It connects to openLCA via the IPC server and translates simple, readable commands into the full power of the openLCA calculation engine.

Quick start

pip install olcabasic

Start the IPC server in openLCA (Tools > Developer Tools > IPC Server), then:

olcabasic
olcaBASIC v0.1.0
Connected to openLCA on port 8080 (ecoinvent 3.10)
Ready.

> PRINT PROCESSES("electricity", "", "GB")
  electricity production, wind, 1-3MW | GB
  electricity production, natural gas | GB
  ...

> PRINT METHODS("ReCiPe")
  ReCiPe 2016 Midpoint (H)
  ReCiPe 2016 Endpoint (H)

> CALCULATE "My System" USING "ReCiPe 2016 Midpoint (H)"
  Climate change:    247.3 kg CO2-eq
  Ozone depletion:   3.21e-6 kg CFC-11-eq
  ...

Write programs

Save as mymodel.baslca and run with olcabasic run mymodel.baslca:

REM Concrete block EPD model

LET cement_mass = 300
LET water_cement_ratio = 0.45
LET mixing_energy = 12

FLOW "Concrete block", m3, PRODUCT

BRIDGE "BRIDGE | Cement | kg", kg
  FOLDER "00: Concrete/Bridges"
  PROVIDER "cement production, Portland | GB"
END BRIDGE

PROCESS "A1: Raw materials" LOCATION "GB"
  FOLDER "00: Concrete/A1"
  OUTPUT "Concrete block", 1, m3, PRODUCT
  INPUT "BRIDGE | Cement | kg", cement_mass, kg
  INPUT "BRIDGE | Sand | kg", 800, kg
  INPUT "BRIDGE | UK grid | kWh", mixing_energy, kWh
END PROCESS

SYSTEM "A1: Raw materials"
CALCULATE "A1: Raw materials" USING "EN15804+A2 (EF 3.1)"
PRINT RESULTS

SENSITIVITY ON "A1: Raw materials" USING "EN15804+A2 (EF 3.1)" BY 20%
  VARY cement_mass
  VARY mixing_energy
END SENSITIVITY

SCENARIO "Baseline"
END SCENARIO

SCENARIO "Low cement"
  LET cement_mass = 240
END SCENARIO

RUN SCENARIOS ON "A1: Raw materials" USING "EN15804+A2 (EF 3.1)"
SAVE RESULTS "scenarios.csv"

Why?

This exists to make LCA easy to do programmatically.

There was no sensible reason why we made this.

Requirements

  • openLCA 2.x with IPC server running (port 8080)
  • Python 3.10+
  • b280-olca-mcp (installed automatically)

Licence

MPL-2.0

Built by Below280. openLCA is developed by GreenDelta. BASIC was created by Kemeny and Kurtz at Dartmouth College, 1964.

Release files for olcabasic 0.1.4

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

Source distribution (sdist)

Source distribution for olcabasic 0.1.4
File Size Uploaded
olcabasic-0.1.4.tar.gz 37.1 kB Details

Built distribution (wheel)

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

Total release size: 76.3 kB

Release files / olcabasic-0.1.4.tar.gz

Download URL olcabasic-0.1.4.tar.gz
Size 37.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0cc6361febfc9669193834dfa2f964a7cd96afac93a7eb72708c34eeee7f0999
BLAKE2b-256 checksum
How to use checksums
61e7fd48a706ec8131b04b9f73b6ddfb3446ab1e95e0f9e1ba22cc091dabe1c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / olcabasic-0.1.4-py3-none-any.whl

Download URL olcabasic-0.1.4-py3-none-any.whl
Size 39.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
814e4067232abb1d369a18a3bc1fe1486660172456acdc98cf5c5b32a1844aef
BLAKE2b-256 checksum
How to use checksums
1e7eda99ff5a1a838b09cf79107b2274998638f4a442c2e3b5025fecefe6a2ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.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