Skip to content

Commit

Permalink
Merge pull request #15 from SheffieldSolar/v3_to_v4
Browse files Browse the repository at this point in the history
v0.11
  • Loading branch information
JamieTaylor-TUOS committed Jul 19, 2022
2 parents b161093 + dd93404 commit 8c200c7
Show file tree
Hide file tree
Showing 17 changed files with 96 additions and 106 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ RUN apt-get -qq update && apt-get -qq install -y \
wget \
> /dev/null

RUN pip install --no-cache-dir git+https://github.com/SheffieldSolar/PV_Live-API.git@0.10 > /dev/null
RUN pip install --no-cache-dir git+https://github.com/SheffieldSolar/PV_Live-API.git@0.11 > /dev/null

#RUN pip install --no-cache-dir -r /pv_live/requirements.txt > /dev/null
#COPY . /pv_live/
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
# PV_Live
A Python implementation of the PV_Live web API. See https://www.solar.sheffield.ac.uk/pvlive/

**Latest Version: 0.10**
**Latest Version: 0.11**

**New! Updated 2021-09-09 to include support for accessing 5 minutely PV_Live outturns.**
**New! Updated 2022-07-19 to use the v4 PV_Live API.**

## About this repository

Expand Down
58 changes: 25 additions & 33 deletions Tests/test_pvlive_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,103 +125,95 @@ def test_latest(self):

def test_day_peak(self):
"""Tests the day_peak function."""
data = self.api.day_peak(d=date(2018, 6, 3), entity_type="pes", entity_id=0)
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0)
self.check_pes_tuple(data)
self.check_pes_tuple_dtypes(data)
data = self.api.day_peak(d=date(2018, 6, 3), entity_type="pes", entity_id=0, dataframe=True)
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0, dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)
data = self.api.day_peak(d=date(2018, 6, 3),
data = self.api.day_peak(d=date(2022, 7, 19),
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
entity_type="pes", entity_id=0, dataframe=True)
data = self.api.day_peak(d=date(2021, 5, 1), entity_type="pes", entity_id=0, period=5)
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0, period=5)
self.check_pes_tuple(data)
self.check_pes_tuple_dtypes(data)
data = self.api.day_peak(d=date(2021, 5, 1), entity_type="pes", entity_id=0, period=5,
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0, period=5,
dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)
data = self.api.day_peak(d=date(2021, 5, 1),
data = self.api.day_peak(d=date(2022, 7, 19),
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
entity_type="pes", entity_id=0, period=5, dataframe=True)
self.check_df_dtypes(data)
data = self.api.day_peak(d=date(2018, 6, 3), entity_type="gsp", entity_id=54)
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="gsp", entity_id=54)
self.check_gsp_tuple(data)
self.check_gsp_tuple_dtypes(data)
data = self.api.day_peak(d=date(2018, 6, 3), entity_type="gsp", entity_id=54,
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="gsp", entity_id=54,
dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)

def test_day_energy(self):
"""Tests the day_energy function."""
data = self.api.day_energy(d=date(2018, 6, 3), entity_type="pes", entity_id=0)
data = self.api.day_energy(d=date(2022, 7, 19), entity_type="pes", entity_id=0)
assert isinstance(data, float)

def test_between(self):
"""Test the between function."""
data = self.api.between(start=datetime(2018, 7, 3, 12, 20, tzinfo=pytz.utc),
end=datetime(2018, 7, 3, 14, 00, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 0, tzinfo=pytz.utc),
entity_type="pes", entity_id=0)
with self.subTest():
assert isinstance(data, list)
data = self.api.between(start=datetime(2018, 7, 4, 12, 20, tzinfo=pytz.utc),
end=datetime(2018, 7, 5, 14, 00, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 0, tzinfo=pytz.utc),
entity_type="pes", entity_id=0, dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)
data = self.api.day_peak(d=date(2018, 6, 3),
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
entity_type="pes", entity_id=0, dataframe=True)
self.check_df_dtypes(data)
data = self.api.between(start=datetime(2021, 5, 1, tzinfo=pytz.utc),
end=datetime(2021, 5, 1, 14, 00, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2022, 7, 19, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 00, tzinfo=pytz.utc),
entity_type="pes", entity_id=0, period=5)
with self.subTest():
assert isinstance(data, list)
data = self.api.between(start=datetime(2021, 5, 1, 12, 20, tzinfo=pytz.utc),
end=datetime(2021, 5, 1, 14, 00, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 00, tzinfo=pytz.utc),
entity_type="pes", entity_id=0, period=5, dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)
data = self.api.day_peak(d=date(2021, 5, 1),
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
entity_type="pes", entity_id=0, period=5, dataframe=True)
self.check_df_dtypes(data)

