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 CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-05-05T21:46:58-0500",
11
+ "date": "2025-07-17T21:52:17-0500",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "003e2a96d2972e7b247c802790262dac044aa853",
15
- "version": "0.13.0"
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.NaN
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.NaN:
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.NaN:
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.NaN:
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.NaN:
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.NaN/blank.
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.dropna(how="all", axis=0, inplace=True)
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.NaN] * data.shape[0]},
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(width=width, height=height, legend_position='right')
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
1
+ Metadata-Version: 2.4
2
2
  Name: captest
3
- Version: 0.13.0
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 >=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
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 >=1.14.8 ; extra == 'optional'
67
- Requires-Dist: panel ; extra == 'optional'
68
- Requires-Dist: pvlib >=0.9.0 ; extra == 'optional'
69
- Requires-Dist: openpyxl ; extra == 'optional'
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 >=1.14.8 ; extra == 'test'
72
- Requires-Dist: panel ; extra == 'test'
73
- Requires-Dist: pvlib >=0.9.0 ; extra == 'test'
74
- Requires-Dist: openpyxl ; extra == 'test'
75
- Requires-Dist: coveralls ; extra == 'test'
76
- Requires-Dist: pytest ; extra == 'test'
77
- Requires-Dist: pytest-cov ; extra == 'test'
78
- Requires-Dist: pytest-mock ; extra == 'test'
79
- Requires-Dist: pytest-timeout ; extra == 'test'
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
@@ -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,,