Skip to content

Commit 4fcb9e3

Browse files
authored
Merge branch 'main' into relative-humidity
2 parents aedc835 + 6af80da commit 4fcb9e3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+35799
-35377
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!-- Thank you for your contribution! The following items must be addressed before the code can be merged. Please don't hesitate to ask for help if you're unsure of how to accomplish any of the items. Feel free to remove checklist items that are not relevant to your change. -->
22

33
- [ ] Closes #xxxx
4-
- [ ] I am familiar with the [contributing guidelines](https://pvlib-python.readthedocs.io/en/latest/contributing.html)
4+
- [ ] I am familiar with the [contributing guidelines](https://pvlib-python.readthedocs.io/en/latest/contributing/index.html)
55
- [ ] Tests added
66
- [ ] Updates entries in [`docs/sphinx/source/reference`](https://github.com/pvlib/pvlib-python/blob/main/docs/sphinx/source/reference) for API changes.
77
- [ ] Adds description and name entries in the appropriate "what's new" file in [`docs/sphinx/source/whatsnew`](https://github.com/pvlib/pvlib-python/tree/main/docs/sphinx/source/whatsnew) for all changes. Includes link to the GitHub Issue with `` :issue:`num` `` or this Pull Request with `` :pull:`num` ``. Includes contributor name and/or GitHub username (link with `` :ghuser:`user` ``).

.github/workflows/publish.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,21 @@ jobs:
3333
- name: Build packages
3434
run: python -m build
3535

36+
- name: List distribution file sizes
37+
run: du -h dist/*
38+
3639
- name: Check metadata verification
3740
run: python -m twine check --strict dist/*
3841

42+
- name: Ensure that the wheel installs successfully
43+
run: |
44+
mkdir ./tmp
45+
pip install $(find dist -type f -name "*.whl") --target=./tmp
46+
47+
- name: List installed file sizes
48+
run: du -h pvlib
49+
working-directory: ./tmp
50+
3951
# only publish distribution to PyPI for tagged commits
4052
- name: Publish distribution to PyPI
4153
if: startsWith(github.ref, 'refs/tags/v')
203 KB
Loading

docs/sphinx/source/conf.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,28 @@
5656
'sphinx_gallery.gen_gallery',
5757
'sphinx_toggleprompt',
5858
'sphinx_favicon',
59+
'hoverxref.extension',
5960
]
6061

6162
mathjax3_config = {'chtml': {'displayAlign': 'left',
6263
'displayIndent': '2em'}}
6364

65+
# Example configuration for intersphinx: refer to the Python standard library.
66+
intersphinx_mapping = {
67+
'python': ('https://docs.python.org/3/', None),
68+
'numpy': ('https://numpy.org/doc/stable/', None),
69+
'scipy': ('https://docs.scipy.org/doc/scipy/reference/', None),
70+
'pandas': ('https://pandas.pydata.org/pandas-docs/stable', None),
71+
'matplotlib': ('https://matplotlib.org/stable', None),
72+
}
73+
74+
# Enable hover tooltips
75+
hoverxref_auto_ref = True
76+
hoverxref_roles = ["class", "meth", "func", "ref", "term"]
77+
hoverxref_role_types = dict.fromkeys(hoverxref_roles, "tooltip")
78+
hoverxref_domains = ["py"]
79+
hoverxref_intersphinx = list(intersphinx_mapping.keys())
80+
6481
napoleon_use_rtype = False # group rtype on same line together with return
6582

6683
# Add any paths that contain templates here, relative to this directory.
@@ -357,15 +374,6 @@ def setup(app):
357374
# If true, do not generate a @detailmenu in the "Top" node's menu.
358375
# texinfo_no_detailmenu = False
359376

360-
# Example configuration for intersphinx: refer to the Python standard library.
361-
intersphinx_mapping = {
362-
'python': ('https://docs.python.org/3/', None),
363-
'numpy': ('https://numpy.org/doc/stable/', None),
364-
'scipy': ('https://docs.scipy.org/doc/scipy/reference/', None),
365-
'pandas': ('https://pandas.pydata.org/pandas-docs/stable', None),
366-
'matplotlib': ('https://matplotlib.org/stable', None),
367-
}
368-
369377
ipython_warning_is_error = False
370378

371379
# suppress "WARNING: Footnote [1] is not referenced." messages

docs/sphinx/source/contributing/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _contributing:
2+
13
============
24
Contributing
35
============

docs/sphinx/source/contributing/style_guide.rst

Lines changed: 113 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ pvlib python generally follows the `PEP 8 -- Style Guide for Python Code
1313
is 79 characters.
1414

1515
pvlib python uses a mix of full and abbreviated variable names. See
16-
:ref:`variables_style_rules`. We could be better about consistency.
16+
:ref:`nomenclature`.
1717
Prefer full names for new contributions. This is especially important
1818
for the API. Abbreviations can be used within a function to improve the
1919
readability of formulae.
@@ -70,7 +70,7 @@ the ``docs/readthedocs.org:pvlib-python`` link within the checks
7070
status box at the bottom of the pull request.
7171

7272

73-
.. _references:
73+
.. _reference_style:
7474

7575
References
7676
----------
@@ -163,7 +163,7 @@ An easy way to do this is with::
163163

164164
Note: Anaconda users may have trouble using the above command to update an
165165
older version of docutils. If that happens, you can update it with ``conda``
166-
(e.g. ``conda install docutils=0.15.2``) and run the above command again.
166+
(e.g. ``conda install docutils=0.21``) and run the above command again.
167167

168168
Once the ``doc`` dependencies are installed, navigate to ``/docs/sphinx`` and
169169
execute::
@@ -182,6 +182,116 @@ Note that Windows users need not have the ``make`` utility installed as pvlib
182182
includes a ``make.bat`` batch file that emulates its interface.
183183

184184

185+
.. _example-docstring:
186+
187+
Example Docstring
188+
-----------------
189+
190+
Here is a template for a function docstring that encapsulates the main
191+
features that may be used in any docstring. Note that not all sections are
192+
required for every function.
193+
194+
.. code-block:: python
195+
196+
def example_function(poa_global, exponents, degree_symbol, time_ref='UT',
197+
optional_arg=None):
198+
r"""
199+
One-sentence summary of the function (no citations).
200+
201+
A longer description of the function. This can include citations
202+
(references) to literature [1]_, websites [2]_, and other code elements
203+
such as functions (:py:func:`pvlib.location.lookup_altitude`) and
204+
classes (:py:class:`pvlib.location.Location`).
205+
206+
.. versionadded:: 0.0.1
207+
There are many more purpose-specific directives, admonitions and such
208+
available at `this link <admonitions>`_. E.g.: ``.. versionchanged::``,
209+
``.. deprecated::``, ``.. note::`` and ``.. warning::``.
210+
211+
.. _admonitions: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#admonitions-messages-and-warnings
212+
213+
Parameters
214+
----------
215+
poa_global : numeric
216+
Plane-of-array global irradiance, see :term:`poa_global`. [Wm⁻²].
217+
exponents : array-like
218+
A list of exponents. [x⁰¹²³⁴⁵⁶⁷⁸⁹⁻].
219+
degree_symbol : pandas.Series or pandas.DataFrame
220+
It's different from superscript zero. [°].
221+
time_ref : ``'UT'`` or ``'TST'``, default: ``'UT'``
222+
``'UT'`` (universal time) or ``'TST'`` (True Solar Time).
223+
optional_arg : integer, optional
224+
A description of ``optional_arg``. [Unitless].
225+
226+
Specify a suitable datatype for each parameter. Other common
227+
data types include ``str``, ``bool``, ``float``, ``numeric``
228+
and ``pandas.DatetimeIndex``.
229+
230+
Returns
231+
-------
232+
name : numeric
233+
A description of the return value.
234+
235+
Raises
236+
------
237+
ValueError
238+
If ``poa_global`` is negative.
239+
KeyError
240+
If ``time_ref`` does not exist.
241+
242+
Notes
243+
-----
244+
This section can include additional information about the function.
245+
246+
For example, an equation using LaTeX markup:
247+
248+
.. math::
249+
250+
a = \left(\frac{b}{c}\right)^2
251+
252+
where :math:`a` is the result of the equation, and :math:`b` and :math:`c`
253+
are inputs.
254+
255+
Or a figure with a caption:
256+
257+
.. figure:: ../../_images/pvlib_logo_horiz.png
258+
:scale: 10%
259+
:alt: alternate text
260+
:align: center
261+
262+
Figure caption.
263+
264+
See Also
265+
--------
266+
pvlib.location.lookup_altitude, pvlib.location.Location
267+
268+
Examples
269+
--------
270+
>>> example_function(1, 1, pd.Series([1]), "TST", 2)
271+
'Something'
272+
273+
References
274+
----------
275+
A IEEE citation to a relevant reference. You may use an automatic
276+
citation generator to format the citation correctly.
277+
278+
.. [1] Anderson, K., Hansen, C., Holmgren, W., Jensen, A., Mikofski, M.,
279+
and Driesse, A. "pvlib python: 2023 project update." Journal of Open
280+
Source Software, 8(92), 5994, (2023). :doi:`10.21105/joss.05994`.
281+
.. [2] J. Smith and J. Doe. "Obama inaugurated as President." CNN.com.
282+
Accessed: Feb. 1, 2009. [Online.]
283+
Available: http://www.cnn.com/POLITICS/01/21/obama_inaugurated/index.html
284+
"""
285+
a = "Some"
286+
b = "thing"
287+
return a + b
288+
289+
A preview of how this docstring would render in the documentation can be seen in the
290+
following file: :download:`Example docstring<../_images/example_function_screenshot.png>`.
291+
292+
Remember that to show the docstring in the documentation, you must list
293+
the function in the appropriate ``.rst`` file in the ``docs/sphinx/source/reference`` folder.
294+
185295
.. _example-gallery:
186296

187297
Example Gallery

docs/sphinx/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pvlib python
2626
that-use-pvlib-python>`_ page for inspiration and listing of your
2727
application.
2828

29-
There is a :ref:`variable naming convention <variables_style_rules>` to
29+
There is a :ref:`variable naming convention <nomenclature>` to
3030
ensure consistency throughout the library.
3131

3232

docs/sphinx/source/user_guide/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ User Guide
1515
clearsky
1616
bifacial
1717
weather_data
18-
variables_style_rules
1918
singlediode
19+
nomenclature
2020
faq

0 commit comments

Comments
 (0)