Metadata-Version: 2.4
Name: frequenz-api-assets
Version: 0.1.0
Summary: Frequenz gRPC API to retrieval platform assets information
Author-email: Frequenz Energy-as-a-Service GmbH <floss@frequenz.com>
License: MIT
Project-URL: Documentation, https://frequenz-floss.github.io/frequenz-api-assets/
Project-URL: Changelog, https://github.com/frequenz-floss/frequenz-api-assets/releases
Project-URL: Issues, https://github.com/frequenz-floss/frequenz-api-assets/issues
Project-URL: Repository, https://github.com/frequenz-floss/frequenz-api-assets
Project-URL: Support, https://github.com/frequenz-floss/frequenz-api-assets/discussions/categories/support
Keywords: frequenz,python,api,grpc,protobuf,rpc,assets,assets,microgrid,gridpools,components
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: <4,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: frequenz-api-common<0.9,>=0.8.0
Requires-Dist: protobuf<8,>=6.31.1
Requires-Dist: grpcio<2,>=1.73.1
Provides-Extra: dev-flake8
Requires-Dist: flake8==7.3.0; extra == "dev-flake8"
Requires-Dist: flake8-docstrings==1.7.0; extra == "dev-flake8"
Requires-Dist: flake8-pyproject==1.2.3; extra == "dev-flake8"
Requires-Dist: pydoclint==0.6.6; extra == "dev-flake8"
Requires-Dist: pydocstyle==6.3.0; extra == "dev-flake8"
Provides-Extra: dev-formatting
Requires-Dist: black==25.1.0; extra == "dev-formatting"
Requires-Dist: isort==6.0.1; extra == "dev-formatting"
Provides-Extra: dev-mkdocs
Requires-Dist: Markdown==3.8.2; extra == "dev-mkdocs"
Requires-Dist: black==25.1.0; extra == "dev-mkdocs"
Requires-Dist: mike==2.1.3; extra == "dev-mkdocs"
Requires-Dist: mkdocs-gen-files==0.5.0; extra == "dev-mkdocs"
Requires-Dist: mkdocs-literate-nav==0.6.2; extra == "dev-mkdocs"
Requires-Dist: mkdocs-macros-plugin==1.3.7; extra == "dev-mkdocs"
Requires-Dist: mkdocs-material==9.6.16; extra == "dev-mkdocs"
Requires-Dist: mkdocstrings[python]==0.30.0; extra == "dev-mkdocs"
Requires-Dist: mkdocstrings-python==1.16.12; extra == "dev-mkdocs"
Requires-Dist: frequenz-repo-config[api]==0.13.5; extra == "dev-mkdocs"
Provides-Extra: dev-mypy
Requires-Dist: mypy==1.17.1; extra == "dev-mypy"
Requires-Dist: grpc-stubs==1.53.0.6; extra == "dev-mypy"
Requires-Dist: types-Markdown==3.8.0.20250708; extra == "dev-mypy"
Requires-Dist: frequenz-api-assets[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-mypy"
Provides-Extra: dev-noxfile
Requires-Dist: nox==2025.5.1; extra == "dev-noxfile"
Requires-Dist: frequenz-repo-config[api]==0.13.5; extra == "dev-noxfile"
Provides-Extra: dev-pylint
Requires-Dist: frequenz-api-assets[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-pylint"
Provides-Extra: dev-pytest
Requires-Dist: pytest==8.4.1; extra == "dev-pytest"
Requires-Dist: pylint==3.3.7; extra == "dev-pytest"
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.13.5; extra == "dev-pytest"
Provides-Extra: dev
Requires-Dist: frequenz-api-assets[dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]; extra == "dev"
Dynamic: license-file

# Frequenz Assets API

[![Build Status](https://github.com/frequenz-floss/frequenz-api-assets/actions/workflows/ci.yaml/badge.svg)](https://github.com/frequenz-floss/frequenz-api-assets/actions/workflows/ci.yaml)
[![PyPI Package](https://img.shields.io/pypi/v/frequenz-api-assets)](https://pypi.org/project/frequenz-api-assets/)
[![Docs](https://img.shields.io/badge/docs-latest-informational)](https://frequenz-floss.github.io/frequenz-api-assets/)

## Overview

The Frequenz Platform Assets API allows for the retrieval of platform assets information. Unlike CRUD-centric 
APIs, the focus here is on accessing already registered assets ranging from microgrids and gridpools to 
individual electrical components within these structures, such as sensors and their respective electrical connections.

## Objective

The main objective is to enable the building of intelligent cloud applications that can orchestrate and manage 
microgrids and gridpools for various purposes. This includes discharging batteries in a coordinated manner 
across multiple microgrids, optimizing spot market trading based on real-time grid consumption, and more.

## Key Features

- Asset Retrieval: Provides programmatic access to a wide range of platform assets, including microgrids, 
   gridpools, electrical components, and connections.
- Data-Driven Optimization: Facilitates the development of applications that can read asset information and 
   statuses for real-time decision making.
- Scheduling Insights: Enables applications to understand and adapt to gridpool schedules for improved spot 
   market trading.

## Scope and Limitations

- Retrieval of detailed asset data for various entities such as microgrids, gridpools, and their electrical components.
- Enabling advanced analytics and data-driven decisions for cloud applications.
- Read-Only: The API is designed for data retrieval and doesn't support CRUD operations for assets.
- Dependence on Platform: The quality and timeliness of data are dependent on the capabilities of the underlying platform.

## Target Audience

The API is primarily geared towards cloud application developers focused on building intelligent software 
solutions for orchestrating microgrid operations or facilitating gridpool trading. 

## Contributing

If you want to know how to build this project and contribute to it, please
check out the [Contributing Guide](CONTRIBUTING.md).
