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?

Brightway is powerful but requires Python fluency. SimaPro is point-and-click but not scriptable. olcaBASIC sits in between: programmatic, reproducible LCA work that any environmental scientist can read and write on day one.

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.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 olcabasic 0.1.0
File Size Uploaded
olcabasic-0.1.0.tar.gz 32.5 kB Details

Built distribution (wheel)

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

Total release size: 67.1 kB

Release files / olcabasic-0.1.0.tar.gz

Download URL olcabasic-0.1.0.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ebcb0746dcb52a62bced09e1ba28985c0584bbbc20937c2e4170a26d56f954fe
BLAKE2b-256 checksum
How to use checksums
cabcbc78c2379055b38de7f013168c7cdc813954d71836bc49d66f6eade05e01
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.0-py3-none-any.whl

Download URL olcabasic-0.1.0-py3-none-any.whl
Size 34.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7c5c578708e9abafff2227313a990ef1c85a0d04aa5a04fcb5fea45f1c4f354
BLAKE2b-256 checksum
How to use checksums
3f1128f36ff3459649c66fbdfe3354d5dd1cb71c233a23564b68b821c7656f78
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

0.1.4

2 release files

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