WxData - A Python Package that acts as a data managing/processing client works on VPN/PROXY connections

Hi all!

I figured this forum is a great place to raise awareness about a new Python package I created called WxData (first released in November 2025 available on Anaconda and PYPI). WxData is a Python package that utilizes the requests, pandas and xarray libraries to download, pre-process and post-process various types of weather data. This package is especially geared towards people interested in creating automated workflows to download and process various types of weather data.

This package has some safety features automatically built in. These features are:

  1. A scanner to make sure the latest files on your local machine are up to date with the latest files on the data servers to minimize unnecessary repetitive downloads (a common mistake made by new developers or people new to automating workflows).

  2. To preserve system memory, old data files are automatically deleted before the download of the new data files.

  3. To further preserve system memory, users can change the optional argument of clear_recycle_bin=False to clear_recycle_bin=True in WxData >= 1.2.5. If the user is running WxData < 1.2.5 then clear_recycle_bin=True is the default setting in the client function.

This package also extracts the variables for each GRIB ‘typeOfLevel’ into a dataset and builds those datasets into one dataset with all the variables, thus no more Dataset Build Errors and all the data is unlocked.

This package also remaps all the GRIB variable keys into a plain language format so people who are learning data analysis in Python don’t need to spend lots of time figuring out what each variable key means (i.e. ‘r2’ —> ‘2m_relative_humidity’). This can be very helpful given different level types (i.e. surface vs. pressure) use the same variable keys.

Another thing that makes WxData unique is the ability for this to work for users who are on VPN/PROXY connections to prevent SSL Certificate Errors. Users define their own VPN/PROXY address and port as a dictionary and then pass that in as an optional argument. WxData defaults to proxies=Noneso this will need to be modified by users who are on a VPN/PROXY connection. For information on how to configure a VPN/PROXY connection, please see the WxData documentation below.

WxData Documentation & Jupyter Lab Examples

WxData Github Repository

I think this package will make downloading and processing weather data easier for everyone, from students first learning working with weather data in Python to people setting up automated workflows on VPN/PROXY connections and everyone in between.

If you made it this far in my post, thank you for reading and I hope you find WxData useful!

Regards,

Eric J. Drewitz

2 Likes