Skip to content

Commit 204bf03

Browse files
Merge pull request #206 from geo-engine/esg_usage
add example for data usage
2 parents f361b12 + 3caf4e1 commit 204bf03

File tree

4 files changed

+400
-2
lines changed

4 files changed

+400
-2
lines changed

examples/data_usage.ipynb

Lines changed: 357 additions & 0 deletions
Large diffs are not rendered by default.

geoengine/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from geoengine_openapi_client.exceptions import BadRequestException, OpenApiException, ApiTypeError, ApiValueError, \
88
ApiKeyError, ApiAttributeError, ApiException, NotFoundException
9+
from geoengine_openapi_client import UsageSummaryGranularity
910
from .auth import Session, get_session, initialize, reset
1011
from .colorizer import Colorizer, ColorBreakpoint, LinearGradientColorizer, PaletteColorizer, \
1112
LogarithmicGradientColorizer
@@ -30,7 +31,8 @@
3031
MultiBandRasterColorizer
3132

3233
from .util import clamp_datetime_ms_ns
33-
from .workflow import WorkflowId, Workflow, workflow_by_id, register_workflow, get_quota, update_quota
34+
from .workflow import WorkflowId, Workflow, workflow_by_id, register_workflow, get_quota, update_quota, data_usage, \
35+
data_usage_summary
3436
from .raster import RasterTile2D
3537
from .raster_workflow_rio_writer import RasterWorkflowRioWriter
3638

geoengine/workflow.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -967,3 +967,42 @@ def update_quota(user_id: UUID, new_available_quota: int, timeout: int = 60) ->
967967
),
968968
_request_timeout=timeout
969969
)
970+
971+
972+
def data_usage(offset: int = 0, limit: int = 10) -> List[geoengine_openapi_client.DataUsage]:
973+
'''
974+
Get data usage
975+
'''
976+
977+
session = get_session()
978+
979+
with geoengine_openapi_client.ApiClient(session.configuration) as api_client:
980+
user_api = geoengine_openapi_client.UserApi(api_client)
981+
response = user_api.data_usage_handler(offset=offset, limit=limit)
982+
983+
# create dataframe from response
984+
usage_dicts = [data_usage.dict(by_alias=True) for data_usage in response]
985+
df = pd.DataFrame(usage_dicts)
986+
987+
return df
988+
989+
990+
def data_usage_summary(granularity: geoengine_openapi_client.UsageSummaryGranularity,
991+
data: Optional[str] = None,
992+
offset: int = 0, limit: int = 10) -> pd.DataFrame:
993+
'''
994+
Get data usage summary
995+
'''
996+
997+
session = get_session()
998+
999+
with geoengine_openapi_client.ApiClient(session.configuration) as api_client:
1000+
user_api = geoengine_openapi_client.UserApi(api_client)
1001+
response = user_api.data_usage_summary_handler(data=data, granularity=granularity,
1002+
offset=offset, limit=limit)
1003+
1004+
# create dataframe from response
1005+
usage_dicts = [data_usage.dict(by_alias=True) for data_usage in response]
1006+
df = pd.DataFrame(usage_dicts)
1007+
1008+
return df

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package_dir =
1818
packages = find:
1919
python_requires = >=3.9
2020
install_requires =
21-
geoengine-openapi-client == 0.0.17
21+
geoengine-openapi-client == 0.0.18
2222
geopandas >=0.9,<0.15
2323
matplotlib >=3.5,<3.8
2424
numpy >=1.21,<2

0 commit comments

Comments
 (0)