Services¶
services ¶
Services subpackage for the results extension.
Classes¶
ApiResultsRepository ¶
Repository adapter built on top of ResultsAPI.
Source code in src/owi/metadatabase/results/services/core.py
Functions¶
list_analyses ¶
get_analysis ¶
list_results ¶
create_analysis ¶
create_result ¶
create_results_bulk ¶
Create multiple result rows.
create_or_update_results_bulk ¶
Create missing result rows and patch existing ones.
Source code in src/owi/metadatabase/results/services/core.py
update_result ¶
get_location_frame ¶
Retrieve location metadata required by map-oriented plots.
Source code in src/owi/metadatabase/results/services/core.py
ResultsService ¶
Facade for validated retrieval and plotting.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
repository
|
ResultsRepositoryProtocol
|
Repository instance to use for data access. This means that the service does not depend on a specific repository implementation, and the default is a simple API adapter. Custom repositories can be injected for testing or to support alternative backends. |
None
|
registry
|
AnalysisRegistryProtocol
|
Analysis registry to use for looking up analysis definitions. The default is a simple in-memory registry pre-populated with the built-in analyses. Different registries can be injected to support custom analyses or alternative lookup mechanisms. |
None
|
Examples:
>>> service = ResultsService()
>>> service.get_results("WindSpeedHistogram", filters={"location_id": 123})
pd.DataFrame(...)
>>> service.plot_results("WindSpeedHistogram",
... filters={"location_id": 123},
... plot_type="histogram")
PlotResponse(...)
Source code in src/owi/metadatabase/results/services/core.py
Functions¶
deserialize_result_series ¶
Deserialize raw backend rows into typed result series.
Source code in src/owi/metadatabase/results/services/core.py
get_result_series ¶
Fetch and deserialize typed result series for the given analysis.
Source code in src/owi/metadatabase/results/services/core.py
get_location_frame ¶
Return location metadata for the given backend location identifiers.
Source code in src/owi/metadatabase/results/services/core.py
get_results ¶
Return normalized analysis data for the given analysis.
Source code in src/owi/metadatabase/results/services/core.py
plot_results ¶
Render a chart for a single analysis or a registered cross-analysis plot.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
analysis_name
|
str | None
|
Analysis name used for ordinary single-analysis plot types. For
owner-invariant cross-analysis plot types such as
|
None
|
filters
|
ResultQuery | Mapping[str, Any] | None
|
Shared query filters. For cross-analysis plots, these filters are
applied to every named source unless overridden in
|
None
|
plot_type
|
str | None
|
Plot type to render. |
None
|
source_filters
|
Mapping[str, ResultQuery | Mapping[str, Any]] | None
|
Per-source query overrides for registered cross-analysis plots.
The mapping keys must match the plot definition source keys, such as
|
None
|
Source code in src/owi/metadatabase/results/services/core.py
Functions¶
get_results ¶
Return normalized analysis data using the default service.
Source code in src/owi/metadatabase/results/services/core.py
plot_results ¶
plot_results(
analysis_name=None,
filters=None,
*,
plot_type=None,
source_filters=None,
service=None,
)
Return a plotted chart using the default service.