Xarray tutorial with custom SSL cert?

Open
#251 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
25/100
Issue type
Documentation
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
documentation

Research direction

Start with the xarray.tutorial.open_dataset("air_temperature") entry point and the linked urllib3 custom SSL context documentation. Determine whether the tutorial exposes a supported way to use the reported .pem certificate, and document the applicable workaround or limitation so the example works or its requirements are clear.

Written by the indexing model from the issue text.

Description

bug

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?

Dominant language
Jupyter Notebook
Stars
204
Forks
121
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from xarray-contrib/xarray-tutorial

All issues in xarray-contrib/xarray-tutorial

Similar issues

More Documentation issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.