You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feature: add configurable HTTP retry strategy with exponential backoff for network requests #91
Describe the feature you'd like
Implement a centralized HTTP requests.Session with urllib3.util.Retry configured for exponential backoff and jitter, and expose --max-retries and --request-timeout options across CLI commands.
Why is this feature important?
Currently, download.py, deploy.py, delete.py, and webdav.py use direct requests.get(), requests.post(), and requests.delete() calls without automated retry handling.
During large dataset downloads, WebDAV uploads, or Databus SPARQL queries:
Transient network drops, 429 Rate Limits, or 502/503/504 gateway timeouts cause the execution to crash abruptly without retrying.
Describe alternatives you've considered
Users must manually re-run failed CLI commands from scratch, which wastes network bandwidth during multi-gigabyte dataset downloads.
Additional context
Affected files: databusclient/api/utils.py, download.py, deploy.py, and extensions/webdav.py.
Recommended retry status codes: [429, 500, 502, 503, 504].
Expose --max-retries (default: 3) and --request-timeout (default: 30s) as CLI flags.
Activity