OPERA: Open-Source Prediction Evaluation and Real-Time Analysis
OPERA is a modular ecosystem aimed at streamlining forecasting tasks for economists and fostering open collaboration. Model logic - estimation, forecasting, forecast decomposition - is separated from the real-time workflow, making it easier to compare models in replicable environments and leverage open source contributions. The ecosystem is currently composed of seven blocks which cover the full pipeline from raw data to evaluation. Its architecture, interfaces and design principles reflect the specific constraints of macro analysis: data revision, ragged edge, mixed-frequency, conditional projections, uncertainty quantification, narrative accounting and nested models. By making these modules open-source, OPERA provides a platform for central bankers, academics and other forecasters to share infrastructure and collaborate.
Architecture
Modules
| Module | Package | Role |
|---|---|---|
| Model Libraries | bvar, nowcast-midas |
Bayesian VARs; mixed-data sampling and SC-MIDAS combinations |
| Forecast Evaluation | forecast_evaluation |
Validate data, evaluate accuracy, run statistical tests, visualise |
| Real-time Forecasting | forecast_realtime |
Fit and forecast wrappers, backtesting, simulation, stress-testing, R/MATLAB/Julia adapters |
| Forecast Combination | forecast_combo |
Inverse-error, regression and hierarchical combination |
| News Decomposition | news_decomp |
Nowcast decomposition into level and revision; news/reestimation/interaction |
Install all ecosystem packages with pip install "opera-eco[modules]".
Authors
The package authors listed in each repository's pyproject.toml are:
| Package | Authors |
|---|---|
opera-eco |
Paul Labonne; Diego Lopez |
forecast_evaluation |
James Hurley; Paul Labonne; Harry Li |
forecast_realtime |
Paul Labonne; Sumer Singh; Harry Li; Nades Raviraj |
bvar |
Paul Labonne; Andrea Renzetti; Joseph Oyegoke |
nowcast-midas |
James Kensett; Paul Labonne; Andre Moreira |
forecast_combo |
Filippo Busetto; Paul Labonne; James McConachie; Roshni Tara |
news_decomp |
Guido Bonatti; Kensley Blaise; Paul Labonne; Nades Raviraj |
Quick Start
pip install opera-eco # Install the CLI and skills only.
pip install "opera-eco[modules]" # Install the CLI and all ecosystem packages.
pip install "opera-eco[notebooks]" # Install Marimo notebook tooling.
opera install skills # Install AI skills in .claude/skills/.
Then ask Copilot or Claude to use an installed skill:
Tell me about @opera and how I can use it with my model.
OPERA Skills for Claude and Copilot
The package includes seven skills for AI coding assistants:
| Skill | Description |
|---|---|
| opera | Meta-skill covering the full ecosystem: architecture, modules, data flows, conventions, integration patterns |
| forecast-evaluation | Data validation, accuracy metrics, statistical tests, visualisations, dashboards |
| forecast-realtime | Real-time forecasting, backtesting, model wrapping, external language models (R, MATLAB, Julia) |
| bvar | Bayesian VARs, conditional forecasting with hard/soft/skewed constraints, GIRFs |
| nowcast-midas | MIDAS regressions, MultiMIDAS, SC-MIDAS combinations, monthly-to-quarterly nowcasting |
| forecast-combo | Forecast combination methods, hierarchical pooling, weight analysis |
| forecast-decomp | Nowcast decomposition: levels and revisions, news, reestimation, interaction, and New York Fed-style analysis |
Project Layout
docs/ # Documentation site.
examples/illustration.py # Runnable end-to-end example.
examples/illustration_marimo.py # Native Marimo version of the example.
src/opera/ # Package source, bundled skills, and tests.
cli.py # Command-line interface.
skills_manager.py # Skill discovery and installation.
skills/ # Bundled Markdown skill files.
pyproject.toml # Python package configuration.
zensical.toml # Documentation site configuration.
Data Classification
Bank of England Data Classification: OFFICIAL BLUE
Release files for opera-eco 0.4.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| opera_eco-0.4.13.tar.gz | 89.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opera_eco-0.4.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 193.2 kB
Release files / opera_eco-0.4.13.tar.gz
| Download URL | opera_eco-0.4.13.tar.gz |
|---|---|
| Size | 89.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
44861b333ed9c0581268873c486b3dc59b97d1dc1103304c426c0d82121a6954
|
|
BLAKE2b-256 checksum How to use checksums |
d4b6eaaeaa4a4e168d7b24a44b90fbe467aec7dbcbd10a83db7f34dee313d574
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 4, 2026.
Transparency logRelease files / opera_eco-0.4.13-py3-none-any.whl
| Download URL | opera_eco-0.4.13-py3-none-any.whl |
|---|---|
| Size | 103.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b2d773eb21e7874af1eda84635a055b778173c85c16b193757264f405379c2c
|
|
BLAKE2b-256 checksum How to use checksums |
fd5aa87a32f86374b3a9cda02ad219ec91fa4f760c44ec668db4d56619747705
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 4, 2026.
Transparency log