tyba-client 0.4.0__tar.gz → 0.4.1__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.1
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.1"
4
4
  description = "A Python API client for the Tyba Public API"
5
5
  authors = ["Tyler Nisonoff <tyler@tybaenergy.com>"]
6
6
  license = "MIT"
@@ -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
+ )
@@ -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