Skip to content

Commit

Permalink
Merge branch 'release/1.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
JamieTaylor-TUOS committed Feb 15, 2024
2 parents 67828f1 + 2bc98a5 commit d926440
Show file tree
Hide file tree
Showing 31 changed files with 523 additions and 458 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.7", "3.8", "3.9", "3.10" ]
python-version: [ "3.10", "3.11", "3.12" ]

steps:
- uses: actions/checkout@v2
Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
# PV_Live
A Python implementation of the PV_Live web API. See https://www.solar.sheffield.ac.uk/pvlive/

**Latest Version: 1.1.0**

**New! Updated 2023-05-02 to provide support for proxy connections.**
**Latest Version: 1.2.2**

## About this repository

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

def test_day_peak(self):
"""Tests the day_peak function."""
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0)
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="pes", entity_id=0)
self.check_pes_tuple(data)
self.check_pes_tuple_dtypes(data)
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="pes", entity_id=0, dataframe=True)
data = self.api.day_peak(d=date(2023, 12, 1), 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(2022, 7, 19),
data = self.api.day_peak(d=date(2023, 12, 1),
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(2022, 7, 19), entity_type="pes", entity_id=0, period=5)
data = self.api.day_peak(d=date(2023, 12, 1), 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(2022, 7, 19), entity_type="pes", entity_id=0, period=5,
data = self.api.day_peak(d=date(2023, 12, 1), 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(2022, 7, 19),
data = self.api.day_peak(d=date(2023, 12, 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)
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="gsp", entity_id=54)
data = self.api.day_peak(d=date(2023, 12, 1), entity_type="gsp", entity_id=54)
self.check_gsp_tuple(data)
self.check_gsp_tuple_dtypes(data)
data = self.api.day_peak(d=date(2022, 7, 19), entity_type="gsp", entity_id=54,
data = self.api.day_peak(d=date(2023, 12, 1), 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(2022, 7, 19), entity_type="pes", entity_id=0)
data = self.api.day_energy(d=date(2023, 12, 1), entity_type="pes", entity_id=0)
assert isinstance(data, float)

def test_between(self):
"""Test the between function."""
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 0, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2023, 12, 1, 12, 20, tzinfo=pytz.utc),
end=datetime(2023, 12, 1, 14, 0, tzinfo=pytz.utc),
entity_type="pes", entity_id=0)
with self.subTest():
assert isinstance(data, list)
data = self.api.between(start=datetime(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 0, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2023, 12, 1, 12, 20, tzinfo=pytz.utc),
end=datetime(2023, 12, 1, 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.between(start=datetime(2022, 7, 19, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 00, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2023, 12, 1, tzinfo=pytz.utc),
end=datetime(2023, 12, 1, 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(2022, 7, 19, 12, 20, tzinfo=pytz.utc),
end=datetime(2022, 7, 19, 14, 00, tzinfo=pytz.utc),
data = self.api.between(start=datetime(2023, 12, 1, 12, 20, tzinfo=pytz.utc),
end=datetime(2023, 12, 1, 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)

def test_at_time(self):
"""Test the at_time function."""
data = self.api.at_time(dt=datetime(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(dt=datetime(2023, 12, 1, 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(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2023, 12, 1, 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(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2023, 12, 1, 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(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(dt=datetime(2023, 12, 1, 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(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2023, 12, 1, 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(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="pes",
data = self.api.at_time(datetime(2023, 12, 1, 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(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
data = self.api.at_time(dt=datetime(2023, 12, 1, 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(2022, 7, 19, 12, 35, tzinfo=pytz.utc), entity_type="gsp",
data = self.api.at_time(datetime(2023, 12, 1, 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/index.doctree
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: d41206f947f9d5f44ca302d21f611ecd
config: 971e8579e9e318c2d31a6c3345838f85
tags: 645f666f9bcd5a90fca523b33c5a78b7
22 changes: 12 additions & 10 deletions docs/build/html/_modules/index.html
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &mdash; PV_Live API 1.1.0 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<title>Overview: module code &mdash; PV_Live API 1.2.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />


<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->

<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=fd7cadf9"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
Expand All @@ -32,7 +34,7 @@
PV_Live API
</a>
<div class="version">
1.1.0
1.2.2
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
Expand Down
Loading

0 comments on commit d926440

Please sign in to comment.