SAbDab CLI
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:
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
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.