A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Meteostat Python

Access and analyze historical weather and climate data with Python.
https://github.com/meteostat/meteostat-python

Category: Climate Change
Sub Category: Climate Data Access and Visualization

Keywords

climate climate-change climate-data data-science meteostat open-data statistics weather weather-data weather-station

Last synced: about 14 hours ago
JSON representation

Repository metadata

Access and analyze historical weather and climate data with Python.

README.md

Meteostat Python Package

The Meteostat Python library provides a simple API for accessing open weather and climate data. The historical observations and statistics are collected by Meteostat from different public interfaces, most of which are governmental.

Among the data sources are national weather services like the National Oceanic and Atmospheric Administration (NOAA) and Germany's national meteorological service (DWD).

Are you looking for a hosted solution? Try our JSON API.

Installation

The Meteostat Python package is available through PyPI:

pip install meteostat

Meteostat requires Python 3.6 or higher. If you want to visualize data, please install Matplotlib, too.

Documentation

The Meteostat Python library is divided into multiple classes which provide access to the actual data. The documentation covers all aspects of the library:

Example

Let's plot 2018 temperature data for Vancouver, BC:

# Import Meteostat library and dependencies
from datetime import datetime
import matplotlib.pyplot as plt
from meteostat import Point, Daily

# Set time period
start = datetime(2018, 1, 1)
end = datetime(2018, 12, 31)

# Create Point for Vancouver, BC
location = Point(49.2497, -123.1193, 70)

# Get daily data for 2018
data = Daily(location, start, end)
data = data.fetch()

# Plot line chart including average, minimum and maximum temperature
data.plot(y=['tavg', 'tmin', 'tmax'])
plt.show()

Take a look at the expected output:

2018 temperature data for Vancouver, BC

Contributing

Instructions on building and testing the Meteostat Python package can be found in the documentation. More information about the Meteostat bulk data interface is available here.

Donating

If you want to support the project financially, you can make a donation using one of the following services:

Data License

Meteorological data is provided under the terms of the Creative Commons Attribution-NonCommercial 4.0 International Public License (CC BY-NC 4.0). You may build upon the material
for any purpose, even commercially. However, you are not allowed to redistribute Meteostat data "as-is" for commercial purposes.

By using the Meteostat Python library you agree to our terms of service. All meteorological data sources used by the Meteostat project are listed here.

Code License

The code of this library is available under the MIT license.

Citation (CITATION.cff)

cff-version: 1.2.0
title: Meteostat Python
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Christian Sebastian
    family-names: Lamprecht
    email: [email protected]
    orcid: 'https://orcid.org/0000-0003-3301-2852'

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 5 days ago

Total Commits: 120
Total Committers: 2
Avg Commits per committer: 60.0
Development Distribution Score (DDS): 0.008

Commits in past year: 6
Committers in past year: 1
Avg Commits per committer in past year: 6.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Christian Lamprecht c****t@a****e 119
e-hamza 3****a 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 94
Total pull requests: 47
Average time to close issues: about 2 months
Average time to close pull requests: 26 days
Total issue authors: 73
Total pull request authors: 11
Average comments per issue: 2.2
Average comments per pull request: 0.23
Merged pull request: 44
Bot issues: 0
Bot pull requests: 0

Past year issues: 13
Past year pull requests: 3
Past year average time to close issues: 7 days
Past year average time to close pull requests: 1 day
Past year issue authors: 11
Past year pull request authors: 2
Past year average comments per issue: 1.15
Past year average comments per pull request: 1.0
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/meteostat/meteostat-python

Top Issue Authors

  • clampr (8)
  • MarieCurie13 (3)
  • xenide (3)
  • guidocioni (3)
  • bram-tv (3)
  • GangaBisht (2)
  • cminton-hub (2)
  • WillBaumgardnerVevo (2)
  • magowiz (2)
  • Weyaaron (2)
  • gvangelatos (2)
  • mullerhai (1)
  • andersoncarlosfs (1)
  • slowtoaccept (1)
  • karumbis (1)

Top Pull Request Authors

  • clampr (35)
  • meteoDaniel (2)
  • Weyaaron (2)
  • LairdStreak (1)
  • ngehrsitz (1)
  • jan-meyer-1986 (1)
  • e-hamza (1)
  • eisber (1)
  • tnfru (1)
  • andersoncarlosfs (1)
  • Jonas1312 (1)

Top Issue Labels

  • enhancement (13)
  • bug (11)
  • help wanted (2)
  • question (2)
  • wontfix (1)
  • documentation (1)

Top Pull Request Labels

  • enhancement (5)
  • bug (3)

Package metadata

pypi.org: meteostat

Access and analyze historical weather and climate data with Python.

  • Homepage: https://github.com/meteostat/meteostat-python
  • Documentation: https://meteostat.readthedocs.io/
  • Licenses: MIT
  • Latest release: 1.6.8 (published 10 months ago)
  • Last Synced: 2025-04-25T12:08:11.639Z (1 day ago)
  • Versions: 48
  • Dependent Packages: 10
  • Dependent Repositories: 41
  • Downloads: 517,998 Last month
  • Docker Downloads: 138
  • Rankings:
    • Downloads: 1.592%
    • Dependent packages count: 1.597%
    • Dependent repos count: 2.295%
    • Average: 3.226%
    • Stargazers count: 3.604%
    • Docker downloads count: 3.813%
    • Forks count: 6.452%
  • Maintainers (1)

Dependencies

requirements.txt pypi
  • black *
  • matplotlib *
  • numpy *
  • pandas >=1.1
  • pylint *
  • pytest *
  • pytz *
  • twine *
  • wheel *
setup.py pypi
  • pandas >=1.1
.github/workflows/assign-project.yml actions
  • peter-evans/create-or-update-project-card v1 composite
.github/workflows/linter.yml actions
  • actions/checkout v2 composite
  • github/super-linter v3.17.0 composite
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite

Score: 20.07778302899508