chore: improve doc generation and test (#762)
Some checks failed
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled

Improve documentation generation and add tests for documentation.
Extend sphinx by todo directive.

The configuration table is now split into several tables. The test
is adapted accordingly.

There is a new test that checks the docstrings to be compliant to the
RST format as used by sphinx to create the documentation. We can not
use Markdown in docstrings. The docstrings are adapted accordingly.

An additional test checks that the documentation can be build with sphinx.
This test takes very long is only enabled in full run (aka. ci) mode.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
This commit is contained in:
Bobby Noelte
2025-11-13 22:53:46 +01:00
committed by GitHub
parent 8da137f8f1
commit 7bf9dd723e
38 changed files with 3250 additions and 2092 deletions

View File

@@ -2,7 +2,9 @@
**Version**: `v0.2.0+dev`
<!-- pyml disable line-length -->
**Description**: This project provides a comprehensive solution for simulating and optimizing an energy system based on renewable energy sources. With a focus on photovoltaic (PV) systems, battery storage (batteries), load management (consumer requirements), heat pumps, electric vehicles, and consideration of electricity price data, this system enables forecasting and optimization of energy flow and costs over a specified period.
<!-- pyml enable line-length -->
**Base URL**: `No base URL provided.`
@@ -10,11 +12,15 @@
## POST /gesamtlast
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_gesamtlast_gesamtlast_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_gesamtlast_gesamtlast_post)
<!-- pyml enable line-length -->
Fastapi Gesamtlast
```
<!-- pyml disable line-length -->
```python
"""
Deprecated: Total Load Prediction with adjustment.
Endpoint to handle total load prediction adjusted by latest measured data.
@@ -30,7 +36,9 @@ Note:
'/v1/measurement/series' or
'/v1/measurement/dataframe' or
'/v1/measurement/data'
"""
```
<!-- pyml enable line-length -->
**Request Body**:
@@ -48,11 +56,15 @@ Note:
## GET /gesamtlast_simple
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_gesamtlast_simple_gesamtlast_simple_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_gesamtlast_simple_gesamtlast_simple_get)
<!-- pyml enable line-length -->
Fastapi Gesamtlast Simple
```
<!-- pyml disable line-length -->
```python
"""
Deprecated: Total Load Prediction.
Endpoint to handle total load prediction.
@@ -69,7 +81,9 @@ Note:
'/v1/prediction/update'
and then request data with
'/v1/prediction/list?key=loadforecast_power_w' instead.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -85,18 +99,24 @@ Note:
## POST /optimize
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_optimize_optimize_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_optimize_optimize_post)
<!-- pyml enable line-length -->
Fastapi Optimize
```
<!-- pyml disable line-length -->
```python
"""
Deprecated: Optimize.
Endpoint to handle optimization.
Note:
Use automatic optimization instead.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -120,11 +140,15 @@ Note:
## GET /pvforecast
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_pvforecast_pvforecast_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_pvforecast_pvforecast_get)
<!-- pyml enable line-length -->
Fastapi Pvforecast
```
<!-- pyml disable line-length -->
```python
"""
Deprecated: PV Forecast Prediction.
Endpoint to handle PV forecast prediction.
@@ -139,7 +163,9 @@ Note:
and then request data with
'/v1/prediction/list?key=pvforecast_ac_power' and
'/v1/prediction/list?key=pvforecastakkudoktor_temp_air' instead.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -149,11 +175,15 @@ Note:
## GET /strompreis
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_strompreis_strompreis_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_strompreis_strompreis_get)
<!-- pyml enable line-length -->
Fastapi Strompreis
```
<!-- pyml disable line-length -->
```python
"""
Deprecated: Electricity Market Price Prediction per Wh (€/Wh).
Electricity prices start at 00.00.00 today and are provided for 48 hours.
@@ -169,7 +199,9 @@ Note:
and then request data with
'/v1/prediction/list?key=elecprice_marketprice_wh' or
'/v1/prediction/list?key=elecprice_marketprice_kwh' instead.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -179,16 +211,22 @@ Note:
## GET /v1/admin/cache
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_admin_cache_get_v1_admin_cache_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_admin_cache_get_v1_admin_cache_get)
<!-- pyml enable line-length -->
Fastapi Admin Cache Get
```
<!-- pyml disable line-length -->
```python
"""
Current cache management data.
Returns:
data (dict): The management data.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -198,18 +236,24 @@ Returns:
## POST /v1/admin/cache/clear
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_admin_cache_clear_post_v1_admin_cache_clear_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_admin_cache_clear_post_v1_admin_cache_clear_post)
<!-- pyml enable line-length -->
Fastapi Admin Cache Clear Post
```
<!-- pyml disable line-length -->
```python
"""
Clear the cache.
Deletes all cache files.
Returns:
data (dict): The management data after cleanup.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -219,18 +263,24 @@ Returns:
## POST /v1/admin/cache/clear-expired
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_admin_cache_clear_expired_post_v1_admin_cache_clear-expired_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_admin_cache_clear_expired_post_v1_admin_cache_clear-expired_post)
<!-- pyml enable line-length -->
Fastapi Admin Cache Clear Expired Post
```
<!-- pyml disable line-length -->
```python
"""
Clear the cache from expired data.
Deletes expired cache files.
Returns:
data (dict): The management data after cleanup.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -240,16 +290,22 @@ Returns:
## POST /v1/admin/cache/load
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_admin_cache_load_post_v1_admin_cache_load_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_admin_cache_load_post_v1_admin_cache_load_post)
<!-- pyml enable line-length -->
Fastapi Admin Cache Load Post
```
<!-- pyml disable line-length -->
```python
"""
Load cache management data.
Returns:
data (dict): The management data that was loaded.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -259,16 +315,22 @@ Returns:
## POST /v1/admin/cache/save
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_admin_cache_save_post_v1_admin_cache_save_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_admin_cache_save_post_v1_admin_cache_save_post)
<!-- pyml enable line-length -->
Fastapi Admin Cache Save Post
```
<!-- pyml disable line-length -->
```python
"""
Save the current cache management data.
Returns:
data (dict): The management data that was saved.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -278,15 +340,21 @@ Returns:
## POST /v1/admin/server/restart
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_admin_server_restart_post_v1_admin_server_restart_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_admin_server_restart_post_v1_admin_server_restart_post)
<!-- pyml enable line-length -->
Fastapi Admin Server Restart Post
```
<!-- pyml disable line-length -->
```python
"""
Restart the server.
Restart EOS properly by starting a new instance before exiting the old one.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -296,13 +364,19 @@ Restart EOS properly by starting a new instance before exiting the old one.
## POST /v1/admin/server/shutdown
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_admin_server_shutdown_post_v1_admin_server_shutdown_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_admin_server_shutdown_post_v1_admin_server_shutdown_post)
<!-- pyml enable line-length -->
Fastapi Admin Server Shutdown Post
```
<!-- pyml disable line-length -->
```python
"""
Shutdown the server.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -312,16 +386,22 @@ Shutdown the server.
## GET /v1/config
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_get_v1_config_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_get_v1_config_get)
<!-- pyml enable line-length -->
Fastapi Config Get
```
<!-- pyml disable line-length -->
```python
"""
Get the current configuration.
Returns:
configuration (ConfigEOS): The current configuration.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -331,11 +411,15 @@ Returns:
## PUT /v1/config
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_put_v1_config_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_put_v1_config_put)
<!-- pyml enable line-length -->
Fastapi Config Put
```
<!-- pyml disable line-length -->
```python
"""
Update the current config with the provided settings.
Note that for any setting value that is None or unset, the configuration will fall back to
@@ -347,7 +431,9 @@ Args:
Returns:
configuration (ConfigEOS): The current configuration after the write.
"""
```
<!-- pyml enable line-length -->
**Request Body**:
@@ -365,16 +451,22 @@ Returns:
## GET /v1/config/backup
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_backup_get_v1_config_backup_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_backup_get_v1_config_backup_get)
<!-- pyml enable line-length -->
Fastapi Config Backup Get
```
<!-- pyml disable line-length -->
```python
"""
Get the EOS configuration backup identifiers and backup metadata.
Returns:
dict[str, dict[str, Any]]: Mapping of backup identifiers to metadata.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -384,16 +476,22 @@ Returns:
## PUT /v1/config/file
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_file_put_v1_config_file_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_file_put_v1_config_file_put)
<!-- pyml enable line-length -->
Fastapi Config File Put
```
<!-- pyml disable line-length -->
```python
"""
Save the current configuration to the EOS configuration file.
Returns:
configuration (ConfigEOS): The current configuration that was saved.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -403,16 +501,22 @@ Returns:
## POST /v1/config/reset
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_reset_post_v1_config_reset_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_reset_post_v1_config_reset_post)
<!-- pyml enable line-length -->
Fastapi Config Reset Post
```
<!-- pyml disable line-length -->
```python
"""
Reset the configuration to the EOS configuration file.
Returns:
configuration (ConfigEOS): The current configuration after update.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -422,16 +526,22 @@ Returns:
## PUT /v1/config/revert
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_revert_put_v1_config_revert_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_revert_put_v1_config_revert_put)
<!-- pyml enable line-length -->
Fastapi Config Revert Put
```
<!-- pyml disable line-length -->
```python
"""
Revert the configuration to a EOS configuration backup.
Returns:
configuration (ConfigEOS): The current configuration after revert.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -447,11 +557,15 @@ Returns:
## GET /v1/config/{path}
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_get_key_v1_config__path__get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_get_key_v1_config__path__get)
<!-- pyml enable line-length -->
Fastapi Config Get Key
```
<!-- pyml disable line-length -->
```python
"""
Get the value of a nested key or index in the config model.
Args:
@@ -459,7 +573,9 @@ Args:
Returns:
value (Any): The value of the selected nested key.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -475,11 +591,15 @@ Returns:
## PUT /v1/config/{path}
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_config_put_key_v1_config__path__put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_config_put_key_v1_config__path__put)
<!-- pyml enable line-length -->
Fastapi Config Put Key
```
<!-- pyml disable line-length -->
```python
"""
Update a nested key or index in the config model.
Args:
@@ -488,7 +608,9 @@ Args:
Returns:
configuration (ConfigEOS): The current configuration after the update.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -517,13 +639,19 @@ Returns:
## GET /v1/energy-management/optimization/solution
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_energy_management_optimization_solution_get_v1_energy-management_optimization_solution_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_energy_management_optimization_solution_get_v1_energy-management_optimization_solution_get)
<!-- pyml enable line-length -->
Fastapi Energy Management Optimization Solution Get
```
<!-- pyml disable line-length -->
```python
"""
Get the latest solution of the optimization.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -533,13 +661,19 @@ Get the latest solution of the optimization.
## GET /v1/energy-management/plan
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_energy_management_plan_get_v1_energy-management_plan_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_energy_management_plan_get_v1_energy-management_plan_get)
<!-- pyml enable line-length -->
Fastapi Energy Management Plan Get
```
<!-- pyml disable line-length -->
```python
"""
Get the latest energy management plan.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -549,13 +683,19 @@ Get the latest energy management plan.
## GET /v1/health
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_health_get_v1_health_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_health_get_v1_health_get)
<!-- pyml enable line-length -->
Fastapi Health Get
```
<!-- pyml disable line-length -->
```python
"""
Health check endpoint to verify that the EOS server is alive.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -565,11 +705,15 @@ Health check endpoint to verify that the EOS server is alive.
## GET /v1/logging/log
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_logging_get_log_v1_logging_log_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_logging_get_log_v1_logging_log_get)
<!-- pyml enable line-length -->
Fastapi Logging Get Log
```
<!-- pyml disable line-length -->
```python
"""
Get structured log entries from the EOS log file.
Filters and returns log entries based on the specified query parameters. The log
@@ -586,7 +730,9 @@ Args:
Returns:
JSONResponse: A JSON list of log entries.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -614,13 +760,19 @@ Returns:
## PUT /v1/measurement/data
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_measurement_data_put_v1_measurement_data_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_measurement_data_put_v1_measurement_data_put)
<!-- pyml enable line-length -->
Fastapi Measurement Data Put
```
<!-- pyml disable line-length -->
```python
"""
Merge the measurement data given as datetime data into EOS measurements.
"""
```
<!-- pyml enable line-length -->
**Request Body**:
@@ -638,13 +790,19 @@ Merge the measurement data given as datetime data into EOS measurements.
## PUT /v1/measurement/dataframe
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_measurement_dataframe_put_v1_measurement_dataframe_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_measurement_dataframe_put_v1_measurement_dataframe_put)
<!-- pyml enable line-length -->
Fastapi Measurement Dataframe Put
```
<!-- pyml disable line-length -->
```python
"""
Merge the measurement data given as dataframe into EOS measurements.
"""
```
<!-- pyml enable line-length -->
**Request Body**:
@@ -662,13 +820,19 @@ Merge the measurement data given as dataframe into EOS measurements.
## GET /v1/measurement/keys
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_measurement_keys_get_v1_measurement_keys_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_measurement_keys_get_v1_measurement_keys_get)
<!-- pyml enable line-length -->
Fastapi Measurement Keys Get
```
<!-- pyml disable line-length -->
```python
"""
Get a list of available measurement keys.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -678,13 +842,19 @@ Get a list of available measurement keys.
## GET /v1/measurement/series
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_measurement_series_get_v1_measurement_series_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_measurement_series_get_v1_measurement_series_get)
<!-- pyml enable line-length -->
Fastapi Measurement Series Get
```
<!-- pyml disable line-length -->
```python
"""
Get the measurements of given key as series.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -700,13 +870,19 @@ Get the measurements of given key as series.
## PUT /v1/measurement/series
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_measurement_series_put_v1_measurement_series_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_measurement_series_put_v1_measurement_series_put)
<!-- pyml enable line-length -->
Fastapi Measurement Series Put
```
<!-- pyml disable line-length -->
```python
"""
Merge measurement given as series into given key.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -728,13 +904,19 @@ Merge measurement given as series into given key.
## PUT /v1/measurement/value
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_measurement_value_put_v1_measurement_value_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_measurement_value_put_v1_measurement_value_put)
<!-- pyml enable line-length -->
Fastapi Measurement Value Put
```
<!-- pyml disable line-length -->
```python
"""
Merge the measurement of given key and value into EOS measurements at given datetime.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -754,11 +936,15 @@ Merge the measurement of given key and value into EOS measurements at given date
## GET /v1/prediction/dataframe
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_dataframe_get_v1_prediction_dataframe_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_dataframe_get_v1_prediction_dataframe_get)
<!-- pyml enable line-length -->
Fastapi Prediction Dataframe Get
```
<!-- pyml disable line-length -->
```python
"""
Get prediction for given key within given date range as series.
Args:
@@ -768,7 +954,9 @@ Args:
end_datetime (Optional[str]: Ending datetime (exclusive).
Defaults to end datetime of latest prediction.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -790,11 +978,15 @@ Defaults to end datetime of latest prediction.
## PUT /v1/prediction/import/{provider_id}
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_import_provider_v1_prediction_import__provider_id__put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_import_provider_v1_prediction_import__provider_id__put)
<!-- pyml enable line-length -->
Fastapi Prediction Import Provider
```
<!-- pyml disable line-length -->
```python
"""
Import prediction for given provider ID.
Args:
@@ -802,7 +994,9 @@ Args:
data: Prediction data.
force_enable: Update data even if provider is disabled.
Defaults to False.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -841,13 +1035,19 @@ Args:
## GET /v1/prediction/keys
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_keys_get_v1_prediction_keys_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_keys_get_v1_prediction_keys_get)
<!-- pyml enable line-length -->
Fastapi Prediction Keys Get
```
<!-- pyml disable line-length -->
```python
"""
Get a list of available prediction keys.
"""
```
<!-- pyml enable line-length -->
**Responses**:
@@ -857,11 +1057,15 @@ Get a list of available prediction keys.
## GET /v1/prediction/list
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_list_get_v1_prediction_list_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_list_get_v1_prediction_list_get)
<!-- pyml enable line-length -->
Fastapi Prediction List Get
```
<!-- pyml disable line-length -->
```python
"""
Get prediction for given key within given date range as value list.
Args:
@@ -872,7 +1076,9 @@ Args:
Defaults to end datetime of latest prediction.
interval (Optional[str]): Time duration for each interval.
Defaults to 1 hour.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -894,16 +1100,22 @@ Args:
## GET /v1/prediction/providers
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_providers_get_v1_prediction_providers_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_providers_get_v1_prediction_providers_get)
<!-- pyml enable line-length -->
Fastapi Prediction Providers Get
```
<!-- pyml disable line-length -->
```python
"""
Get a list of available prediction providers.
Args:
enabled (bool): Return enabled/disabled providers. If unset, return all providers.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -919,11 +1131,15 @@ Args:
## GET /v1/prediction/series
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_series_get_v1_prediction_series_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_series_get_v1_prediction_series_get)
<!-- pyml enable line-length -->
Fastapi Prediction Series Get
```
<!-- pyml disable line-length -->
```python
"""
Get prediction for given key within given date range as series.
Args:
@@ -932,7 +1148,9 @@ Args:
Defaults to start datetime of latest prediction.
end_datetime (Optional[str]: Ending datetime (exclusive).
Defaults to end datetime of latest prediction.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -952,11 +1170,15 @@ Args:
## POST /v1/prediction/update
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_update_v1_prediction_update_post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_update_v1_prediction_update_post)
<!-- pyml enable line-length -->
Fastapi Prediction Update
```
<!-- pyml disable line-length -->
```python
"""
Update predictions for all providers.
Args:
@@ -964,7 +1186,9 @@ Args:
Defaults to False.
force_enable: Update data even if provider is disabled.
Defaults to False.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -982,11 +1206,15 @@ Args:
## POST /v1/prediction/update/{provider_id}
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_prediction_update_provider_v1_prediction_update__provider_id__post), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_prediction_update_provider_v1_prediction_update__provider_id__post)
<!-- pyml enable line-length -->
Fastapi Prediction Update Provider
```
<!-- pyml disable line-length -->
```python
"""
Update predictions for given provider ID.
Args:
@@ -995,7 +1223,9 @@ Args:
Defaults to False.
force_enable: Update data even if provider is disabled.
Defaults to False.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -1015,16 +1245,22 @@ Args:
## GET /v1/resource/status
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_devices_status_get_v1_resource_status_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_devices_status_get_v1_resource_status_get)
<!-- pyml enable line-length -->
Fastapi Devices Status Get
```
<!-- pyml disable line-length -->
```python
"""
Get the latest status of a resource/ device.
Return:
latest_status: The latest status of a resource/ device.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -1042,16 +1278,22 @@ Return:
## PUT /v1/resource/status
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/fastapi_devices_status_put_v1_resource_status_put), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/fastapi_devices_status_put_v1_resource_status_put)
<!-- pyml enable line-length -->
Fastapi Devices Status Put
```
<!-- pyml disable line-length -->
```python
"""
Update the status of a resource/ device.
Return:
latest_status: The latest status of a resource/ device.
"""
```
<!-- pyml enable line-length -->
**Parameters**:
@@ -1105,7 +1347,9 @@ Return:
## GET /visualization_results.pdf
<!-- pyml disable line-length -->
**Links**: [local](http://localhost:8503/docs#/default/get_pdf_visualization_results_pdf_get), [eos](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/openapi.json#/default/get_pdf_visualization_results_pdf_get)
<!-- pyml enable line-length -->
Get Pdf
@@ -1114,3 +1358,5 @@ Get Pdf
- **200**: Successful Response
---
Auto generated from openapi.json.