Welcome to pvlib-python’s documentation!

pvlib-python provides a set of documented functions for simulating the performance of photovoltaic energy systems. The toolbox was originally developed in MATLAB at Sandia National Laboratories and it implements many of the models and methods developed at the Labs. More information on Sandia Labs PV performance modeling programs can be found at https://pvpmc.sandia.gov/.

The source code for pvlib-python is hosted on github.

The github page also contains a valuable wiki with information on how you can contribute to pvlib-python development!

Please see the links above for details on the status of the pvlib-python project. We are at an early stage in the development of this project, so expect to see significant API changes in the next few releases.

This documentation focuses on providing a reference for all of the modules and functions available in pvlib-python. For examples of how to use pvlib-python, please see the tutorials. Some of the tutorials were written with older versions of pvlib-python and we would greatly appreciate your help updating them!


This documentation assumes general familiarity with Python, NumPy, and Pandas. Google searches will yield many excellent tutorials for these packages.

Please see our PVSC 2014 paper and PVSC 2015 paper (and the notebook to reproduce the figures) for more information.

The GitHub wiki also has a page on Projects and publications that use pvlib python for inspiration and listing of your application.

There is a variable naming convention to ensure consistency throughout the library.


  1. Follow Pandas’ instructions for installing the scientific python stack, including pip.
  2. pip install pvlib-python

Indices and tables