Skip to content
Switch branches/tags


Failed to load latest commit information.


Build Status Coverage Status

Python 2.7 Python 3.6 IronPython


Ladybug is a Python library to load, analyze and modify EnergyPlus Weather files (epw). You can download epw files from EPWMap.

This repository includes the core library which is the base for Ladybug. For plugin-specific questions and comments refer to ladybug-grasshopper or ladybug-dynamo repositories.


For the Legacy Ladybug Grasshopper Plugin see this repository.

API Documentation


pip install ladybug-core


# load epw weather data
from ladybug.epw import EPW
epw_data = EPW('path_to_epw_file')
dry_bulb_temp = epw_data.dry_bulb_temperature

# Get altitude and longitude
from ladybug.location import Location
from ladybug.sunpath import Sunpath

# Create location. You can also extract location data from an epw file.
sydney = Location('Sydney', 'AUS', latitude=-33.87, longitude=151.22, time_zone=10)

# Initiate sunpath
sp = Sunpath.from_location(sydney)
sun = sp.calculate_sun(month=11, day=15, hour=11.0)

print('altitude: {}, azimuth: {}'.format(sun.altitude, sun.azimuth))
>>> altitude: 72.26, azimuth: 32.37

Derivative Work

Ladybug is a derivative work of the following software projects:

  • PVLib-python for solar irradiance calculations. Available under BSD 3-clause.
  • PsychroLib for psychrometric calculations. Available under MIT License.

Applicable copyright notices for these works can be found within the relevant .py files.