https://github.com/ladybug-tools/ladybug
🐞 Core ladybug library for weather data analysis and visualization
https://github.com/ladybug-tools/ladybug
Last synced: 3 months ago
JSON representation
🐞 Core ladybug library for weather data analysis and visualization
- Host: GitHub
- URL: https://github.com/ladybug-tools/ladybug
- Owner: ladybug-tools
- License: agpl-3.0
- Created: 2015-10-02T14:52:18.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-09-04T22:51:51.000Z (9 months ago)
- Last Synced: 2025-09-04T23:29:51.164Z (9 months ago)
- Language: Python
- Homepage: https://www.ladybug.tools/ladybug/docs/
- Size: 15.6 MB
- Stars: 211
- Watchers: 19
- Forks: 56
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README

[](https://github.com/ladybug-tools/ladybug/actions)
[](https://coveralls.io/github/ladybug-tools/ladybug)
[](https://www.python.org/downloads/release/python-370/) [](https://www.python.org/downloads/release/python-270/) [](https://github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.8/)
# ladybug
Ladybug is a Python library to analyze, modify, and visualize EnergyPlus Weather files (epw). You can download epw files from [EPWMap](http://www.ladybug.tools/epwmap/).
This repository is the core library that is the base for the [Ladybug Grasshopper Plugin](https://www.ladybug.tools/#intro). For plugin-specific questions and comments refer to [ladybug-grasshopper](https://github.com/ladybug-tools/ladybug-grasshopper).
## Note
For the Legacy Ladybug Grasshopper Plugin see [this repository](https://github.com/ladybug-tools/ladybug-legacy).
## [API Documentation](https://www.ladybug.tools/ladybug/docs/)
## Installation
To install the library use:
`pip install ladybug-core`
To check if Honeybee command line interface is installed correctly use `ladybug viz` and you
should get a `viiiiiiiiiiiiizzzzzzzzz!` back in response!
## Usage
```python
# 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
```
## Local Development
1. Clone this repo locally
```console
git clone git@github.com:ladybug-tools/ladybug.git
# or
git clone https://github.com/ladybug-tools/ladybug.git
```
2. Install dependencies:
```console
cd ladybug
pip install -r dev-requirements.txt
pip install -r requirements.txt
```
3. Run Tests:
```console
python -m pytest ./tests
```
4. Generate Documentation:
```console
sphinx-apidoc -f -e -d 4 -o ./docs ./ladybug
sphinx-build -b html ./docs ./docs/_build/docs
```
### Derivative Work
Ladybug is a derivative work of the following software projects:
* [PVLib-python](https://github.com/pvlib/pvlib-python) for solar irradiance calculations. Available under BSD 3-clause.
* [PsychroLib](https://github.com/psychrometrics/psychrolib) for psychrometric calculations. Available under MIT License.
Applicable copyright notices for these works can be found within the relevant .py files.