Skip to content

Compare: Release procedures

New page
Showing with 9 additions and 31 deletions.
  1. +9 −31 Release-procedures.md
40 changes: 9 additions & 31 deletions Release-procedures.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,35 +73,6 @@ From the root pvlib-python directory:

The package is now installable with ``pip install pvlib``. Test it!


## Upload to Anaconda.org

1. Activate the base conda environment ``conda activate base``.
1. In a non-pvlib directory, ``conda skeleton pypi pvlib``.
- This step can be tricky to get working. This command worked for the 0.9.2 release: `conda skeleton pypi pvlib --extra-specs setuptools_scm --extra-specs scipy==1.5 --python-version 3.6`.
2. Add some optional dependencies to ``pvlib/meta.yaml`` under both ``host`` and ``run``. Check packages against the conda-forge meta.yaml discussed below. Packages may include:
- statsmodels
- numba
- ephem
- netcdf4
- setuptools_scm (under `host`)
2. Add ``noarch: python`` to the ``build`` section.
2. You may need to delete much of the `test` section. Compare with the `conda-forge` recipe in the next section.
2. Build the package for the "noarch" system type (compatible with Linux, Mac, and Windows) and for multiple Python versions. ``conda build --py 3.7 --py 3.8 --py 3.9 --py 3.10 pvlib/``
2. Upload to Anaconda.org: ``anaconda upload -u pvlib ~/miniconda3/conda-bld/noarch/pvlib-0.6.0a2-py_0.tar.bz2``
- May need `conda install anaconda-client` for `anaconda` to be available.

The package is now installable with ``conda install -c pvlib pvlib``

Test it:

1. ``conda create -n pvlibreltest python=3.7 pvlib -c pvlib``
1. ``conda activate pvlibreltest``
1. ``python -c 'import pvlib'``

Then test it on another kind of operating system, if possible.


## Update conda-forge packages

1. Fork the [pvlib-python-feedstock](https://github.com/conda-forge/pvlib-python-feedstock).
Expand All @@ -111,8 +82,13 @@ Then test it on another kind of operating system, if possible.
2. Complete the check marks on the conda-forge pull request template.
2. Merge the pull request (assuming the tests pass).

It often takes hours for conda-forge to build the new package. Eventually you can test it using the same procedure outlined above, but change the package name to `pvlib-python` and the channel name to `conda-forge`: `conda create -n pvlibreltest python=3.7 pvlib-python -c conda-forge`
It sometimes takes hours for conda-forge to build the new package. Eventually you can test it using a procedure like this:

1. ``conda create -n pvlibreltest python=3.7 pvlib -c conda-forge``
1. ``conda activate pvlibreltest``
1. ``python -c 'import pvlib'``

Then test it on another kind of operating system, if possible.

## Publicize release

Expand Down Expand Up @@ -155,5 +131,7 @@ Users are advised to read the release notes before updating.
1. Edit the infobox on the [wikipedia page](https://en.wikipedia.org/wiki/Pvlib_python) to list the new version.

## Start new version
1. Make a whatsnew file for the next version.

1. Make a whatsnew file for the next version.
## Upload to Anaconda.org (obsolete)
v0.9.4 was the last version to be distributed via the `pvlib` anaconda channel, so the release procedure no longer involves uploading a distribution to anaconda.org (see [#1622](https://github.com/pvlib/pvlib-python/issues/1622)). For reference, the original content of this section is preserved here: https://github.com/pvlib/pvlib-python/wiki/Release-procedures/c0a6471e3813742e75b73e6f0ba874e2bb87daf0#upload-to-anacondaorg