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

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

Built distribution (wheel)

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

Total release size: 67.0 kB

Release files / olcabasic-0.1.1.tar.gz

Download URL olcabasic-0.1.1.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
84ebb37c2fd125678af5b3edd53129f5b1ea041e1379d0eeafa7e373b773f2e8
BLAKE2b-256 checksum
How to use checksums
5771684cf56cb9a8ece051990faa67a32a9f65d7cbdf1be41450b60ae9fdc3de
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.1-py3-none-any.whl

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

This release

0.1.1 This release

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