pydata / pydata/xarray

Provide a way to specify how long open_dataset tries to fetch data before timing out

Open
#7,758 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement topic-backends
Dominant language
Python
Stars
4.2k
Forks
1.4k
Avg merge
2d 15h
Merged PRs (30d)
14

Description

Is your feature request related to a problem?

I encountered an issue with the open_dataset function in my code when the server I fetch data from experienced a network issue. The whole script froze because open_dataset was unable to fetch the data from the server.

Describe the solution you'd like

An argument that allows you to specify how long open_dataset tries to fetch the data before timing out.

Describe alternatives you've considered

Right now I'm considering trying to send a HEAD request to the server and checking the response with a try-except block to catch a bad status code. I'm not sure how robust this alternative is, and I would prefer if there would be a way to natively specify a timeout in open_dataset.

Additional context

No response

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.

Research direction

Start at the open_dataset entry point and trace how it fetches data from a remote server. Determine where a timeout can be exposed and how its behavior should be defined; done means callers can specify a fetch timeout so a network failure does not leave the operation waiting indefinitely, with coverage for the timeout behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.