Skip to main content

SAbDab CLI

PyPI version Python versions License: MIT Ruff

A fast, multithreaded CLI for downloading data from SAbDab (the Structural Antibody Database). This tool is an alternative to the SAbDab downloader script.

Here is sabdab-cli in action:

Image of progress bars triggered by a download command

Highlights

  • ⚡ Concurrent Downloads: High-performance async I/O for rapid data acquisition.
  • 🛡️ Robust Retries: Built-in exponential backoff for transient network issues.
  • 📊 Rich Progress: Beautiful terminal progress bars and informative feedback.
  • 📦 Atomic Writes: Prevents data corruption by using temporary files during downloads.

Installation

With uv (recommended):

uv add sabdab-cli

With pip:

pip install sabdab-cli

Or run directly without installing:

uvx sabdab-cli download -s summary.csv -o ./data --original-pdb

HTTP/2 Support (Optional)

For potentially faster downloads using HTTP/2, install with the http2 extra:

uv add "sabdab-cli[http2]"

Usage

You can invoke with sabdab-cli or sabdabc.

Download selected data types for entries in a SAbDab summary file:

sabdab-cli download \
  --summary-file summary.csv \
  --output-path ./data \
  --original-pdb \
  --chothia-pdb \
  --sequences \
  --annotation \
  --threads 10

Available Data Types

Flag Description
--original-pdb Original PDB structures
--chothia-pdb Chothia-renumbered PDB structures
--sequences Sequence FASTA files
--annotation Chothia-numbered sequence annotations
--abangle AbAngle orientation angles
--imgt IMGT annotations

Summary File Format

The --summary-file (or -s) argument should be a tab-separated or comma-separated file containing at least the following columns: pdb, Hchain, Lchain, and model. The CLI automatically detects the delimiter based on the file content.

See the test summary file for an example.

Performance Tuning

By default, sabdab-cli uses adaptive concurrency based on your CPU count. You can manually adjust this for your environment:

# High-concurrency mode (e.g., 20 threads)
sabdabc download -s summary.csv -o ./data --original-pdb --threads 20

# Synchronous mode (single thread)
sabdabc download -s summary.csv -o ./data --original-pdb --threads 1

# Enable HTTP/2 for faster downloads (requires sabdab-cli[http2])
sabdabc download -s summary.csv -o ./data --original-pdb --http2

License

MIT

Metadata

Release files for sabdab-cli 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sabdab-cli 0.2.0
File Size Uploaded Provenance Actions
sabdab_cli-0.2.0.tar.gz 10.7 kB Without provenance Details for sabdab_cli-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sabdab-cli 0.2.0
File Interpreter ABI Platform Actions
sabdab_cli-0.2.0-py3-none-any.whl Python 3 none any Details for sabdab_cli-0.2.0-py3-none-any.whl

Total release size: 25.0 kB

Release files / sabdab_cli-0.2.0.tar.gz

Download URL sabdab_cli-0.2.0.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a2b1f93b0798e052475ae18797366a8784c43d4023a457865792f045b4ea4394
BLAKE2b-256 checksum
How to use checksums
cd1d7d4511a9418a55d811c9df1f247037b8cc6e1a4b5b278d9746f02b2193fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / sabdab_cli-0.2.0-py3-none-any.whl

Download URL sabdab_cli-0.2.0-py3-none-any.whl
Size 14.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8e0880ed84f668f014a4f5bcf41cb921ce53b02d437ff14f984c9628003fc09
BLAKE2b-256 checksum
How to use checksums
4ee05f9b37128ac71353277fd9f96c1f51e4bd611d5029c8d840eb034a8e70e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for sabdab-cli 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page