pvlib

pvlib/pvlib-python

Python BSD-3-Clause Science

A set of documented functions for simulating the performance of photovoltaic energy systems.

1.6k stars
1.2k forks
active
GitHub +26 / week

1.6k

Stars

1.2k

Forks

267

Open issues

30

Contributors

v0.15.2 16 Jun 2026

AI Analysis

pvlib-python is a specialized toolbox for simulating photovoltaic energy system performance and related solar energy calculations. It provides documented functions and classes for PV modeling, performance prediction, and system analysis. It serves solar engineers, researchers, and renewable energy professionals who need open, reliable, and benchmarked implementations of PV models; it is not a general-purpose energy analysis tool and does not cover wind, hydro, or other renewable technologies.

Science Library Discovery value: 4/10
Documentation 9/10
Activity 10/10
Community 8/10
Code quality 9/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

solar-simulation photovoltaic-modeling renewable-energy python-library benchmarked-implementations
Actively maintained Well documented Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
1w ago

Mature Python library for photovoltaic system modeling with solid academic and institutional backing

pvlib-python is an open-source toolbox for simulating photovoltaic (PV) energy system performance. Built as a Python translation of Sandia's MATLAB_PV_LIB, it provides functions for irradiance modeling, PV cell/module simulation, system-level performance prediction, and data access. Used primarily by researchers, engineers in renewable energy, and organizations involved in solar resource assessment and system design. Maintains NumFOCUS affiliation and peer-reviewed publication track record.

Origin

Started in 2013 as a Python port of Sandia National Laboratories' MATLAB library. Has grown to include contributions from over 100 individuals across research institutions, utilities, and energy companies. Backed by DOE and NumFOCUS; established governance and peer-reviewed JOSS papers document its evolution through 2023.

Growth

Growth driven by adoption within academic PV research communities and renewable energy engineering workflows. Star count (1,593) has grown steadily but modestly, reflecting specialized domain focus rather than general-purpose tool uptake. Recent peer-reviewed publication (JOSS 2023) and iotools expansion (2023) suggest continued investment in capability breadth and data interoperability.

In production

README includes 'powered by pvlib' logos suggesting documented commercial/public deployments exist, though specific adoption counts and organizations are not enumerated in README. Peer-reviewed citations (JOSS 2023, prior JOSS 2018, Solar Energy 2023) indicate academic/institutional use. Google Group and Stack Overflow presence suggest active user community. Adoption appears concentrated in renewable energy research and utility/developer engineering teams; specific user numbers not publicly stated.

Code analysis
Architecture

Based on README, appears to be a function/class library organized around PV physics domains: irradiance models, cell performance, module outputs, system efficiency. Likely built on NumPy/Pandas for numerical computation. Appears to support multiple PV model implementations and data sources.

Tests

README indicates GitHub Actions pytest suite with codecov integration. Benchmarking infrastructure documented (asv). Suggests automated testing is prioritized; specific coverage percentage not stated in README.

Maintenance

Last push 2026-06-17 (13 days before evaluation date). Releases on PyPI and conda-forge with recent badges visible. Active CI/CD pipeline. Zero stars gained in last 7 days is expected for a mature, stable project; does not signal decline. Maintenance cadence appears consistent with specialist library expectations, not stagnant.

Honest verdict

ADOPT IF: you are building PV performance simulations in Python, need benchmark-quality open implementations of PV models, want reproducible research code, or require integration with Python data science stacks (NumPy/Pandas). AVOID IF: you need a turnkey GUI tool for system design, require proprietary technical support, or work primarily in MATLAB/Simulink. MONITOR IF: you are evaluating it for first time; verify that specific model types (irradiance, cell, module, soiling) you need are implemented and documented to your required fidelity.

Independent dimensions

Mainstream potential

3/10

Technical importance

7/10

Adoption evidence

5/10

Risks
  • Adoption is concentrated in academic/research contexts; enterprise/production adoption not quantified in public record, creating uncertainty around long-term institutional commitment.
  • Domain specificity (PV only) limits user base relative to general-purpose libraries; limits network effects and may constrain volunteer maintenance scaling.
  • Maintenance depends on core group of PV modelers from distributed institutions; no single commercial entity committed to support creates succession risk if key maintainers depart.
  • README does not detail specific model limitations, validation scope, or accuracy bounds, which could lead users to apply models outside their valid regimes.
  • Performance benchmarks exist but are not linked directly from README; users must navigate to separate site, reducing visibility of optimization considerations.
Prediction

pvlib-python will likely remain a stable, actively-maintained specialist library serving renewable energy research and engineering. May see incremental adoption in utility/developer workflows as solar penetration increases. Unlikely to achieve mainstream visibility outside energy domain. Core maintenance probable if NumFOCUS affiliation and institutional backing continue.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Python
99.3%
TeX
0.6%
Cython
0.1%
Pan
0.1%

Information

Language
Python
License
BSD-3-Clause
Last updated
17h ago
Created
139mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

PyPSA

PyPSA/PyPSA

PyPSA is an open-source Python framework for optimizing and simulating modern...

2.1k Python Science
sunpy

sunpy/sunpy

SunPy is a Python library designed specifically for solar physics research and...

1k Python Science
e2nIEE

e2nIEE/pandapower

pandapower is a Python library for power system modeling, analysis, and...

1.2k Python Science
pyvista

pyvista/pyvista

PyVista is a NumPy-native Python library for 3D visualization and mesh...

3.7k Python Science
pvieito

pvieito/PythonKit

PythonKit is a Swift framework enabling Swift applications to dynamically load...

2.2k Swift Dev Tools
vs. alternatives
PyBaMM (battery modeling, 1,602 stars)

Similar star count and NumFOCUS affiliation; both are domain-specific physics simulators. PyBaMM focuses battery electrochemistry; pvlib-python focuses PV resource and power output. Different domains, not direct competitors.

pandapower (power systems, 1,207 stars)

Overlaps in renewable energy workflows but targets electrical grid/network analysis rather than PV performance simulation. Could be complementary in integrated energy system studies.

MATLAB_PV_LIB (Sandia, reference implementation)

pvlib-python is the spiritual successor; maintains interoperability with reference implementations. MATLAB version remains in use; Python version serves as open, community-driven alternative for Python-based workflows.

SAM (NREL System Advisor Model, proprietary/free)

SAM is more integrated commercial/institutional tool with GUI and broader balance-of-system modeling. pvlib-python is lower-level library suitable for scripted workflows and research; different positioning (library vs. application).

PVsyst (commercial, GUI-based)

Industry standard for detailed PV system design. pvlib-python serves researchers and developers wanting open, scriptable alternatives; not intended as direct replacement for PVsyst's design workflow.