Pvlib python
pvlib python is open source software for simulating solar power of photovoltaic energy systems. History. pvlib python is based on PV_LIB MATLAB which was originally developed in 2012 at Sandia National Laboratories as part of the PV Performance Modeling Collaborative (PVPMC) by researchers Josh Stein, Cliff Hansen, and Daniel Riley. In August of 2013, Rob Andrews made the first open source commit on GitHub and began porting the MATLAB version to Python. Later he was joined by William Holmgren and Tony Lorenzo who completed the migration and released the first version to the Python Package Index on April  20th, 2015. Since then there have been 9 major releases. pvlib python has been joined by nearly 70 contributors, has been starred and forked on GitHub over 600 times, and its "Journal of Open Source Software" (JOSS) paper has been cited nearly 200 times. In 2019, pvlib python became an Affiliated Project with NumFOCUS. In 2021, pvlib python participated under the NumFOCUS umbrella GSoC application with a project to add more solar resource data. Most recently, in 2021, pvlib python was awarded a small development grant to add battery energy storage systems (BESS). Functionality. pvlib python's documentation is online  and includes many theory topics, an intro tutorial, an example gallery, and an API reference. The software is broken down by the steps shown in the PVPMC modeling diagram. Installation and contributions. pvlib python can be installed directly from the PyPI or from conda-forge. The source code is maintained on GitHub and new contributors are welcome to post issues or create pull requests. There is also a forum for discussion and questions. Examples. pvlib python is organized into low level functions and high level classes that allow multiple approaches to solving typical PV problems. Solar position. import pandas as  pd from pvlib.solarposition import get_solarposition times = pd.date_range(start="2021-01-01", end="2021-02-01", freq="H", tz="EST") solpos = get_solarposition(time=times, latitude=40.0, longitude=-80)