skillfed

NREL-PySAM

National Laboratory of the Rockies' System Advisor Model Python Wrapper

nrel-pysam v7.1.1.post1 116.9K downloads/30d#12,187 on PyPI
Permissive license BSD 3-Clause Active released

What it is and what it does

PySAM is a Python wrapper around NREL's System Advisor Model, a comprehensive simulation engine for modeling renewable energy systems. It provides programmatic access to SAM's modules for solar (photovoltaic and concentrating thermal), wind, battery storage, and hybrid configurations, along with utility rate and financial analysis tools. The package bundles pre-compiled simulation kernels (SSC version 306 in the current release) and exposes them through a Python API, eliminating the need to use SAM's graphical interface for batch simulations or integration into larger workflows.

The package is actively maintained and tracks SAM releases closely, with recent updates adding geothermal modeling (GETEM) and renaming modules for clarity. It has no runtime dependencies beyond Python itself, relying entirely on bundled compiled libraries. Installation is straightforward on modern Python versions (3.10–3.13) across Windows, macOS, and Linux, though the binary wheels mean you are locked to supported platforms and architectures.

Use it for:

  • Run batch photovoltaic performance simulations across multiple sites or configurations without opening the SAM GUI.
  • Integrate renewable energy system modeling into optimization workflows or sensitivity analyses.
  • Analyze battery storage sizing, chemistry selection, and dispatch strategies for hybrid systems.
  • Calculate utility rate impacts and financial metrics for solar or wind projects programmatically.
  • Simulate wind power output or hybrid solar-wind-battery systems for feasibility studies.
  • Automate geothermal system modeling and performance prediction using the GETEM module.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PySAM wraps NREL's System Advisor Model (SAM) simulation engine, providing Python access to energy system modeling and performance analysis across solar, wind, battery, and hybrid technologies.

Yes, if you need to model renewable energy systems or perform SAM simulations in Python. The package is actively maintained, has no external dependencies, installs cleanly on modern Python (3.10+), and carries permissive licensing. Install friction is medium but manageable due to pre-built wheels. Not worth installing if you only need SAM's GUI or if you are on an unsupported Python version or architecture.

Install

nrel-pysam on PyPI

pip

pip install nrel-pysam

uv

uv add nrel-pysam

poetry

poetry add nrel-pysam

Installing NREL-PySAM

Before you install

Medium install friction due to compiled binary wheels. Wheels are pre-built for Python 3.10–3.13 across macOS (arm64 and x86_64), Linux (aarch64 and x86_64), and Windows (amd64), so installation is straightforward on supported platforms. Package is actively maintained with recent release in April 2026.

License in practice

BSD 3-Clause is permissive, allowing commercial and private use with minimal restrictions. You must include a copy of the license and retain copyright notices.

Quickstart

pip install nrel-pysam

import PySAM
# Access SAM modules for energy system simulation
module = PySAM.Pvwattsv7()

Requires Python 3.10 or later (3.8 support was dropped in version 7.0.0). Binary wheels are available for common platforms; installation on unsupported architectures may require compilation.

Verify before relying

  • Whether offline use or internet connectivity is required for resource data downloads
  • Performance characteristics and typical simulation runtime for different system scales
  • Compatibility with third-party energy modeling or optimization libraries

Package facts

License BSD 3-Clause (permissive)
Python support not specified
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 110 days since the last release
First released
Downloads 116,907/month — #12,187 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nrel_pysam-7.1.1.post1-cp310-cp310-macosx_12_0_arm64.whl; nrel_pysam-7.1.1.post1-cp310-cp310-macosx_12_0_x86_64.whl; nrel_pysam-7.1.1.post1-cp310-cp310-manylinux2014_aarch64.whl; nrel_pysam-7.1.1.post1-cp310-cp310-manylinux2014_x86_64.whl; nrel_pysam-7.1.1.post1-cp310-cp310-win_amd64.whl; nrel_pysam-7.1.1.post1-cp311-cp311-macosx_12_0_arm64.whl; nrel_pysam-7.1.1.post1-cp311-cp311-macosx_12_0_x86_64.whl; nrel_pysam-7.1.1.post1-cp311-cp311-manylinux2014_aarch64.whl; nrel_pysam-7.1.1.post1-cp311-cp311-manylinux2014_x86_64.whl; nrel_pysam-7.1.1.post1-cp311-cp311-win_amd64.whl; nrel_pysam-7.1.1.post1-cp312-cp312-macosx_12_0_arm64.whl; nrel_pysam-7.1.1.post1-cp312-cp312-macosx_12_0_x86_64.whl; nrel_pysam-7.1.1.post1-cp312-cp312-manylinux2014_aarch64.whl; nrel_pysam-7.1.1.post1-cp312-cp312-manylinux2014_x86_64.whl; nrel_pysam-7.1.1.post1-cp312-cp312-win_amd64.whl; nrel_pysam-7.1.1.post1-cp313-cp313-macosx_12_0_arm64.whl; nrel_pysam-7.1.1.post1-cp313-cp313-macosx_12_0_x86_64.whl; nrel_pysam-7.1.1.post1-cp313-cp313-manylinux2014_aarch64.whl; nrel_pysam-7.1.1.post1-cp313-cp313-manylinux2014_x86_64.whl; nrel_pysam-7.1.1.post1-cp313-cp313-win_amd64.whl

Tags

solar energy modeling pythonrenewable energy simulationbattery system analysiswind power calculationhybrid energy system modelingSAM system advisor modelphotovoltaic performance predictionenergy system design tool
renewable-energysimulationenergy-modeling

More Scientific/Engineering packages