tyba-client 0.4.0__tar.gz → 0.4.2__tar.gz

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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tyba-client
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: A Python API client for the Tyba Public API
5
5
  License: MIT
6
6
  Author: Tyler Nisonoff
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "tyba-client"
3
- version = "0.4.0"
3
+ version = "0.4.2"
4
4
  description = "A Python API client for the Tyba Public API"
5
5
  authors = ["Tyler Nisonoff <tyler@tybaenergy.com>"]
6
6
  license = "MIT"
@@ -29,6 +29,7 @@ boto3 = "^1.28.22"
29
29
  nbsphinx = "^0.9.3"
30
30
  sphinx-rtd-theme = "^2.0.0"
31
31
  sphinx-gallery = "^0.15.0"
32
+ jupyter = "^1.0.0"
32
33
 
33
34
  [build-system]
34
35
  requires = ["poetry-core>=1.0.0"]
@@ -0,0 +1,194 @@
1
+ from datetime import datetime, time
2
+ from typing import List
3
+
4
+
5
+ class Forecast(object):
6
+ def __init__(self, client):
7
+ self.client = client
8
+
9
+ def get(self, route, params=None):
10
+ response = self.client.get(f"forecasts/{route}", params=params)
11
+ response.raise_for_status()
12
+ return response.json()
13
+
14
+ def most_recent(
15
+ self,
16
+ object_name: str,
17
+ product: str,
18
+ start_time: datetime,
19
+ end_time: datetime,
20
+ forecast_type=None,
21
+ predictions_per_hour=None,
22
+ prediction_lead_time_mins=None,
23
+ horizon_mins=None,
24
+ ):
25
+ return self.get(
26
+ "most_recent_forecast",
27
+ params={
28
+ "object_name": object_name,
29
+ "product": product,
30
+ "start_time": start_time,
31
+ "end_time": end_time,
32
+ "forecast_type": forecast_type,
33
+ "predictions_per_hour": predictions_per_hour,
34
+ "prediction_lead_time_mins": prediction_lead_time_mins,
35
+ "horizon_mins": horizon_mins,
36
+ },
37
+ )
38
+
39
+ def most_recent_probabilistic(
40
+ self,
41
+ object_name: str,
42
+ product: str,
43
+ start_time: datetime,
44
+ end_time: datetime,
45
+ quantiles: List[float],
46
+ forecast_type=None,
47
+ predictions_per_hour=None,
48
+ prediction_lead_time_mins=None,
49
+ horizon_mins=None,
50
+
51
+ ):
52
+ return self.get(
53
+ "most_recent_probabilistic_forecast",
54
+ params={
55
+ "object_name": object_name,
56
+ "product": product,
57
+ "start_time": start_time,
58
+ "end_time": end_time,
59
+ "quantiles": quantiles,
60
+ "forecast_type": forecast_type,
61
+ "predictions_per_hour": predictions_per_hour,
62
+ "prediction_lead_time_mins": prediction_lead_time_mins,
63
+ "horizon_mins": horizon_mins,
64
+ },
65
+ )
66
+
67
+ def vintaged(
68
+ self,
69
+ object_name: str,
70
+ product: str,
71
+ start_time: datetime,
72
+ end_time: datetime,
73
+ days_ago: int,
74
+ before_time: time,
75
+ exact_vintage: bool = False,
76
+ forecast_type=None,
77
+ predictions_per_hour=None,
78
+ prediction_lead_time_mins=None,
79
+ horizon_mins=None,
80
+ ):
81
+ return self.get(
82
+ "vintaged_forecast",
83
+ params={
84
+ "object_name": object_name,
85
+ "product": product,
86
+ "start_time": start_time,
87
+ "end_time": end_time,
88
+ "days_ago": days_ago,
89
+ "before_time": before_time,
90
+ "exact_vintage": exact_vintage,
91
+ "forecast_type": forecast_type,
92
+ "predictions_per_hour": predictions_per_hour,
93
+ "prediction_lead_time_mins": prediction_lead_time_mins,
94
+ "horizon_mins": horizon_mins,
95
+ },
96
+ )
97
+
98
+ def vintaged_probabilistic(
99
+ self,
100
+ object_name: str,
101
+ product: str,
102
+ start_time: datetime,
103
+ end_time: datetime,
104
+ quantiles: List[float],
105
+ days_ago: int,
106
+ before_time: time,
107
+ exact_vintage: bool = False,
108
+ forecast_type=None,
109
+ predictions_per_hour=None,
110
+ prediction_lead_time_mins=None,
111
+ horizon_mins=None,
112
+ ):
113
+ return self.get(
114
+ "vintaged_probabilistic_forecast",
115
+ params={
116
+ "object_name": object_name,
117
+ "product": product,
118
+ "start_time": start_time,
119
+ "end_time": end_time,
120
+ "quantiles": quantiles,
121
+ "days_ago": days_ago,
122
+ "before_time": before_time,
123
+ "exact_vintage": exact_vintage,
124
+ "forecast_type": forecast_type,
125
+ "predictions_per_hour": predictions_per_hour,
126
+ "prediction_lead_time_mins": prediction_lead_time_mins,
127
+ "horizon_mins": horizon_mins,
128
+ },
129
+ )
130
+
131
+ def by_vintage(
132
+ self,
133
+ object_name: str,
134
+ product: str,
135
+ vintage_start_time: datetime,
136
+ vintage_end_time: datetime,
137
+ forecast_type=None,
138
+ predictions_per_hour=None,
139
+ prediction_lead_time_mins=None,
140
+ horizon_mins=None,
141
+ ):
142
+ return self.get(
143
+ "forecasts_by_vintage",
144
+ params={
145
+ "object_name": object_name,
146
+ "product": product,
147
+ "start_time": vintage_start_time,
148
+ "end_time": vintage_end_time,
149
+ "forecast_type": forecast_type,
150
+ "predictions_per_hour": predictions_per_hour,
151
+ "prediction_lead_time_mins": prediction_lead_time_mins,
152
+ "horizon_mins": horizon_mins,
153
+ },
154
+ )
155
+
156
+ def by_vintage_probabilistic(
157
+ self,
158
+ object_name: str,
159
+ product: str,
160
+ quantiles: List[float],
161
+ vintage_start_time: datetime,
162
+ vintage_end_time: datetime,
163
+ forecast_type=None,
164
+ predictions_per_hour=None,
165
+ prediction_lead_time_mins=None,
166
+ horizon_mins=None,
167
+ ):
168
+ return self.get(
169
+ "probabilistic_forecasts_by_vintage",
170
+ params={
171
+ "object_name": object_name,
172
+ "product": product,
173
+ "quantiles": quantiles,
174
+ "start_time": vintage_start_time,
175
+ "end_time": vintage_end_time,
176
+ "forecast_type": forecast_type,
177
+ "predictions_per_hour": predictions_per_hour,
178
+ "prediction_lead_time_mins": prediction_lead_time_mins,
179
+ "horizon_mins": horizon_mins,
180
+ },
181
+ )
182
+
183
+ def actuals(
184
+ self, object_name: str, product: str, start_time: datetime, end_time: datetime
185
+ ):
186
+ return self.get(
187
+ "actuals",
188
+ params={
189
+ "object_name": object_name,
190
+ "product": product,
191
+ "start_time": start_time,
192
+ "end_time": end_time,
193
+ },
194
+ )
@@ -622,3 +622,4 @@ class AncillaryService:
622
622
  REGULATION_UP = "Regulation Up"
