meteostat 1.7.6__py3-none-any.whl → 2.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- meteostat/__init__.py +38 -19
- meteostat/api/config.py +158 -0
- meteostat/api/daily.py +76 -0
- meteostat/api/hourly.py +80 -0
- meteostat/api/interpolate.py +378 -0
- meteostat/api/inventory.py +59 -0
- meteostat/api/merge.py +103 -0
- meteostat/api/monthly.py +73 -0
- meteostat/api/normals.py +144 -0
- meteostat/api/point.py +30 -0
- meteostat/api/stations.py +234 -0
- meteostat/api/timeseries.py +334 -0
- meteostat/core/cache.py +212 -59
- meteostat/core/data.py +203 -0
- meteostat/core/logger.py +9 -0
- meteostat/core/network.py +82 -0
- meteostat/core/parameters.py +112 -0
- meteostat/core/providers.py +184 -0
- meteostat/core/schema.py +170 -0
- meteostat/core/validator.py +38 -0
- meteostat/enumerations.py +149 -0
- meteostat/interpolation/idw.py +120 -0
- meteostat/interpolation/lapserate.py +91 -0
- meteostat/interpolation/nearest.py +31 -0
- meteostat/parameters.py +354 -0
- meteostat/providers/dwd/climat.py +166 -0
- meteostat/providers/dwd/daily.py +144 -0
- meteostat/providers/dwd/hourly.py +218 -0
- meteostat/providers/dwd/monthly.py +138 -0
- meteostat/providers/dwd/mosmix.py +351 -0
- meteostat/providers/dwd/poi.py +117 -0
- meteostat/providers/dwd/shared.py +155 -0
- meteostat/providers/eccc/daily.py +87 -0
- meteostat/providers/eccc/hourly.py +104 -0
- meteostat/providers/eccc/monthly.py +66 -0
- meteostat/providers/eccc/shared.py +45 -0
- meteostat/providers/index.py +496 -0
- meteostat/providers/meteostat/daily.py +65 -0
- meteostat/providers/meteostat/daily_derived.py +110 -0
- meteostat/providers/meteostat/hourly.py +66 -0
- meteostat/providers/meteostat/monthly.py +45 -0
- meteostat/providers/meteostat/monthly_derived.py +106 -0
- meteostat/providers/meteostat/shared.py +93 -0
- meteostat/providers/metno/forecast.py +186 -0
- meteostat/providers/noaa/ghcnd.py +228 -0
- meteostat/providers/noaa/isd_lite.py +142 -0
- meteostat/providers/noaa/metar.py +163 -0
- meteostat/typing.py +113 -0
- meteostat/utils/conversions.py +231 -0
- meteostat/utils/data.py +194 -0
- meteostat/utils/geo.py +28 -0
- meteostat/utils/guards.py +51 -0
- meteostat/utils/parsers.py +161 -0
- meteostat/utils/types.py +113 -0
- meteostat/utils/validators.py +31 -0
- meteostat-2.0.1.dist-info/METADATA +130 -0
- meteostat-2.0.1.dist-info/RECORD +64 -0
- {meteostat-1.7.6.dist-info → meteostat-2.0.1.dist-info}/WHEEL +1 -2
- meteostat/core/loader.py +0 -103
- meteostat/core/warn.py +0 -34
- meteostat/enumerations/granularity.py +0 -22
- meteostat/interface/base.py +0 -39
- meteostat/interface/daily.py +0 -118
- meteostat/interface/hourly.py +0 -154
- meteostat/interface/meteodata.py +0 -210
- meteostat/interface/monthly.py +0 -109
- meteostat/interface/normals.py +0 -245
- meteostat/interface/point.py +0 -143
- meteostat/interface/stations.py +0 -252
- meteostat/interface/timeseries.py +0 -237
- meteostat/series/aggregate.py +0 -48
- meteostat/series/convert.py +0 -28
- meteostat/series/count.py +0 -17
- meteostat/series/coverage.py +0 -20
- meteostat/series/fetch.py +0 -28
- meteostat/series/interpolate.py +0 -47
- meteostat/series/normalize.py +0 -76
- meteostat/series/stations.py +0 -22
- meteostat/units.py +0 -149
- meteostat/utilities/__init__.py +0 -0
- meteostat/utilities/aggregations.py +0 -37
- meteostat/utilities/endpoint.py +0 -33
- meteostat/utilities/helpers.py +0 -70
- meteostat/utilities/mutations.py +0 -89
- meteostat/utilities/validations.py +0 -30
- meteostat-1.7.6.dist-info/METADATA +0 -112
- meteostat-1.7.6.dist-info/RECORD +0 -39
- meteostat-1.7.6.dist-info/top_level.txt +0 -1
- /meteostat/{core → api}/__init__.py +0 -0
- /meteostat/{enumerations → interpolation}/__init__.py +0 -0
- /meteostat/{interface → providers}/__init__.py +0 -0
- /meteostat/{interface/interpolate.py → py.typed} +0 -0
- /meteostat/{series → utils}/__init__.py +0 -0
- {meteostat-1.7.6.dist-info → meteostat-2.0.1.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Utilities - Aggregation Methods
|
|
3
|
-
|
|
4
|
-
Meteorological data provided by Meteostat (https://dev.meteostat.net)
|
|
5
|
-
under the terms of the Creative Commons Attribution-NonCommercial
|
|
6
|
-
4.0 International Public License.
|
|
7
|
-
|
|
8
|
-
The code is licensed under the MIT license.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
import numpy as np
|
|
12
|
-
import pandas as pd
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def weighted_average(step: pd.DataFrame) -> pd.DataFrame:
|
|
16
|
-
"""
|
|
17
|
-
Calculate weighted average from grouped data
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
data = np.ma.masked_array(step, np.isnan(step))
|
|
21
|
-
data = np.ma.average(data, axis=0, weights=data[:, -2])
|
|
22
|
-
data = data.filled(np.nan)
|
|
23
|
-
|
|
24
|
-
return pd.DataFrame(data=[data], columns=step.columns)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def degree_mean(data: pd.Series) -> float:
|
|
28
|
-
"""
|
|
29
|
-
Return the mean of a list of degrees
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
if data.isnull().all():
|
|
33
|
-
return np.nan
|
|
34
|
-
|
|
35
|
-
rads = np.deg2rad(data)
|
|
36
|
-
sums = np.arctan2(np.sum(np.sin(rads)), np.sum(np.cos(rads)))
|
|
37
|
-
return (np.rad2deg(sums) + 360) % 360
|
meteostat/utilities/endpoint.py
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Utilities - Endpoint Helpers
|
|
3
|
-
|
|
4
|
-
Meteorological data provided by Meteostat (https://dev.meteostat.net)
|
|
5
|
-
under the terms of the Creative Commons Attribution-NonCommercial
|
|
6
|
-
4.0 International Public License.
|
|
7
|
-
|
|
8
|
-
The code is licensed under the MIT license.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
from typing import Union
|
|
12
|
-
from meteostat.enumerations.granularity import Granularity
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def generate_endpoint_path(
|
|
16
|
-
granularity: Granularity,
|
|
17
|
-
station: str,
|
|
18
|
-
year: Union[int, None] = None,
|
|
19
|
-
map_file: bool = False, # Is a source map file?
|
|
20
|
-
) -> str:
|
|
21
|
-
"""
|
|
22
|
-
Generate Meteostat Bulk path
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
# Base path
|
|
26
|
-
path = f"{granularity.value}/"
|
|
27
|
-
|
|
28
|
-
if granularity in (Granularity.HOURLY, Granularity.DAILY) and year:
|
|
29
|
-
path += f"{year}/"
|
|
30
|
-
|
|
31
|
-
appendix = ".map" if map_file else ""
|
|
32
|
-
|
|
33
|
-
return f"{path}{station}{appendix}.csv.gz"
|
meteostat/utilities/helpers.py
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Utilities - Helpers
|
|
3
|
-
|
|
4
|
-
Meteorological data provided by Meteostat (https://dev.meteostat.net)
|
|
5
|
-
under the terms of the Creative Commons Attribution-NonCommercial
|
|
6
|
-
4.0 International Public License.
|
|
7
|
-
|
|
8
|
-
The code is licensed under the MIT license.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
from typing import Optional
|
|
12
|
-
import numpy as np
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def get_distance(lat1, lon1, lat2, lon2) -> float:
|
|
16
|
-
"""
|
|
17
|
-
Calculate distance between weather station and geo point
|
|
18
|
-
"""
|
|
19
|
-
# Earth radius in meters
|
|
20
|
-
radius = 6371000
|
|
21
|
-
|
|
22
|
-
# Degress to radian
|
|
23
|
-
lat1, lon1, lat2, lon2 = map(np.deg2rad, [lat1, lon1, lat2, lon2])
|
|
24
|
-
|
|
25
|
-
# Deltas
|
|
26
|
-
dlat = lat2 - lat1
|
|
27
|
-
dlon = lon2 - lon1
|
|
28
|
-
|
|
29
|
-
# Calculate distance
|
|
30
|
-
arch = np.sin(dlat / 2) ** 2 + np.cos(lat1) * np.cos(lat2) * np.sin(dlon / 2) ** 2
|
|
31
|
-
arch_sin = 2 * np.arcsin(np.sqrt(arch))
|
|
32
|
-
|
|
33
|
-
return radius * arch_sin
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
def _get_flag_from_single_source(
|
|
37
|
-
source: str, source_mappings: dict, model_flag: str
|
|
38
|
-
) -> str:
|
|
39
|
-
"""
|
|
40
|
-
Get flag from single source
|
|
41
|
-
"""
|
|
42
|
-
if source in source_mappings:
|
|
43
|
-
return source_mappings[source]
|
|
44
|
-
return model_flag
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def get_flag_from_source_factory(source_mappings: dict, model_flag: str) -> str:
|
|
48
|
-
"""
|
|
49
|
-
Get flag from source
|
|
50
|
-
"""
|
|
51
|
-
|
|
52
|
-
def _get_flag_from_source(source: Optional[str]) -> str:
|
|
53
|
-
sources = source.split(" ")
|
|
54
|
-
|
|
55
|
-
flags = [
|
|
56
|
-
_get_flag_from_single_source(src, source_mappings, model_flag)
|
|
57
|
-
for src in sources
|
|
58
|
-
]
|
|
59
|
-
|
|
60
|
-
return "".join(flags)
|
|
61
|
-
|
|
62
|
-
return _get_flag_from_source
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def with_suffix(items, suffix):
|
|
66
|
-
"""
|
|
67
|
-
Takes a list of strings and a suffix, returns a new list containing
|
|
68
|
-
the same items with the suffix added.
|
|
69
|
-
"""
|
|
70
|
-
return [item + suffix for item in items]
|
meteostat/utilities/mutations.py
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Utilities - DataFrame Mutations
|
|
3
|
-
|
|
4
|
-
Meteorological data provided by Meteostat (https://dev.meteostat.net)
|
|
5
|
-
under the terms of the Creative Commons Attribution-NonCommercial
|
|
6
|
-
4.0 International Public License.
|
|
7
|
-
|
|
8
|
-
The code is licensed under the MIT license.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
from datetime import datetime
|
|
12
|
-
from typing import Union
|
|
13
|
-
import numpy as np
|
|
14
|
-
import pandas as pd
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def localize(df: pd.DataFrame, timezone: str) -> pd.DataFrame:
|
|
18
|
-
"""
|
|
19
|
-
Convert time data to any time zone
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
return df.tz_localize("UTC", level="time").tz_convert(timezone, level="time")
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def filter_time(
|
|
26
|
-
df: pd.DataFrame,
|
|
27
|
-
start: Union[datetime, None] = None,
|
|
28
|
-
end: Union[datetime, None] = None,
|
|
29
|
-
) -> pd.DataFrame:
|
|
30
|
-
"""
|
|
31
|
-
Filter time series data based on start and end date
|
|
32
|
-
"""
|
|
33
|
-
|
|
34
|
-
# Get time index
|
|
35
|
-
time = df.index.get_level_values("time")
|
|
36
|
-
|
|
37
|
-
# If no time index, return original DataFrame
|
|
38
|
-
if len(time) == 0:
|
|
39
|
-
return df
|
|
40
|
-
|
|
41
|
-
# Filter & return
|
|
42
|
-
return df.loc[(time >= start) & (time <= end)] if start and end else df
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
def adjust_temp(df: pd.DataFrame, alt: int):
|
|
46
|
-
"""
|
|
47
|
-
Adjust temperature-like data based on altitude
|
|
48
|
-
"""
|
|
49
|
-
|
|
50
|
-
# Default temperature difference by 100 meters
|
|
51
|
-
temp_diff = 0.6
|
|
52
|
-
|
|
53
|
-
# Temperature-like columns
|
|
54
|
-
temp_like = ("temp", "dwpt", "tavg", "tmin", "tmax")
|
|
55
|
-
|
|
56
|
-
# Adjust values for all temperature-like data
|
|
57
|
-
for col_name in temp_like:
|
|
58
|
-
if col_name in df.columns:
|
|
59
|
-
df.loc[df[col_name] != np.nan, col_name] = df[col_name] + (
|
|
60
|
-
temp_diff * ((df["elevation"] - alt) / 100)
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
return df
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def calculate_dwpt(df: pd.DataFrame, col: str) -> pd.DataFrame:
|
|
67
|
-
"""
|
|
68
|
-
Calculate dew point temperature
|
|
69
|
-
"""
|
|
70
|
-
# Check if required columns exist
|
|
71
|
-
if "temp" not in df.columns or "rhum" not in df.columns:
|
|
72
|
-
return df
|
|
73
|
-
|
|
74
|
-
magnus_const_a = 17.27
|
|
75
|
-
magnus_const_b = 237.7 # degrees Celsius
|
|
76
|
-
|
|
77
|
-
temperature = df["temp"]
|
|
78
|
-
relative_humidity = df["rhum"]
|
|
79
|
-
|
|
80
|
-
alpha = (
|
|
81
|
-
(magnus_const_a * temperature) / (magnus_const_b + temperature)
|
|
82
|
-
) + np.log(relative_humidity / 100.0)
|
|
83
|
-
df[col] = (magnus_const_b * alpha) / (magnus_const_a - alpha)
|
|
84
|
-
|
|
85
|
-
df[col] = df[col].round(1)
|
|
86
|
-
|
|
87
|
-
df[f"{col}_flag"] = df[["temp_flag", "rhum_flag"]].max(axis=1, skipna=True)
|
|
88
|
-
|
|
89
|
-
return df
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Utilities - Validations
|
|
3
|
-
|
|
4
|
-
Meteorological data provided by Meteostat (https://dev.meteostat.net)
|
|
5
|
-
under the terms of the Creative Commons Attribution-NonCommercial
|
|
6
|
-
4.0 International Public License.
|
|
7
|
-
|
|
8
|
-
The code is licensed under the MIT license.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
import pandas as pd
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def validate_series(df: pd.DataFrame, station: str) -> pd.DataFrame:
|
|
15
|
-
"""
|
|
16
|
-
Make sure a series is formatted correctly
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
# Add missing column(s)
|
|
20
|
-
if "time" not in df.columns:
|
|
21
|
-
df["time"] = None
|
|
22
|
-
|
|
23
|
-
# Add weather station ID
|
|
24
|
-
df["station"] = station
|
|
25
|
-
|
|
26
|
-
# Set index
|
|
27
|
-
df = df.set_index(["station", "time"])
|
|
28
|
-
|
|
29
|
-
# Return DataFrame
|
|
30
|
-
return df
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: meteostat
|
|
3
|
-
Version: 1.7.6
|
|
4
|
-
Summary: Access and analyze historical weather and climate data with Python.
|
|
5
|
-
Home-page: https://github.com/meteostat/meteostat-python
|
|
6
|
-
Author: Meteostat
|
|
7
|
-
Author-email: info@meteostat.net
|
|
8
|
-
License: MIT
|
|
9
|
-
Keywords: weather,climate,data,timeseries,meteorology
|
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
-
Classifier: Operating System :: OS Independent
|
|
13
|
-
Classifier: Topic :: Database
|
|
14
|
-
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
|
|
15
|
-
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
16
|
-
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
17
|
-
Requires-Python: >=3.8.0
|
|
18
|
-
Description-Content-Type: text/markdown
|
|
19
|
-
License-File: LICENSE
|
|
20
|
-
Requires-Dist: pandas>=2
|
|
21
|
-
Requires-Dist: pytz
|
|
22
|
-
Requires-Dist: numpy
|
|
23
|
-
|
|
24
|
-
# Meteostat Python Package
|
|
25
|
-
|
|
26
|
-
The Meteostat Python library provides a simple API for accessing open weather and climate data. The historical observations and statistics are collected by [Meteostat](https://meteostat.net) from different public interfaces, most of which are governmental.
|
|
27
|
-
|
|
28
|
-
Among the data sources are national weather services like the National Oceanic and Atmospheric Administration (NOAA) and Germany's national weather service (DWD).
|
|
29
|
-
|
|
30
|
-
Are you looking for a **hosted solution**? Try our [JSON API](https://rapidapi.com/meteostat/api/meteostat/).
|
|
31
|
-
|
|
32
|
-
## Installation
|
|
33
|
-
|
|
34
|
-
The Meteostat Python package is available through [PyPI](https://pypi.org/project/meteostat/):
|
|
35
|
-
|
|
36
|
-
```sh
|
|
37
|
-
pip install meteostat
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Meteostat **requires Python 3.6** or higher. If you want to visualize data, please install Matplotlib, too.
|
|
41
|
-
|
|
42
|
-
## Documentation
|
|
43
|
-
|
|
44
|
-
The Meteostat Python library is divided into multiple classes which provide access to the actual data. The [documentation](https://dev.meteostat.net/python/) covers all aspects of the library:
|
|
45
|
-
|
|
46
|
-
* **Selecting Locations**
|
|
47
|
-
* [Geographical Point](https://dev.meteostat.net/python/point.html)
|
|
48
|
-
* [Weather Stations](https://dev.meteostat.net/python/stations.html)
|
|
49
|
-
* **Time Series**
|
|
50
|
-
* [Hourly Data](https://dev.meteostat.net/python/hourly.html)
|
|
51
|
-
* [Daily Data](https://dev.meteostat.net/python/daily.html)
|
|
52
|
-
* [Monthly Data](https://dev.meteostat.net/python/monthly.html)
|
|
53
|
-
* **Miscellaneous Data**
|
|
54
|
-
* [Climate Normals](https://dev.meteostat.net/python/normals.html)
|
|
55
|
-
* **Library**
|
|
56
|
-
* [Contributing](https://dev.meteostat.net/python/contributing.html)
|
|
57
|
-
* [Formats & Units](https://dev.meteostat.net/formats.html)
|
|
58
|
-
* [Data Sources](https://dev.meteostat.net/sources.html)
|
|
59
|
-
* [Terms & License](https://dev.meteostat.net/terms.html)
|
|
60
|
-
|
|
61
|
-
## Example
|
|
62
|
-
|
|
63
|
-
Let's plot 2018 temperature data for Vancouver, BC:
|
|
64
|
-
|
|
65
|
-
```python
|
|
66
|
-
# Import Meteostat library and dependencies
|
|
67
|
-
from datetime import datetime
|
|
68
|
-
import matplotlib.pyplot as plt
|
|
69
|
-
from meteostat import Point, Daily
|
|
70
|
-
|
|
71
|
-
# Set time period
|
|
72
|
-
start = datetime(2018, 1, 1)
|
|
73
|
-
end = datetime(2018, 12, 31)
|
|
74
|
-
|
|
75
|
-
# Create Point for Vancouver, BC
|
|
76
|
-
location = Point(49.2497, -123.1193, 70)
|
|
77
|
-
|
|
78
|
-
# Get daily data for 2018
|
|
79
|
-
data = Daily(location, start, end)
|
|
80
|
-
data = data.fetch()
|
|
81
|
-
|
|
82
|
-
# Plot line chart including average, minimum and maximum temperature
|
|
83
|
-
data.plot(y=['tavg', 'tmin', 'tmax'])
|
|
84
|
-
plt.show()
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Take a look at the expected output:
|
|
88
|
-
|
|
89
|
-

|
|
90
|
-
|
|
91
|
-
## Contributing
|
|
92
|
-
|
|
93
|
-
Instructions on building and testing the Meteostat Python package can be found in the [documentation](https://dev.meteostat.net/python/contributing.html). More information about the Meteostat bulk data interface is available [here](https://dev.meteostat.net/bulk/).
|
|
94
|
-
|
|
95
|
-
## Donating
|
|
96
|
-
|
|
97
|
-
If you want to support the project financially, you can make a donation using one of the following services:
|
|
98
|
-
|
|
99
|
-
* [GitHub](https://github.com/sponsors/clampr)
|
|
100
|
-
* [Patreon](https://www.patreon.com/meteostat)
|
|
101
|
-
* [PayPal](https://www.paypal.com/donate?hosted_button_id=MQ67WRDC8EW38)
|
|
102
|
-
|
|
103
|
-
## Data License
|
|
104
|
-
|
|
105
|
-
Meteorological data is provided under the terms of the [Creative Commons Attribution-NonCommercial 4.0 International Public License (CC BY-NC 4.0)](https://creativecommons.org/licenses/by-nc/4.0/legalcode). You may build upon the material
|
|
106
|
-
for any purpose, even commercially. However, you are not allowed to redistribute Meteostat data "as-is" for commercial purposes.
|
|
107
|
-
|
|
108
|
-
By using the Meteostat Python library you agree to our [terms of service](https://dev.meteostat.net/terms.html). All meteorological data sources used by the Meteostat project are listed [here](https://dev.meteostat.net/sources.html).
|
|
109
|
-
|
|
110
|
-
## Code License
|
|
111
|
-
|
|
112
|
-
The code of this library is available under the [MIT license](https://opensource.org/licenses/MIT).
|
meteostat-1.7.6.dist-info/RECORD
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
meteostat/__init__.py,sha256=QnC-Q27sHd1SoDnSB_o8QriQOOPsiyZQKkoViInybu8,989
|
|
2
|
-
meteostat/units.py,sha256=G0vh2tYsp0ESGUpg3ZAE0U-b9Ih_oMtPNDZ71Bbq3iE,2566
|
|
3
|
-
meteostat/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
meteostat/core/cache.py,sha256=MEC6Hcf2rwg3__zv_Y1nSk16mfdTsrLH9CTraMX7NYw,1764
|
|
5
|
-
meteostat/core/loader.py,sha256=bAItihzJrabglu37NN697WX_csltOviC9u7twAtV8rY,2842
|
|
6
|
-
meteostat/core/warn.py,sha256=K9fBDoY2TIC2HjmCJl0k1Dq-dWA1hNq16OTLoG2F_rI,647
|
|
7
|
-
meteostat/enumerations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
meteostat/enumerations/granularity.py,sha256=lmhlHDUPvCwb05fDxYNG4GEuYCgy-u-AiZhpXJOj3uY,457
|
|
9
|
-
meteostat/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
meteostat/interface/base.py,sha256=8ksGkdgyRDw2AA5ZwuES9XuBjseBPoNBBQiNspVp2JA,968
|
|
11
|
-
meteostat/interface/daily.py,sha256=Rx-_U_t2iX-4wtBdieihioeo99mKEplrZaM23YRkwnM,2949
|
|
12
|
-
meteostat/interface/hourly.py,sha256=nP4hIjxYbcZk0ua6m6fclAXfuhrxzB3jHPyiz3dLNs4,3965
|
|
13
|
-
meteostat/interface/interpolate.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
meteostat/interface/meteodata.py,sha256=Om7570m0LQ0BYyuEirr7zzFZ4r1f28rL1CTk9k_PPTs,6520
|
|
15
|
-
meteostat/interface/monthly.py,sha256=LbeXgodQcVX0h987bv2lEJvewIcQkgt5Co_dyJ14F_A,2577
|
|
16
|
-
meteostat/interface/normals.py,sha256=xBUBCjle8awhHgDWi6FOTfIMN4MdOrYFXuoLceCQVxE,7108
|
|
17
|
-
meteostat/interface/point.py,sha256=lnKyvaclcsOXaErpPpaH0_3T1j2X7kgCKlIhk4s-EGQ,3801
|
|
18
|
-
meteostat/interface/stations.py,sha256=hC2DmtE24u--lb3jbkFVMkFDKCR-LP5h8uXSOIb4_hg,6683
|
|
19
|
-
meteostat/interface/timeseries.py,sha256=Dm8s59X3S9GcSOZ1mSrUv_xxjVOU6XJr06hQjbo73z8,7960
|
|
20
|
-
meteostat/series/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
meteostat/series/aggregate.py,sha256=dhYx1c2OzOgEcdUNCrmT4zdYY1UuT4PhkWYRirmx7v0,1200
|
|
22
|
-
meteostat/series/convert.py,sha256=Uu76hw-M1QzwYuliA2hp0Dl9f1YyNaLE3AQTyaask60,641
|
|
23
|
-
meteostat/series/count.py,sha256=kV0Oztmy1K0E3Z1h8Na9twxUhujRepRMtGzM_CNInJc,358
|
|
24
|
-
meteostat/series/coverage.py,sha256=76PlEoVPM_-4Oys-6THggV-7gESbPM6Cx0m1n0-1YcM,534
|
|
25
|
-
meteostat/series/fetch.py,sha256=MIrkhhtAucThO06Bcc92c6rrc3v5G31VBI0TkQd0oZ0,620
|
|
26
|
-
meteostat/series/interpolate.py,sha256=tM41T_Hgc4Q2tAlommB5aRLvA3QVjX82WXXLVImSAJ4,1193
|
|
27
|
-
meteostat/series/normalize.py,sha256=-eOa21NbV5vMSy3MSIiKhDbni5KCa2UV_CNf3A_JWTk,2151
|
|
28
|
-
meteostat/series/stations.py,sha256=pHDQR1t7Z7jN5Vaj8wdNnSsZI8s6SiH5bNeTbys3TjA,447
|
|
29
|
-
meteostat/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
meteostat/utilities/aggregations.py,sha256=-t4ZBNM8cnwnuiR7Bzt7OlUQxNJMZkqS3E4AIMrJg3M,915
|
|
31
|
-
meteostat/utilities/endpoint.py,sha256=ndHSMGi5LhB1yrjA3f6pDbe-0glnnDAX7IInp0Gscik,806
|
|
32
|
-
meteostat/utilities/helpers.py,sha256=wt11OXHzIDw3DY98XGIfcrh1bPCC9dClVnNdGtqvz4U,1691
|
|
33
|
-
meteostat/utilities/mutations.py,sha256=yzOXJquXGaroDAv_Xb7G4nxQE7vpoQojqGiTJn3cyq0,2274
|
|
34
|
-
meteostat/utilities/validations.py,sha256=MlKY1gkeqmovFr4lR_iM6Bk7yuGdSgy0NGceiqYI7Vs,646
|
|
35
|
-
meteostat-1.7.6.dist-info/LICENSE,sha256=kqpl7FVzWOCe11BZqJBZ1aRQi-aK87j3ljtG7P3VxLc,1066
|
|
36
|
-
meteostat-1.7.6.dist-info/METADATA,sha256=yckdIiOARcU5WqCR5PdSfc9l6Ysxg5H5IXcFTj2O1xE,4633
|
|
37
|
-
meteostat-1.7.6.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
38
|
-
meteostat-1.7.6.dist-info/top_level.txt,sha256=s8LP1xi5iF2zhVv5ULkHwW-tPeMrljxnA8VqZibQqro,10
|
|
39
|
-
meteostat-1.7.6.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
meteostat
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|