def test_at_time(self):
"""Test the at_time function."""
data = self.api.at_time(dt=datetime(2018, 6, 3, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(dt=datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
entity_id=0)
self.check_pes_tuple(data)
self.check_pes_tuple_dtypes(data)
data = self.api.at_time(datetime(2018, 6, 3, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
entity_id=0, dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)
data = self.api.at_time(datetime(2018, 7, 3, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
entity_id=0,
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
dataframe=True)
self.check_df_dtypes(data)
data = self.api.at_time(dt=datetime(2021, 5, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(dt=datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
entity_id=0, period=5)
self.check_pes_tuple(data)
self.check_pes_tuple_dtypes(data)
data = self.api.at_time(datetime(2021, 5, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
entity_id=0, period=5, dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)
data = self.api.at_time(datetime(2021, 5, 1, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
entity_id=0,
extra_fields="ucl_mw,lcl_mw,installedcapacity_mwp,stats_error",
period=5, dataframe=True)
self.check_df_dtypes(data)
data = self.api.at_time(dt=datetime(2018, 6, 3, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
data = self.api.at_time(dt=datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
entity_id=26)
self.check_gsp_tuple(data)
self.check_gsp_tuple_dtypes(data)
data = self.api.at_time(datetime(2018, 6, 3, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
data = self.api.at_time(datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
entity_id=26, dataframe=True)
self.check_df_columns(data)
self.check_df_dtypes(data)
Expand Down
Binary file modified docs/build/doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/build/doctrees/modules.doctree
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 63562d0c06e8115eb2c773d0b286b9a2
config: cb2a6bc7fffba35f31ac94855737b628
tags: 645f666f9bcd5a90fca523b33c5a78b7
2 changes: 1 addition & 1 deletion docs/build/html/_static/documentation_options.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '0.10',
VERSION: '0.11',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
BUILDER: 'html',
Expand Down
6 changes: 3 additions & 3 deletions docs/build/html/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; PV_Live API 0.10 documentation</title>
<title>Index &#8212; PV_Live API 0.11 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/classic.css" />

Expand All @@ -26,7 +26,7 @@ <h3>Navigation</h3>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PV_Live API 0.10 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PV_Live API 0.11 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Index</a></li>
</ul>
</div>
Expand Down Expand Up @@ -153,7 +153,7 @@ <h3>Navigation</h3>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PV_Live API 0.10 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PV_Live API 0.11 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Index</a></li>
</ul>
</div>
Expand Down
6 changes: 3 additions & 3 deletions docs/build/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />

<title>Welcome to PV_Live API’s documentation! &#8212; PV_Live API 0.10 documentation</title>
<title>Welcome to PV_Live API’s documentation! &#8212; PV_Live API 0.11 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/classic.css" />

Expand All @@ -31,7 +31,7 @@ <h3>Navigation</h3>
<li class="right" >
<a href="modules.html" title="Modules"
accesskey="N">next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">PV_Live API 0.10 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="#">PV_Live API 0.11 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Welcome to PV_Live API’s documentation!</a></li>
</ul>
</div>
Expand Down Expand Up @@ -112,7 +112,7 @@ <h3>Navigation</h3>
<li class="right" >
<a href="modules.html" title="Modules"
>next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">PV_Live API 0.10 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="#">PV_Live API 0.11 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Welcome to PV_Live API’s documentation!</a></li>
</ul>
</div>
Expand Down
Loading

0 comments on commit 8c200c7

Please sign in to comment.