Skip to main content

optimex logo

Read the Docs tests codecov PyPI - Version Conda Version Conda - License preprint Binder

What is optimex?

optimex is an open-source Python package for time-explicit Life Cycle Optimization (LCO) — a framework that finds optimal technology transition pathways while fully accounting for when emissions occur and how the product systems and technologies evolve over time.

If you already do Life Cycle Assessment (LCA) with Brightway, optimex lets you take your existing product system models, temporalize them, and turn them into fully-fledged optimization problems — without having to rebuild anything from scratch.

Why LCA users need this

Standard LCA tells you the environmental impact of a predefined product system. But what if you want to choose between competing technologies, or find the best deployment schedule for a set of processes over a 25-year horizon? That's the domain of Life Cycle Optimization. LCO extends LCA by treating technology selection and capacity planning as decision variables, and minimizes an environmental objective subject to system constraints.

However, both LCA and LCO are traditionally static: all flows are collapsed to a single point in time, background supply chains are fixed, and the timing of real-world activities — construction, multi-year operation, end-of-life — is ignored. This matters enormously in a rapidly decarbonizing world where the same technology installed in 2025 versus 2035 carries very different lifecycle impacts.

optimex solves this by making both the assessment and the optimization time-explicit.

Why go time-explicit?

Making your optimization time-explicit unlocks insights that static approaches simply cannot provide:

  • Temporal distribution of flows — Construction, operation, and end-of-life happen at different points in time. An electric vehicle built today will consume electricity over the next, say, 15 years; the underlying electricity mix might change a lot over this time period, affecting environmental impacts.
  • Temporal evolution of technologies — A process installed in 2030 will be more efficient than one installed today. optimex locks in technology parameters at the time of installation (the vintage), so improving technologies are correctly credited when they are actually deployed.
  • Time-varying background systems — Upstream supply chains decarbonize. optimex links foreground demands to time-specific background databases (e.g., generated with premise), so that future electricity, hydrogen, or steel inputs are assessed against future grid mixes rather than today's.
  • Flexible process operation - Because optimex can differentiate process installation from operation, it can also scale their operation independent of installation. Together with the vintage-tracking abilities, this enables vintage-specific dispatch preferring more efficient vintages.
  • Dynamic impact assessment — Characterization factors can vary over time. For climate change, optimex directly integrates dynamic LCIA methods from dynamic_characterization, enabling radiative forcing, AGWP, or AGTP as objective metrics.
  • Novel transition strategies — Time-explicit LCO reveals strategies invisible to static models: strategic overcapacity that accepts stranded fossil assets to accelerate clean deployment, preferential dispatch of cleaner vintages, and technology diversification to navigate transient resource bottlenecks.

Use Cases

optimex is broadly applicable across sectors where temporal dynamics are decisive for sustainability:

  • Evolving supply chains — Systems depending on electricity, steel, or hydrogen undergoing rapid decarbonization
  • Early-stage technologies — Processes with significant vintage-dependent performance improvements (e.g., electrolyzers, DAC)
  • Circular economy planning — Temporal mismatches between primary demand and secondary supply from long material residence times
  • Time-resolved carbon accounting — Biogenic feedstocks, temporary carbon storage, or CO2 removal with varying temporal profiles
  • Multi-regional supply chains — Sourcing across regions with divergent decarbonization trajectories

Built on Brightway

optimex is deeply integrated with the Brightway LCA ecosystem. You model your foreground system exactly as you would for a standard LCA — defining products, processes, and exchanges. You then add temporal metadata (relative temporal distributions, vintage-dependent scaling factors, operation-vs-installation flow classifications) as flow-level attributes. The rest is handled by optimex.

This means:

  • No lock-in — Use any Brightway-compatible inventory database (ecoinvent, custom databases, etc.).
  • Familiar workflows — If you know Brightway, you already know how to build foreground systems for optimex.
  • Reuse existing models — Temporalize and optimize a product system you have already built for standard LCA.

Tip: you can also directly re-use temporalized product system models made with bw_timex, our time-explicit assessment framework.

For optimization, optimex uses Pyomo, a powerful open-source algebraic modeling language for mathematical programming.

Installation

pip install optimex

More complete installation instructions are available here.

Documentation

Full documentation, tutorials, and examples are available at optimex.readthedocs.io.

optimex builds on Pyomo and Brightway. For time-explicit LCA without optimization, see bw_timex.

Citation

If you use optimex in your research, please consider citing our preprint:

Diepers, T., Tautorus, J., Hartmann, J. M., & von der Assen, N. (2026). A Framework for Time-Explicit Life Cycle Optimization. Preprint. https://doi.org/10.21203/rs.3.rs-9630408/v1

Support

Contributing

Open an Issue or Send a Pull Request — contributions are welcome. See CONTRIBUTING.md for the full contributor setup and workflow.

License

BSD 3-Clause License

Metadata

Release files for optimex 0.7.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 optimex 0.7.0
File Size Uploaded Provenance Actions
optimex-0.7.0.tar.gz 119.0 kB With provenance Details for optimex-0.7.0.tar.gz

Built distribution (wheel)

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

Total release size: 186.2 kB

Release files / optimex-0.7.0.tar.gz

Download URL optimex-0.7.0.tar.gz
Size 119.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b9c13d285a2c97ba540aa111a55737c54728e266ad05f5d8155daeb121bf5a01
BLAKE2b-256 checksum
How to use checksums
4d8767ef0c1611b60cd0db56221bcb2259b6853f9bfb8d22203da4fa42484260
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 Aug 20, 2026.

Transparency log

Release files / optimex-0.7.0-py3-none-any.whl

Download URL optimex-0.7.0-py3-none-any.whl
Size 67.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
36814a23417e0bcf2e7e6a6749bf23113a1df87a291922edc3802a550e5e01ba
BLAKE2b-256 checksum
How to use checksums
0b5f78b3375cbf92b33835084fdd45649d984f7ecf62af09d80dbf31ab103d38
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 Aug 20, 2026.

Transparency log

Security for optimex 0.7.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for optimex-0.7.0.tar.gz

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 Aug 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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