tyba-client 0.4.16__py3-none-any.whl → 0.4.18__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of tyba-client might be problematic. Click here for more details.

tyba_client/operations.py CHANGED
@@ -3,6 +3,8 @@ import json
3
3
  from datetime import date
4
4
  from typing import Optional, Literal
5
5
 
6
+ from tyba_client.models import ValidationError
7
+
6
8
 
7
9
  class Operations(object):
8
10
  def __init__(self, client):
@@ -21,59 +23,91 @@ class Operations(object):
21
23
  self,
22
24
  start_date: date,
23
25
  end_date: date,
24
- asset_name: str,
26
+ asset_name: str | None,
27
+ display_name: str | None = None
25
28
  ):
26
- return self.get(
27
- "internal_api/performance_report",
28
- params={
29
- "start_date": start_date,
30
- "end_date": end_date,
31
- "asset_name": asset_name,
32
- },
33
- )
29
+ if not (asset_name or display_name):
30
+ raise ValidationError("Must provide either 'asset_name' or 'display_name'.")
31
+
32
+ params = {
33
+ "start_date": start_date,
34
+ "end_date": end_date
35
+ }
36
+
37
+ if asset_name:
38
+ params["asset_name"] = asset_name
39
+ else:
40
+ params["asset_display_name"] = display_name
41
+
42
+ return self.get("internal_api/performance_report", params=params)
34
43
 
35
44
  def da_snapshot(
36
45
  self,
37
46
  start_date: date,
38
47
  end_date: date,
39
- asset_name: str,
48
+ asset_name: str | None,
49
+ display_name: str | None = None
40
50
  ):
51
+ if not (asset_name or display_name):
52
+ raise ValidationError("Must provide either 'asset_name' or 'display_name'.")
53
+ params= {
54
+ "start_date": start_date,
55
+ "end_date": end_date,
56
+ }
57
+ if asset_name:
58
+ params["asset_name"] = asset_name
59
+ else:
60
+ params["asset_display_name"] = display_name
61
+
62
+
41
63
  return self.get(
42
64
  "internal_api/da_snapshot",
43
- params={
44
- "start_date": start_date,
45
- "end_date": end_date,
46
- "asset_name": asset_name,
47
- },
65
+ params=params,
48
66
  )
49
67
 
50
68
  def telemetry(
51
69
  self,
52
70
  start_date: date,
53
71
  end_date: date,
54
- asset_name: str,
72
+ asset_name: str | None,
55
73
  interval_mins: int,
56
74
  metrics: list[str],
57
75
  solar_asset_telemetry: bool = False,
76
+ display_name: str | None = None
58
77
  ):
59
- return self.get(
60
- "internal_api/telemetry",
61
- params={
78
+ if not (asset_name or display_name):
79
+ raise ValidationError("Must provide either 'asset_name' or 'display_name'.")
80
+ params= {
62
81
  "start_date": start_date,
63
82
  "end_date": end_date,
64
- "asset_name": asset_name,
65
83
  "interval_mins": interval_mins,
66
84
  "metrics": metrics,
67
85
  "solar_asset_telemetry": solar_asset_telemetry,
68
- },
69
- )
86
+ }
87
+ if asset_name:
88
+ params["asset_name"] = asset_name
89
+ else:
90
+ params["asset_display_name"] = display_name
91
+
92
+ return self.get(
93
+ "internal_api/telemetry",
94
+ params=params,
95
+ )
70
96
 
71
97
  def asset_details(
72
98
  self,
73
- asset_name: str,
99
+ asset_name: str | None,
74
100
  date: Optional[datetime.date] = None,
101
+ display_name: str | None = None
75
102
  ):
76
- params = {"asset_name": asset_name}
103
+ if not (asset_name or display_name):
104
+ raise ValidationError("Must provide either 'asset_name' or 'display_name'.")
105
+ params= {}
106
+ if asset_name:
107
+ params["asset_name"] = asset_name
108
+ else:
109
+ params["asset_display_name"] = display_name
110
+
77
111
  if date is not None:
78
112
  params["date"] = date
79
113
  return self.get("internal_api/asset_details", params=params)
@@ -112,7 +146,7 @@ class Operations(object):
112
146
  }
113
147
  case "single_day":
114
148
  assumption["data"] = {
115
- "aggregation": "single_day_hourly",
149
+ "aggregation": "single_day",
116
150
  "values": values,
117
151
  "date": date
118
152
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: tyba-client
3
- Version: 0.4.16
3
+ Version: 0.4.18
4
4
  Summary: A Python API client for the Tyba Public API
5
5
  License: MIT
6
6
  Author: Tyler Nisonoff
@@ -3,10 +3,10 @@ tyba_client/client.py,sha256=RAvjZkjWDDeY4eJXD2oELF4E1DOa02AqAcvWftsxISY,23295
3
3
  tyba_client/forecast.py,sha256=P9GuKPrTCQpdxatSPCck5dezfMIe7otCjOiylyPVh-s,8383
4
4
  tyba_client/io.py,sha256=0FVRtUjSDzyWYBvIMSJH7bCclCRqD2Y-pbcsJ-Ufyo0,6226
5
5
  tyba_client/models.py,sha256=NOo39qStMkWBhfLPkUu37MaKMe3E2yFc5KAzUnFy96M,17569
6
- tyba_client/operations.py,sha256=cOAyeV2vz_6FEY4jlOPsMNLmJ8TvIaZgfyYJjMZEejg,4175
6
+ tyba_client/operations.py,sha256=j03o3hMffnUttRzxqiGx3qUonCplbI6UENK2W-dz1vY,5390
7
7
  tyba_client/solar_resource.py,sha256=0Jte2cZpE-USHeW-qac4AN1mI2tmrC-VSahnbs4v3Bs,3683
8
8
  tyba_client/utils.py,sha256=n4tUBGlQIwxbLqJcQRiAIbIJA0DaLSjbAxakhukqaeE,876
9
- tyba_client-0.4.16.dist-info/LICENSE,sha256=LbMfEdjEK-IRzvCfdEBhn9UCANze0Rc7hWrQTEj_xvU,1079
10
- tyba_client-0.4.16.dist-info/METADATA,sha256=v4flCDkfvS6JTnCAEEsNmVkywi0FFNJ5MImlCPtDgyE,1324
11
- tyba_client-0.4.16.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
12
- tyba_client-0.4.16.dist-info/RECORD,,
9
+ tyba_client-0.4.18.dist-info/LICENSE,sha256=LbMfEdjEK-IRzvCfdEBhn9UCANze0Rc7hWrQTEj_xvU,1079
10
+ tyba_client-0.4.18.dist-info/METADATA,sha256=GW_akUmZaFqFqM6bajA_0GXOFf2LFcPzho7m1It-A60,1324
11
+ tyba_client-0.4.18.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
12
+ tyba_client-0.4.18.dist-info/RECORD,,