Meteostat Python
Access and analyze historical weather and climate data with Python.
https://github.com/meteostat/meteostat
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 9 hours ago
JSON representation
Repository metadata
Access and analyze historical weather and climate data with Python.
- Host: GitHub
- URL: https://github.com/meteostat/meteostat
- Owner: meteostat
- License: mit
- Created: 2020-08-05T15:47:15.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-02-15T16:09:23.000Z (15 days ago)
- Last Synced: 2026-02-18T18:32:05.738Z (12 days ago)
- Topics: climate, climate-change, climate-data, data-science, meteostat, open-data, statistics, weather, weather-data, weather-station
- Language: Python
- Homepage: https://dev.meteostat.net/python
- Size: 16.7 MB
- Stars: 610
- Watchers: 7
- Forks: 74
- Open Issues: 9
- Releases: 60
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Citation: CITATION.cff
README.md
📚 Installation
The Meteostat Python package is available through PyPI:
pip install meteostat
🚀 Usage
Let's plot 2018 temperature data for Frankfurt, Germany:
from datetime import date
import matplotlib.pyplot as plt
import meteostat as ms
# Specify location and time range
POINT = ms.Point(50.1155, 8.6842, 113) # Try with your location
START = date(2018, 1, 1)
END = date(2018, 12, 31)
# Get nearby weather stations
stations = ms.stations.nearby(POINT, limit=4)
# Get daily data & perform interpolation
ts = ms.daily(stations, START, END)
df = ms.interpolate(ts, POINT).fetch()
# Plot line chart including average, minimum and maximum temperature
df.plot(y=[ms.Parameter.TEMP, ms.Parameter.TMIN, ms.Parameter.TMAX])
plt.show()
Take a look at the expected output:

🤝 Contributing
Please read our contributing guidelines for details on how to contribute to the Meteostat Python library.
Top contributors
🌟 Featured In
Meteostat has been featured and used by various media outlets and organizations, including:
Join the growing community of users and researchers relying on Meteostat for their weather data needs.
📄 License
Meteostat is licensed under the MIT License. Data provided by Meteostat is generally licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) license. Please refer to the documentation for more information.
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: cla@meteostat.net
orcid: 'https://orcid.org/0000-0003-3301-2852'
Owner metadata
- Name: Meteostat
- Login: meteostat
- Email: info@meteostat.net
- Kind: organization
- Description: The Weather's Record Keeper
- Website: https://meteostat.net
- Location:
- Twitter: meteost
- Company:
- Icon url: https://avatars.githubusercontent.com/u/29773680?v=4
- Repositories: 14
- Last ynced at: 2024-04-12T23:41:58.133Z
- Profile URL: https://github.com/meteostat
GitHub Events
Total
- Release event: 3
- Delete event: 16
- Pull request event: 33
- Discussion event: 1
- Issues event: 18
- Watch event: 26
- Issue comment event: 26
- Push event: 62
- Pull request review event: 12
- Pull request review comment event: 19
- Create event: 6
Last Year
- Release event: 3
- Delete event: 16
- Pull request event: 33
- Discussion event: 1
- Issues event: 18
- Watch event: 26
- Issue comment event: 26
- Push event: 62
- Pull request review event: 12
- Pull request review comment event: 19
- Create event: 6
Committers metadata
Last synced: 14 days ago
Total Commits: 322
Total Committers: 4
Avg Commits per committer: 80.5
Development Distribution Score (DDS): 0.047
Commits in past year: 138
Committers in past year: 2
Avg Commits per committer in past year: 69.0
Development Distribution Score (DDS) in past year: 0.087
| Name | Commits | |
|---|---|---|
| clampr | c****t@a****e | 307 |
| Copilot | 1****t | 12 |
| christianlamprecht | c****t@d****m | 2 |
| e-hamza | 3****a | 1 |
Committer domains:
- deutschebahn.com: 1
- aol.de: 1
Issue and Pull Request metadata
Last synced: 10 days ago
Total issues: 4
Total pull requests: 2
Average time to close issues: 3 days
Average time to close pull requests: about 18 hours
Total issue authors: 4
Total pull request authors: 1
Average comments per issue: 2.25
Average comments per pull request: 3.0
Merged pull request: 1
Bot issues: 1
Bot pull requests: 0
Past year issues: 4
Past year pull requests: 2
Past year average time to close issues: 3 days
Past year average time to close pull requests: about 18 hours
Past year issue authors: 4
Past year pull request authors: 1
Past year average comments per issue: 2.25
Past year average comments per pull request: 3.0
Past year merged pull request: 1
Past year bot issues: 1
Past year bot pull requests: 0
Top Issue Authors
- lenwood (1)
- github-actions[bot] (1)
- gu62jen (1)
- rjhare (1)
Top Pull Request Authors
- Copilot (2)
Top Issue Labels
- agentic-workflows (1)
- bug (1)
- confirmed (1)
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 432,016 last-month
- Total docker downloads: 138
- Total dependent packages: 10
- Total dependent repositories: 41
- Total versions: 61
- Total maintainers: 1
pypi.org: meteostat
Access and analyze historical weather and climate data with Python.
- Homepage:
- Documentation: https://meteostat.readthedocs.io/
- Licenses: mit
- Latest release: 2.1.3 (published 16 days ago)
- Last Synced: 2026-02-14T20:09:36.641Z (16 days ago)
- Versions: 61
- Dependent Packages: 10
- Dependent Repositories: 41
- Downloads: 432,016 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
- actions/checkout v2 composite
- actions/setup-python v1 composite
- actions/checkout v2 composite
- actions/setup-python v1 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- actions/checkout v4 composite
- actions/github-script v7 composite
- actions/setup-python v4 composite
- snok/install-poetry v1 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- snok/install-poetry v1 composite
- colorama 0.4.6 develop
- iniconfig 2.1.0 develop
- packaging 25.0 develop
- pluggy 1.6.0 develop
- pygments 2.19.2 develop
- pytest 8.4.2 develop
- pytest-mock 3.15.1 develop
- ruff 0.14.8 develop
- ty 0.0.1a33 develop
- types-pytz 2023.4.0.20240130 develop
- types-requests 2.32.4.20250913 develop
- urllib3 2.5.0 develop
- contourpy 1.3.3 extras
- cycler 0.12.1 extras
- fonttools 4.60.1 extras
- kiwisolver 1.4.9 extras
- lxml 5.4.0 extras
- matplotlib 3.10.7 extras
- metar 1.11.0 extras
- numpy 2.3.3 extras
- packaging 25.0 extras
- pillow 11.3.0 extras
- pyparsing 3.2.5 extras
- python-dateutil 2.9.0.post0 extras
- six 1.17.0 extras
- certifi 2025.10.5
- charset-normalizer 3.4.3
- idna 3.10
- numpy 2.3.3
- pandas 2.3.3
- python-dateutil 2.9.0.post0
- pytz 2023.4
- requests 2.32.5
- six 1.17.0
- tzdata 2025.2
- urllib3 2.5.0
- pytest ^8.2.1 develop
- pytest-mock ^3.14.0 develop
- ruff ^0.14.8 develop
- ty ^0.0.1a33 develop
- types-pytz ^2023.3.1.1 develop
- types-requests ^2.31.0.20240106 develop
- lxml ^5.3.0 extras
- matplotlib ^3.9.2 extras
- metar ^1.11.0 extras
- pandas >=2.3.0,<4.0.0
- python ^3.11
- pytz ^2023.3.post1
- requests ^2.31.0
Score: 20.791064180335333