623
623
  REGULATION_DOWN = "Regulation Down"
624
624
  RESERVES = "Reserves"
625
+ ECRS = "ECRS"
@@ -1,157 +0,0 @@
1
- from datetime import datetime, time
2
- from typing import List
3
-
4
-
5
- class Forecast(object):
6
- def __init__(self, client):
7
- self.client = client
8
-
9
- def get(self, route, params=None):
10
- response = self.client.get(f"forecasts/{route}", params=params)
11
- response.raise_for_status()
12
- return response.json()
13
-
14
- def most_recent(
15
- self,
16
- object_name: str,
17
- product: str,
18
- start_time: datetime,
19
- end_time: datetime,
20
- forecast_type=None,
21
- ):
22
- return self.get(
23
- "most_recent_forecast",
24
- params={
25
- "object_name": object_name,
26
- "product": product,
27
- "start_time": start_time,
28
- "end_time": end_time,
29
- "forecast_type": forecast_type,
30
- },
31
- )
32
-
33
- def most_recent_probabilistic(
34
- self,
35
- object_name: str,
36
- product: str,
37
- start_time: datetime,
38
- end_time: datetime,
39
- quantiles: List[float],
40
- forecast_type=None,
41
- ):
42
- return self.get(
43
- "most_recent_probabilistic_forecast",
44
- params={
45
- "object_name": object_name,
46
- "product": product,
47
- "start_time": start_time,
48
- "end_time": end_time,
49
- "quantiles": quantiles,
50
- "forecast_type": forecast_type,
51
- },
52
- )
53
-
54
- def vintaged(
55
- self,
56
- object_name: str,
57
- product: str,
58
- start_time: datetime,
59
- end_time: datetime,
60
- days_ago: int,
61
- before_time: time,
62
- exact_vintage: bool = False,
63
- forecast_type=None,
64
- ):
65
- return self.get(
66
- "vintaged_forecast",
67
- params={
68
- "object_name": object_name,
69
- "product": product,
70
- "start_time": start_time,
71
- "end_time": end_time,
72
- "days_ago": days_ago,
73
- "before_time": before_time,
74
- "exact_vintage": exact_vintage,
75
- "forecast_type": forecast_type,
76
- },
77
- )
78
-
79
- def vintaged_probabilistic(
80
- self,
81
- object_name: str,
82
- product: str,
83
- start_time: datetime,
84
- end_time: datetime,
85
- quantiles: List[float],
86
- days_ago: int,
87
- before_time: time,
88
- exact_vintage: bool = False,
89
- forecast_type=None,
90
- ):
91
- return self.get(
92
- "vintaged_probabilistic_forecast",
93
- params={
94
- "object_name": object_name,
95
- "product": product,
96
- "start_time": start_time,
97
- "end_time": end_time,
98
- "quantiles": quantiles,
99
- "days_ago": days_ago,
100
- "before_time": before_time,
101
- "exact_vintage": exact_vintage,
102
- "forecast_type": forecast_type,
103
- },
104
- )
105
-
106
- def by_vintage(
107
- self,
108
- object_name: str,
109
- product: str,
110
- vintage_start_time: datetime,
111
- vintage_end_time: datetime,
112
- forecast_type=None,
113
- ):
114
- return self.get(
115
- "forecasts_by_vintage",
116
- params={
117
- "object_name": object_name,
118
- "product": product,
119
- "start_time": vintage_start_time,
120
- "end_time": vintage_end_time,
121
- "forecast_type": forecast_type,
122
- },
123
- )
124
-
125
- def by_vintage_probabilistic(
126
- self,
127
- object_name: str,
128
- product: str,
129
- quantiles: List[float],
130
- vintage_start_time: datetime,
131
- vintage_end_time: datetime,
132
- forecast_type=None,
133
- ):
134
- return self.get(
135
- "probabilistic_forecasts_by_vintage",
136
- params={
137
- "object_name": object_name,
138
- "product": product,
139
- "quantiles": quantiles,
140
- "start_time": vintage_start_time,
141
- "end_time": vintage_end_time,
142
- "forecast_type": forecast_type,
143
- },
144
- )
145
-
146
- def actuals(
147
- self, object_name: str, product: str, start_time: datetime, end_time: datetime
148
- ):
149
- return self.get(
150
- "actuals",
151
- params={
152
- "object_name": object_name,
153
- "product": product,
154
- "start_time": start_time,
155
- "end_time": end_time,
156
- },
157
- )
File without changes
File without changes