Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions docs/source/_templates/module_overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
..
.. SPDX-License-Identifier: MPL-2.0
{{ fullname }}
{{ "=" * fullname|length }}
{% set parts = fullname.split('.') %}
{% set short_name = parts[-1] if parts|length >= 3 else (parts[1:] | join('.') if parts|length > 1 else fullname) %}
{{ short_name }}
{{ "=" * short_name|length }}

.. currentmodule:: {{ fullname }}

Expand Down
27 changes: 14 additions & 13 deletions docs/source/_templates/package_overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
..
.. SPDX-License-Identifier: MPL-2.0

{{ fullname }}
{{ "=" * fullname|length }}
{% set parts = fullname.split('.') %}
{% set short_name = parts[-1] if parts|length >= 3 else (parts[1:] | join('.') if parts|length > 1 else fullname) %}
{{ short_name }}
{{ "=" * short_name|length }}

.. currentmodule:: {{ fullname }}

Expand All @@ -12,23 +14,22 @@
:no-inherited-members:

{% block package_overview %}
{% if modules or functions or classes or members %}

{# Custom logic to detect submodules from __all__ #}
{% set submodules = [] %}
{% if fullname == 'openstef_core.datasets' %}
{% set _ = submodules.append('mixins') %}
{% endif %}

{% if modules or submodules %}
{# Dynamically discover child modules/packages via pkgutil (no hardcoding needed) #}
{% set discovered = discover_submodules(fullname) %}
{# Remove any modules already provided by autosummary to avoid duplicates #}
{% set known = modules | map('replace', fullname ~ '.', '') | list %}
{% set extra_submodules = discovered | reject('in', known) | list %}
{% if modules or extra_submodules or functions or classes or members %}

{% if modules or extra_submodules %}
Submodules
----------

{% if submodules %}
{% if extra_submodules %}
.. autosummary::
:toctree: .
:template: module_overview.rst
{% for item in submodules %}
{% for item in extra_submodules %}
{{ fullname }}.{{ item }}
{%- endfor %}

Expand Down
23 changes: 23 additions & 0 deletions docs/source/api/beam.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
.. SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
..
.. SPDX-License-Identifier: MPL-2.0

.. _beam-api:

BEAM Package (:mod:`openstef_beam`)
====================================

.. currentmodule:: openstef_beam

Backtesting, evaluation, analysis and metrics for forecasting models.

.. autosummary::
:toctree: generated/
:template: package_overview.rst
:recursive:

metrics
backtesting
analysis
evaluation
benchmarking
26 changes: 26 additions & 0 deletions docs/source/api/core.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
.. SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
..
.. SPDX-License-Identifier: MPL-2.0

.. _core-api:

Core Package (:mod:`openstef_core`)
====================================

.. currentmodule:: openstef_core

Core data structures, datasets, and utilities for OpenSTEF.

.. autosummary::
:toctree: generated/
:template: package_overview.rst
:recursive:

datasets
utils
base_model
exceptions
mixins
testing
transforms
types
63 changes: 39 additions & 24 deletions docs/source/api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,81 +7,96 @@ API Reference

This is the complete API reference for OpenSTEF. The API is organized into several packages:

.. grid:: 1 1 3 3
.. grid:: 1 1 2 2
:gutter: 4
:padding: 2 2 0 0
:class-container: sd-text-center

.. grid-item-card:: :fa:`cube` Core Package
:link: core-api
:link-type: ref

Core data structures, datasets, and utilities

.. grid-item-card:: :fa:`robot` Models Package
:link: models-api
:link-type: ref

Machine learning models and feature engineering

.. grid-item-card:: :fa:`chart-line` BEAM Package
:link: beam-api
:link-type: ref

Backtesting, evaluation, analysis and metrics for forecasting models

.. _core-api:
.. grid-item-card:: :fa:`layer-group` Meta Package
:link: meta-api
:link-type: ref

Ensemble forecasting and preset workflows

.. toctree::
:maxdepth: 2
:hidden:

core
models
beam
meta

Core Package (:mod:`openstef_core`)
-----------------------------------

.. currentmodule:: openstef_core

**Core Modules:**

.. autosummary::
:toctree: generated/
:template: package_overview.rst

datasets
utils
base_model
exceptions

.. _models-api:
mixins
testing
transforms
types

Models Package (:mod:`openstef_models`)
---------------------------------------

.. currentmodule:: openstef_models

**Model Modules:**

.. autosummary::
:toctree: generated/
:template: package_overview.rst

transforms
models
pipelines
workflows
presets
explainability
exceptions

.. _beam-api:
mixins
integrations
transforms
utils

BEAM Package (:mod:`openstef_beam`)
-----------------------------------

.. currentmodule:: openstef_beam

**BEAM Modules:**

.. autosummary::
:toctree: generated/
:template: package_overview.rst

metrics
backtesting
analysis
evaluation
benchmarking

Meta Package (:mod:`openstef_meta`)
-----------------------------------

.. currentmodule:: openstef_meta

.. autosummary::

models
presets
utils
21 changes: 21 additions & 0 deletions docs/source/api/meta.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.. SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
..
.. SPDX-License-Identifier: MPL-2.0

.. _meta-api:

Meta Package (:mod:`openstef_meta`)
====================================

.. currentmodule:: openstef_meta

Ensemble forecasting and preset workflows.

.. autosummary::
:toctree: generated/
:template: package_overview.rst
:recursive:

models
presets
utils
26 changes: 26 additions & 0 deletions docs/source/api/models.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
.. SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
..
.. SPDX-License-Identifier: MPL-2.0

.. _models-api:

Models Package (:mod:`openstef_models`)
========================================

.. currentmodule:: openstef_models

Machine learning models and feature engineering for OpenSTEF.

.. autosummary::
:toctree: generated/
:template: package_overview.rst
:recursive:

models
workflows
presets
explainability
mixins
integrations
transforms
utils
Loading
Loading