wxdata 2.0.1__tar.gz → 2.0.2__tar.gz
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.
- {wxdata-2.0.1/src/wxdata.egg-info → wxdata-2.0.2}/PKG-INFO +1 -1
- {wxdata-2.0.1 → wxdata-2.0.2}/pyproject.toml +1 -1
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/client/byte_range.py +1 -29
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/progress_bar.py +1 -29
- {wxdata-2.0.1 → wxdata-2.0.2/src/wxdata.egg-info}/PKG-INFO +1 -1
- {wxdata-2.0.1 → wxdata-2.0.2}/LICENSE +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/README.md +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/setup.cfg +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigefs/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigefs/aigefs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigefs/paths.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigefs/url_scanners.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigfs/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigfs/aigfs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigfs/paths.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/aigfs/url_scanners.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/calc/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/calc/derived_fields.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/calc/kinematics.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/calc/thermodynamics.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/calc/unit_conversion.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/cfs/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/cfs/cfs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/cfs/file_scanner.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/cfs/url_scanners.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/client/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/client/client.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/client/level_coords.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/ecmwf/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/ecmwf/ecmwf.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/ecmwf/file_funcs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/ecmwf/keys.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/ecmwf/parsers.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/ecmwf/paths.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/ecmwf/url_scanners.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/fems/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/fems/meta_data.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/fems/observations.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gefs/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gefs/exception_messages.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gefs/file_funcs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gefs/gefs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gefs/paths.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gefs/url_scanners.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gfs/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gfs/exception_messages.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gfs/gfs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gfs/paths.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/gfs/url_scanners.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/hgefs/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/hgefs/hgefs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/hgefs/paths.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/hgefs/url_scanner.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/metars/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/metars/_clean_data.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/metars/metar_obs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/noaa/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/noaa/nws.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/aigefs_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/aigfs_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/cfs_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/ecmwf_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/gefs_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/gfs_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/hgefs_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/post_processors/rtma_post_processing.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/radar/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/radar/nexrad2.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/radar/url_scanner.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/rtma/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/rtma/file_funcs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/rtma/file_scanner.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/rtma/keys.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/rtma/rtma.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/rtma/url_scanners.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/soundings/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/soundings/_exceptions.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/soundings/wyoming_soundings.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/__init__.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/coords.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/exceptions.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/file_funcs.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/file_scanner.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/nomads_gribfilter.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/recycle_bin.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/scripts.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/tools.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata/utils/xmacis2_cleanup.py +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata.egg-info/SOURCES.txt +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata.egg-info/dependency_links.txt +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata.egg-info/requires.txt +0 -0
- {wxdata-2.0.1 → wxdata-2.0.2}/src/wxdata.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wxdata
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: A Python package of end-to-end weather data clients & raw data clients with VPN/PROXY support, data processors that decode variable keys from GRIB format into a plain-language format & various tools for assisting Python automated workflows, querying meteorological datasets and filling gaps in meteorological data.
|
|
5
5
|
Author: Eric J. Drewitz
|
|
6
6
|
Project-URL: Documentation, https://github.com/edrewitz/wxdata/blob/main/Documentation/Landing%20Page.md
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "wxdata"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.2"
|
|
4
4
|
description = "A Python package of end-to-end weather data clients & raw data clients with VPN/PROXY support, data processors that decode variable keys from GRIB format into a plain-language format & various tools for assisting Python automated workflows, querying meteorological datasets and filling gaps in meteorological data."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -6,35 +6,7 @@ This file hosts the function that fetches the byte-range for a variable.
|
|
|
6
6
|
|
|
7
7
|
import requests
|
|
8
8
|
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
def is_jupyter_notebook() -> bool:
|
|
12
|
-
"""
|
|
13
|
-
Checks if the code is running within a Jupyter Notebook environment.
|
|
14
|
-
|
|
15
|
-
Returns:
|
|
16
|
-
--------
|
|
17
|
-
bool
|
|
18
|
-
True if running in a Jupyter Notebook/Lab, False otherwise.
|
|
19
|
-
"""
|
|
20
|
-
# 1. Quick check for the ipykernel module in active memory
|
|
21
|
-
if 'ipykernel' not in sys.modules:
|
|
22
|
-
return False
|
|
23
|
-
|
|
24
|
-
# 2. Confirm by checking the active IPython shell type
|
|
25
|
-
try:
|
|
26
|
-
from IPython import get_ipython
|
|
27
|
-
shell = get_ipython().__class__.__name__
|
|
28
|
-
return shell == 'ZMQInteractiveShell'
|
|
29
|
-
except (ImportError, NameError):
|
|
30
|
-
return False # Probably standard Python interpreter
|
|
31
|
-
|
|
32
|
-
NOTEBOOK = is_jupyter_notebook()
|
|
33
|
-
|
|
34
|
-
if NOTEBOOK == False:
|
|
35
|
-
from tqdm.auto import tqdm
|
|
36
|
-
else:
|
|
37
|
-
from tqdm.notebook import tqdm
|
|
9
|
+
from tqdm.auto import tqdm
|
|
38
10
|
|
|
39
11
|
|
|
40
12
|
def fetch_range(url,
|
|
@@ -3,36 +3,8 @@ This file hosts a function that displays a progress bar for downloading a file.
|
|
|
3
3
|
|
|
4
4
|
(C) Eric J. Drewitz 2025-2026
|
|
5
5
|
"""
|
|
6
|
+
from tqdm.auto import tqdm
|
|
6
7
|
|
|
7
|
-
import sys
|
|
8
|
-
|
|
9
|
-
def is_jupyter_notebook() -> bool:
|
|
10
|
-
"""
|
|
11
|
-
Checks if the code is running within a Jupyter Notebook environment.
|
|
12
|
-
|
|
13
|
-
Returns:
|
|
14
|
-
--------
|
|
15
|
-
bool
|
|
16
|
-
True if running in a Jupyter Notebook/Lab, False otherwise.
|
|
17
|
-
"""
|
|
18
|
-
# 1. Quick check for the ipykernel module in active memory
|
|
19
|
-
if 'ipykernel' not in sys.modules:
|
|
20
|
-
return False
|
|
21
|
-
|
|
22
|
-
# 2. Confirm by checking the active IPython shell type
|
|
23
|
-
try:
|
|
24
|
-
from IPython import get_ipython
|
|
25
|
-
shell = get_ipython().__class__.__name__
|
|
26
|
-
return shell == 'ZMQInteractiveShell'
|
|
27
|
-
except (ImportError, NameError):
|
|
28
|
-
return False # Probably standard Python interpreter
|
|
29
|
-
|
|
30
|
-
NOTEBOOK = is_jupyter_notebook()
|
|
31
|
-
|
|
32
|
-
if NOTEBOOK == False:
|
|
33
|
-
from tqdm.auto import tqdm
|
|
34
|
-
else:
|
|
35
|
-
from tqdm.notebook import tqdm
|
|
36
8
|
|
|
37
9
|
def progress_bar(response,
|
|
38
10
|
path,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wxdata
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: A Python package of end-to-end weather data clients & raw data clients with VPN/PROXY support, data processors that decode variable keys from GRIB format into a plain-language format & various tools for assisting Python automated workflows, querying meteorological datasets and filling gaps in meteorological data.
|
|
5
5
|
Author: Eric J. Drewitz
|
|
6
6
|
Project-URL: Documentation, https://github.com/edrewitz/wxdata/blob/main/Documentation/Landing%20Page.md
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|