captest 0.13.0__py2.py3-none-any.whl → 0.13.2__py2.py3-none-any.whl
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.
- captest/_version.py +3 -3
- captest/capdata.py +6 -6
- captest/io.py +4 -1
- captest/plotting.py +4 -2
- {captest-0.13.0.dist-info → captest-0.13.2.dist-info}/METADATA +71 -58
- captest-0.13.2.dist-info/RECORD +13 -0
- {captest-0.13.0.dist-info → captest-0.13.2.dist-info}/WHEEL +1 -1
- captest-0.13.0.dist-info/RECORD +0 -13
- {captest-0.13.0.dist-info → captest-0.13.2.dist-info/licenses}/LICENSE.txt +0 -0
- {captest-0.13.0.dist-info → captest-0.13.2.dist-info}/top_level.txt +0 -0
captest/_version.py
CHANGED
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "
|
|
11
|
+
"date": "2025-07-17T21:52:17-0500",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "0.13.
|
|
14
|
+
"full-revisionid": "0481b5ec3e414464fb6bf52d9a124a6c272a5deb",
|
|
15
|
+
"version": "0.13.2"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
captest/capdata.py
CHANGED
|
@@ -639,7 +639,7 @@ class ReportingIrradiance(param.Parameterized):
|
|
|
639
639
|
)
|
|
640
640
|
if poa_flt['valid'].sum() == 0:
|
|
641
641
|
self.poa_flt = poa_flt
|
|
642
|
-
self.irr_rc = np.
|
|
642
|
+
self.irr_rc = np.nan
|
|
643
643
|
warnings.warn(
|
|
644
644
|
'No valid reference irradiance found. Try reviewing the min and max '
|
|
645
645
|
'reference irradiance values and the min and max percent below and '
|
|
@@ -704,7 +704,7 @@ class ReportingIrradiance(param.Parameterized):
|
|
|
704
704
|
self.poa_flt['above_count'].reset_index(), ['poa'], ['above_count'],
|
|
705
705
|
label='Count pts above',
|
|
706
706
|
)
|
|
707
|
-
if self.irr_rc is not np.
|
|
707
|
+
if self.irr_rc is not np.nan:
|
|
708
708
|
count_ellipse = hv.Ellipse(
|
|
709
709
|
self.irr_rc,
|
|
710
710
|
self.poa_flt.loc[self.irr_rc, 'below_count'],
|
|
@@ -719,7 +719,7 @@ class ReportingIrradiance(param.Parameterized):
|
|
|
719
719
|
hv.VLine(self.min_ref_irradiance) *
|
|
720
720
|
hv.VLine(self.max_ref_irradiance)
|
|
721
721
|
)
|
|
722
|
-
if self.irr_rc is not np.
|
|
722
|
+
if self.irr_rc is not np.nan:
|
|
723
723
|
perc_ellipse = hv.Ellipse(
|
|
724
724
|
self.irr_rc,
|
|
725
725
|
self.poa_flt.loc[self.irr_rc, 'perc_below'],
|
|
@@ -731,7 +731,7 @@ class ReportingIrradiance(param.Parameterized):
|
|
|
731
731
|
) *
|
|
732
732
|
hv.HLine(self.points_required)
|
|
733
733
|
)
|
|
734
|
-
if self.irr_rc is not np.
|
|
734
|
+
if self.irr_rc is not np.nan:
|
|
735
735
|
total_points_ellipse = hv.Ellipse(
|
|
736
736
|
self.irr_rc,
|
|
737
737
|
self.poa_flt.loc[self.irr_rc, 'total_pts'],
|
|
@@ -744,7 +744,7 @@ class ReportingIrradiance(param.Parameterized):
|
|
|
744
744
|
else:
|
|
745
745
|
ylim_top = self.total_pts + 50
|
|
746
746
|
vl = hv.VLine(self.rc_irr_60th_perc).opts(line_color='gray')
|
|
747
|
-
if self.irr_rc is not np.
|
|
747
|
+
if self.irr_rc is not np.nan:
|
|
748
748
|
rep_cond_plot = (
|
|
749
749
|
(below_count_scatter * above_count_scatter * count_ellipse * vl).opts(ylabel='count points') +
|
|
750
750
|
(perc_below_scatter * perc_ellipse).opts(ylim=(0, 100)) +
|
|
@@ -3145,7 +3145,7 @@ class CapData(object):
|
|
|
3145
3145
|
|
|
3146
3146
|
Time intervals removed are marked with a "1".
|
|
3147
3147
|
Time intervals kept are marked with a "0".
|
|
3148
|
-
Time intervals removed by a previous filter are np.
|
|
3148
|
+
Time intervals removed by a previous filter are np.nan/blank.
|
|
3149
3149
|
Columns/filters are in order they are run from left to right.
|
|
3150
3150
|
The last column labeled "all_filters" shows is True for intervals that were
|
|
3151
3151
|
not removed by any of the filters.
|
captest/io.py
CHANGED
|
@@ -210,7 +210,10 @@ def file_reader(path, **kwargs):
|
|
|
210
210
|
continue
|
|
211
211
|
else:
|
|
212
212
|
break
|
|
213
|
-
data_file.
|
|
213
|
+
if data_file.isna().all().all():
|
|
214
|
+
warnings.warn("There is no data in the file {}".format(path))
|
|
215
|
+
else:
|
|
216
|
+
data_file.dropna(how="all", axis=0, inplace=True)
|
|
214
217
|
if data_file.index.equals(pd.Index(np.arange(len(data_file.index)))):
|
|
215
218
|
kwargs['index_col'] = 1
|
|
216
219
|
data_file = pd.read_csv(
|
captest/plotting.py
CHANGED
|
@@ -181,7 +181,7 @@ def plot_tag(data, tag, width=1500, height=250):
|
|
|
181
181
|
plot = hv.NdOverlay(curves)
|
|
182
182
|
elif len(tag) == 0:
|
|
183
183
|
plot = hv.Curve(pd.DataFrame(
|
|
184
|
-
{'no_data': [np.
|
|
184
|
+
{'no_data': [np.nan] * data.shape[0]},
|
|
185
185
|
index=data.index
|
|
186
186
|
))
|
|
187
187
|
plot.opts(
|
|
@@ -193,7 +193,9 @@ def plot_tag(data, tag, width=1500, height=250):
|
|
|
193
193
|
tools=['hover'],
|
|
194
194
|
yformatter=NumeralTickFormatter(format='0,0'),
|
|
195
195
|
),
|
|
196
|
-
opts.NdOverlay(
|
|
196
|
+
opts.NdOverlay(
|
|
197
|
+
width=width, height=height, legend_position='right', batched=False
|
|
198
|
+
)
|
|
197
199
|
)
|
|
198
200
|
return plot
|
|
199
201
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: captest
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.2
|
|
4
4
|
Summary: Framework and methods to facilitate photovoltaic facility capacity testing following ASTM E2848.
|
|
5
5
|
Home-page: http://github.com/bt-/pvcaptest
|
|
6
6
|
Author: Ben Taylor
|
|
@@ -17,66 +17,79 @@ Classifier: Topic :: Scientific/Engineering
|
|
|
17
17
|
Requires-Python: >=3.8
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: LICENSE.txt
|
|
20
|
-
Requires-Dist: pandas
|
|
21
|
-
Requires-Dist: numpy
|
|
22
|
-
Requires-Dist: python-dateutil
|
|
23
|
-
Requires-Dist: matplotlib
|
|
24
|
-
Requires-Dist: statsmodels
|
|
25
|
-
Requires-Dist: scikit-learn
|
|
26
|
-
Requires-Dist: bokeh
|
|
20
|
+
Requires-Dist: pandas>=1
|
|
21
|
+
Requires-Dist: numpy>=1.13.0
|
|
22
|
+
Requires-Dist: python-dateutil>=2.5
|
|
23
|
+
Requires-Dist: matplotlib>=2
|
|
24
|
+
Requires-Dist: statsmodels>=0.8
|
|
25
|
+
Requires-Dist: scikit-learn>=0.19
|
|
26
|
+
Requires-Dist: bokeh>=3.0.0
|
|
27
27
|
Requires-Dist: colorcet
|
|
28
28
|
Requires-Dist: param
|
|
29
|
-
Provides-Extra: all
|
|
30
|
-
Requires-Dist: build ; extra == 'all'
|
|
31
|
-
Requires-Dist: coveralls ; extra == 'all'
|
|
32
|
-
Requires-Dist: docutils ==0.18.1 ; extra == 'all'
|
|
33
|
-
Requires-Dist: holoviews >=1.14.8 ; extra == 'all'
|
|
34
|
-
Requires-Dist: nbsphinx ==0.9.1 ; extra == 'all'
|
|
35
|
-
Requires-Dist: notebook ; extra == 'all'
|
|
36
|
-
Requires-Dist: openpyxl ; extra == 'all'
|
|
37
|
-
Requires-Dist: panel ; extra == 'all'
|
|
38
|
-
Requires-Dist: pvlib >=0.9.0 ; extra == 'all'
|
|
39
|
-
Requires-Dist: pytest ; extra == 'all'
|
|
40
|
-
Requires-Dist: pytest-cov ; extra == 'all'
|
|
41
|
-
Requires-Dist: pytest-mock ; extra == 'all'
|
|
42
|
-
Requires-Dist: pytest-timeout ; extra == 'all'
|
|
43
|
-
Requires-Dist: recommonmark ==0.7.1 ; extra == 'all'
|
|
44
|
-
Requires-Dist: sphinx ==6.1.3 ; extra == 'all'
|
|
45
|
-
Requires-Dist: sphinx-rtd-theme ==1.2.0 ; extra == 'all'
|
|
46
|
-
Requires-Dist: twine ; extra == 'all'
|
|
47
|
-
Provides-Extra: build
|
|
48
|
-
Requires-Dist: holoviews >=1.14.8 ; extra == 'build'
|
|
49
|
-
Requires-Dist: panel ; extra == 'build'
|
|
50
|
-
Requires-Dist: pvlib >=0.9.0 ; extra == 'build'
|
|
51
|
-
Requires-Dist: openpyxl ; extra == 'build'
|
|
52
|
-
Requires-Dist: build ; extra == 'build'
|
|
53
|
-
Requires-Dist: twine ; extra == 'build'
|
|
54
|
-
Provides-Extra: docs
|
|
55
|
-
Requires-Dist: holoviews >=1.14.8 ; extra == 'docs'
|
|
56
|
-
Requires-Dist: panel ; extra == 'docs'
|
|
57
|
-
Requires-Dist: pvlib >=0.9.0 ; extra == 'docs'
|
|
58
|
-
Requires-Dist: openpyxl ; extra == 'docs'
|
|
59
|
-
Requires-Dist: docutils ==0.18.1 ; extra == 'docs'
|
|
60
|
-
Requires-Dist: nbsphinx ==0.9.1 ; extra == 'docs'
|
|
61
|
-
Requires-Dist: notebook ; extra == 'docs'
|
|
62
|
-
Requires-Dist: recommonmark ==0.7.1 ; extra == 'docs'
|
|
63
|
-
Requires-Dist: sphinx ==6.1.3 ; extra == 'docs'
|
|
64
|
-
Requires-Dist: sphinx-rtd-theme ==1.2.0 ; extra == 'docs'
|
|
65
29
|
Provides-Extra: optional
|
|
66
|
-
Requires-Dist: holoviews
|
|
67
|
-
Requires-Dist: panel
|
|
68
|
-
Requires-Dist: pvlib
|
|
69
|
-
Requires-Dist: openpyxl
|
|
30
|
+
Requires-Dist: holoviews>=1.14.8; extra == "optional"
|
|
31
|
+
Requires-Dist: panel; extra == "optional"
|
|
32
|
+
Requires-Dist: pvlib>=0.9.0; extra == "optional"
|
|
33
|
+
Requires-Dist: openpyxl; extra == "optional"
|
|
70
34
|
Provides-Extra: test
|
|
71
|
-
Requires-Dist: holoviews
|
|
72
|
-
Requires-Dist: panel
|
|
73
|
-
Requires-Dist: pvlib
|
|
74
|
-
Requires-Dist: openpyxl
|
|
75
|
-
Requires-Dist: coveralls
|
|
76
|
-
Requires-Dist: pytest
|
|
77
|
-
Requires-Dist: pytest-cov
|
|
78
|
-
Requires-Dist: pytest-mock
|
|
79
|
-
Requires-Dist: pytest-timeout
|
|
35
|
+
Requires-Dist: holoviews>=1.14.8; extra == "test"
|
|
36
|
+
Requires-Dist: panel; extra == "test"
|
|
37
|
+
Requires-Dist: pvlib>=0.9.0; extra == "test"
|
|
38
|
+
Requires-Dist: openpyxl; extra == "test"
|
|
39
|
+
Requires-Dist: coveralls; extra == "test"
|
|
40
|
+
Requires-Dist: pytest; extra == "test"
|
|
41
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
42
|
+
Requires-Dist: pytest-mock; extra == "test"
|
|
43
|
+
Requires-Dist: pytest-timeout; extra == "test"
|
|
44
|
+
Provides-Extra: build
|
|
45
|
+
Requires-Dist: holoviews>=1.14.8; extra == "build"
|
|
46
|
+
Requires-Dist: panel; extra == "build"
|
|
47
|
+
Requires-Dist: pvlib>=0.9.0; extra == "build"
|
|
48
|
+
Requires-Dist: openpyxl; extra == "build"
|
|
49
|
+
Requires-Dist: build; extra == "build"
|
|
50
|
+
Requires-Dist: twine; extra == "build"
|
|
51
|
+
Provides-Extra: docs
|
|
52
|
+
Requires-Dist: holoviews>=1.14.8; extra == "docs"
|
|
53
|
+
Requires-Dist: panel; extra == "docs"
|
|
54
|
+
Requires-Dist: pvlib>=0.9.0; extra == "docs"
|
|
55
|
+
Requires-Dist: openpyxl; extra == "docs"
|
|
56
|
+
Requires-Dist: docutils==0.18.1; extra == "docs"
|
|
57
|
+
Requires-Dist: nbsphinx==0.9.1; extra == "docs"
|
|
58
|
+
Requires-Dist: notebook; extra == "docs"
|
|
59
|
+
Requires-Dist: recommonmark==0.7.1; extra == "docs"
|
|
60
|
+
Requires-Dist: sphinx==6.1.3; extra == "docs"
|
|
61
|
+
Requires-Dist: sphinx_rtd_theme==1.2.0; extra == "docs"
|
|
62
|
+
Provides-Extra: all
|
|
63
|
+
Requires-Dist: build; extra == "all"
|
|
64
|
+
Requires-Dist: coveralls; extra == "all"
|
|
65
|
+
Requires-Dist: docutils==0.18.1; extra == "all"
|
|
66
|
+
Requires-Dist: holoviews>=1.14.8; extra == "all"
|
|
67
|
+
Requires-Dist: nbsphinx==0.9.1; extra == "all"
|
|
68
|
+
Requires-Dist: notebook; extra == "all"
|
|
69
|
+
Requires-Dist: openpyxl; extra == "all"
|
|
70
|
+
Requires-Dist: panel; extra == "all"
|
|
71
|
+
Requires-Dist: pvlib>=0.9.0; extra == "all"
|
|
72
|
+
Requires-Dist: pytest; extra == "all"
|
|
73
|
+
Requires-Dist: pytest-cov; extra == "all"
|
|
74
|
+
Requires-Dist: pytest-mock; extra == "all"
|
|
75
|
+
Requires-Dist: pytest-timeout; extra == "all"
|
|
76
|
+
Requires-Dist: recommonmark==0.7.1; extra == "all"
|
|
77
|
+
Requires-Dist: sphinx==6.1.3; extra == "all"
|
|
78
|
+
Requires-Dist: sphinx_rtd_theme==1.2.0; extra == "all"
|
|
79
|
+
Requires-Dist: twine; extra == "all"
|
|
80
|
+
Dynamic: author
|
|
81
|
+
Dynamic: author-email
|
|
82
|
+
Dynamic: classifier
|
|
83
|
+
Dynamic: description
|
|
84
|
+
Dynamic: description-content-type
|
|
85
|
+
Dynamic: home-page
|
|
86
|
+
Dynamic: license
|
|
87
|
+
Dynamic: license-file
|
|
88
|
+
Dynamic: platform
|
|
89
|
+
Dynamic: provides-extra
|
|
90
|
+
Dynamic: requires-dist
|
|
91
|
+
Dynamic: requires-python
|
|
92
|
+
Dynamic: summary
|
|
80
93
|
|
|
81
94
|
pvcaptest
|
|
82
95
|
==================
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
captest/__init__.py,sha256=7w9C1xdZ6UMK3jfcKDnCRkXZnedtlGABn3ngNzhQlQw,342
|
|
2
|
+
captest/_version.py,sha256=1EALYewb9XR1lnsOCl3vUW72MTEtT3tYzuyVGtPW_2k,498
|
|
3
|
+
captest/capdata.py,sha256=aLjjZKlPUd7Mj2gKh4ySCGdAgo1oY6xWrUu3KOqaMuY,119972
|
|
4
|
+
captest/columngroups.py,sha256=dlTBuLAcZg-kJTIRIgbmAZ6BewteNzG4q5jZMlq31Wo,4475
|
|
5
|
+
captest/io.py,sha256=VVrDePucPn5Jyir3iNdFxlMBYTeCxkeGjmcoJlv_B9c,21676
|
|
6
|
+
captest/plotting.py,sha256=HspMgJHUHSCEGtAprZ5yUEq0PJu6Ma-DiTikRXhJvXs,15926
|
|
7
|
+
captest/prtest.py,sha256=hhqF0tqsW-mB12nQYi8QmGH0G-aBVbYpTQP_BEZJFIA,13835
|
|
8
|
+
captest/util.py,sha256=QVbmxs_rjHtaMd3oQQURR5_0fd9spmdA9UsUqjQrmEM,4008
|
|
9
|
+
captest-0.13.2.dist-info/licenses/LICENSE.txt,sha256=PZDXVBJdcB8_m9vxoYiQZSzTuzm0YjikdhtvRwfCSMs,1067
|
|
10
|
+
captest-0.13.2.dist-info/METADATA,sha256=4jhWjo-3MCPlUqSv1of40rGcV-8OuhT5XkPx2wqpEQY,7556
|
|
11
|
+
captest-0.13.2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
12
|
+
captest-0.13.2.dist-info/top_level.txt,sha256=3krgWr0q1Z09eRlfWOGNNx1mXBaWvBvJF26xDWtmznc,8
|
|
13
|
+
captest-0.13.2.dist-info/RECORD,,
|
captest-0.13.0.dist-info/RECORD
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
captest/__init__.py,sha256=7w9C1xdZ6UMK3jfcKDnCRkXZnedtlGABn3ngNzhQlQw,342
|
|
2
|
-
captest/_version.py,sha256=oNU-WceITboDQ0FEQhD-GzRVxVxo67ipe-DaUEsR8qc,498
|
|
3
|
-
captest/capdata.py,sha256=_5EnJ793VB738NKQsNFZJSm0nxlnlH6z7jRgB4rChH8,119972
|
|
4
|
-
captest/columngroups.py,sha256=dlTBuLAcZg-kJTIRIgbmAZ6BewteNzG4q5jZMlq31Wo,4475
|
|
5
|
-
captest/io.py,sha256=HBH2JFZJvdaYvg1aQQs50HBDlbG9_-D57BGMVp0T1ag,21555
|
|
6
|
-
captest/plotting.py,sha256=EoNCZTdARRbM0YFE93yphGzRG7vJv3gK6dEAMnbCnGI,15889
|
|
7
|
-
captest/prtest.py,sha256=hhqF0tqsW-mB12nQYi8QmGH0G-aBVbYpTQP_BEZJFIA,13835
|
|
8
|
-
captest/util.py,sha256=QVbmxs_rjHtaMd3oQQURR5_0fd9spmdA9UsUqjQrmEM,4008
|
|
9
|
-
captest-0.13.0.dist-info/LICENSE.txt,sha256=PZDXVBJdcB8_m9vxoYiQZSzTuzm0YjikdhtvRwfCSMs,1067
|
|
10
|
-
captest-0.13.0.dist-info/METADATA,sha256=q_CMRt89l0VM6ECt7WTdFDM2Og0uIxD8ab5oeKjUxsU,7351
|
|
11
|
-
captest-0.13.0.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
|
12
|
-
captest-0.13.0.dist-info/top_level.txt,sha256=3krgWr0q1Z09eRlfWOGNNx1mXBaWvBvJF26xDWtmznc,8
|
|
13
|
-
captest-0.13.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|