Skip to content

Commit b1a61b2

Browse files
Merge pull request #29 from SheffieldSolar/feature/28-update-base-url
updated base URL to api.solar.sheffield.ac.uk/...
2 parents 67828f1 + 2f492a1 commit b1a61b2

File tree

3 files changed

+28
-28
lines changed

3 files changed

+28
-28
lines changed

.github/workflows/python-app.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
python-version: [ "3.7", "3.8", "3.9", "3.10" ]
14+
python-version: [ "3.10", "3.11", "3.12" ]
1515

1616
steps:
1717
- uses: actions/checkout@v2

Tests/test_pvlive_api.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -125,95 +125,95 @@ def test_latest(self):
125125

126126
def test_day_peak(self):
127127
"""Tests the day_peak function."""
128-
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0)
128+
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="pes", entity_id=0)
129129
self.check_pes_tuple(data)
130130
self.check_pes_tuple_dtypes(data)
131-
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0, dataframe=True)
131+
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="pes", entity_id=0, dataframe=True)
132132
self.check_df_columns(data)
133133
self.check_df_dtypes(data)
134-
data = self.api.day_peak(d=date(2022, 7, 19),
134+
data = self.api.day_peak(d=date(2023, 12, 1),
135135
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
136136
entity_type="pes", entity_id=0, dataframe=True)
137-
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0, period=5)
137+
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="pes", entity_id=0, period=5)
138138
self.check_pes_tuple(data)
139139
self.check_pes_tuple_dtypes(data)
140-
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0, period=5,
140+
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="pes", entity_id=0, period=5,
141141
dataframe=True)
142142
self.check_df_columns(data)
143143
self.check_df_dtypes(data)
144-
data = self.api.day_peak(d=date(2022, 7, 19),
144+
data = self.api.day_peak(d=date(2023, 12, 1),
145145
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
146146
entity_type="pes", entity_id=0, period=5, dataframe=True)
147147
self.check_df_dtypes(data)
148-
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="gsp", entity_id=54)
148+
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="gsp", entity_id=54)
149149
self.check_gsp_tuple(data)
150150
self.check_gsp_tuple_dtypes(data)
151-
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="gsp", entity_id=54,
151+
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="gsp", entity_id=54,
152152
dataframe=True)
153153
self.check_df_columns(data)
154154
self.check_df_dtypes(data)
155155

156156
def test_day_energy(self):
157157
"""Tests the day_energy function."""
158-
data = self.api.day_energy(d=date(2022, 7, 19), entity_type="pes", entity_id=0)
158+
data = self.api.day_energy(d=date(2023, 12, 1), entity_type="pes", entity_id=0)
159159
assert isinstance(data, float)
160160

161161
def test_between(self):
162162
"""Test the between function."""
163-
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
164-
end=datetime(2022, 7, 19, 14, 0, tzinfo=pytz.utc),
163+
data = self.api.between(start=datetime(2023, 12, 1, 12, 20, tzinfo=pytz.utc),
164+
end=datetime(2023, 12, 1, 14, 0, tzinfo=pytz.utc),
165165
entity_type="pes", entity_id=0)
166166
with self.subTest():
167167
assert isinstance(data, list)
168-
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
169-
end=datetime(2022, 7, 19, 14, 0, tzinfo=pytz.utc),
168+
data = self.api.between(start=datetime(2023, 12, 1, 12, 20, tzinfo=pytz.utc),
169+
end=datetime(2023, 12, 1, 14, 0, tzinfo=pytz.utc),
170170
entity_type="pes", entity_id=0, dataframe=True)
171171
self.check_df_columns(data)
172172
self.check_df_dtypes(data)
173-
data = self.api.between(start=datetime(2022, 7, 19, tzinfo=pytz.utc),
174-
end=datetime(2022, 7, 19, 14, 00, tzinfo=pytz.utc),
173+
data = self.api.between(start=datetime(2023, 12, 1, tzinfo=pytz.utc),
174+
end=datetime(2023, 12, 1, 14, 00, tzinfo=pytz.utc),
175175
entity_type="pes", entity_id=0, period=5)
176176
with self.subTest():
177177
assert isinstance(data, list)
178-
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
179-
end=datetime(2022, 7, 19, 14, 00, tzinfo=pytz.utc),
178+
data = self.api.between(start=datetime(2023, 12, 1, 12, 20, tzinfo=pytz.utc),
179+
end=datetime(2023, 12, 1, 14, 00, tzinfo=pytz.utc),
180180
entity_type="pes", entity_id=0, period=5, dataframe=True)
181181
self.check_df_columns(data)
182182
self.check_df_dtypes(data)
183183

184184
def test_at_time(self):
185185
"""Test the at_time function."""
186-
data = self.api.at_time(dt=datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
186+
data = self.api.at_time(dt=datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
187187
entity_id=0)
188188
self.check_pes_tuple(data)
189189
self.check_pes_tuple_dtypes(data)
190-
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
190+
data = self.api.at_time(datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
191191
entity_id=0, dataframe=True)
192192
self.check_df_columns(data)
193193
self.check_df_dtypes(data)
194-
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
194+
data = self.api.at_time(datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
195195
entity_id=0,
196196
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
197197
dataframe=True)
198198
self.check_df_dtypes(data)
199-
data = self.api.at_time(dt=datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
199+
data = self.api.at_time(dt=datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
200200
entity_id=0, period=5)
201201
self.check_pes_tuple(data)
202202
self.check_pes_tuple_dtypes(data)
203-
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
203+
data = self.api.at_time(datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
204204
entity_id=0, period=5, dataframe=True)
205205
self.check_df_columns(data)
206206
self.check_df_dtypes(data)
207-
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
207+
data = self.api.at_time(datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
208208
entity_id=0,
209209
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
210210
period=5, dataframe=True)
211211
self.check_df_dtypes(data)
212-
data = self.api.at_time(dt=datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
212+
data = self.api.at_time(dt=datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
213213
entity_id=26)
214214
self.check_gsp_tuple(data)
215215
self.check_gsp_tuple_dtypes(data)
216-
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
216+
data = self.api.at_time(datetime(2023, 12, 1, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
217217
entity_id=26, dataframe=True)
218218
self.check_df_columns(data)
219219
self.check_df_dtypes(data)

pvlive_api/pvlive.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class PVLive:
4747
{"http": "<address>", "https": "<address>"}
4848
"""
4949
def __init__(self, retries: int = 3, proxies: Optional[Dict] = None):
50-
self.base_url = "https://api0.solar.sheffield.ac.uk/pvlive/api/v4/"
50+
self.base_url = "https://api.solar.sheffield.ac.uk/pvlive/api/v4"
5151
self.max_range = {"national": timedelta(days=365), "regional": timedelta(days=30)}
5252
self.retries = retries
5353
self.proxies = proxies
@@ -363,7 +363,7 @@ def _convert_tuple_to_df(self, data, columns):
363363

364364
def _build_url(self, entity_type, entity_id, params):
365365
"""Construct the appropriate URL for a given set of parameters."""
366-
base_url = f"{self.base_url}{entity_type}/{entity_id}"
366+
base_url = f"{self.base_url}/{entity_type}/{entity_id}"
367367
url = base_url + "?" + "&".join(["{}={}".format(k, params[k]) for k in params])
368368
return url
369369

0 commit comments

Comments
 (0)