Xarray tutorial with custom SSL cert?
rsignell opened this issue · 3 comments
rsignell commented
I'm on a secure NATO system with a custom SSL cert and when I try to load some xarray tutorial data:
import xarray as xr
ds = xr.tutorial.open_dataset("air_temperature").isel(time=slice(0, 100))
I get back:
---------------------------------------------------------------------------
SSLCertVerificationError Traceback (most recent call last)
File ~/miniforge3/envs/pangeo/lib/python3.10/site-packages/urllib3/connectionpool.py:703, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
702 # Make the request on the httplib connection object.
--> 703 httplib_response = self._make_request(
704 conn,
With other packages I can set an environment variable to point to the custom .pem, like:
os.environ['AWS_CA_BUNDLE']='/home/shared/PA-RootCA-Cert-2023-Pub.pem' # s3
os.environ['REQUESTS_CA_BUNDLE']='/home/shared/PA-RootCA-Cert-2023-Pub.pem' # requests
but there doesn't seem to be such an environment variable for urllib3?
I see this info in the urlib3 docs about custom SSL, but I'm not sure how I could pass this custom context to the xr.tutorial.open_dataset command.
Does anyone know how to overcome this issue?
dcherian commented
We use pooch: https://www.fatiando.org/pooch/latest/index.html. Perhaps there's something there?
It would be good to add the answer here once we figure this out: https://tutorial.xarray.dev/overview/get-started.html
rsignell commented
Sadly no. 🥲