pvlib-python provides a collection of classes for users that prefer object-oriented programming. These classes can help users keep track of data in a more organized way, and can help to simplify the modeling process. The classes do not add any functionality beyond the procedural code. Most of the object methods are simple wrappers around the corresponding procedural code. For examples of using these classes, see the PVSystem and ModelChain pages.

location.Location(latitude, longitude[, tz, ...])

Location objects are convenient containers for latitude, longitude, timezone, and altitude data associated with a particular geographic location.

pvsystem.PVSystem([arrays, surface_tilt, ...])

The PVSystem class defines a standard set of PV system attributes and modeling functions.

pvsystem.Array(mount[, albedo, ...])

An Array is a set of modules at the same orientation.

pvsystem.FixedMount([surface_tilt, ...])

Racking at fixed (static) orientation.

pvsystem.SingleAxisTrackerMount([axis_tilt, ...])

Single-axis tracker racking for dynamic solar tracking.

modelchain.ModelChain(system, location[, ...])

The ModelChain class to provides a standardized, high-level interface for all of the modeling steps necessary for calculating PV power from a time series of weather inputs.