PEPHubClient
PEPHubClient is a tool to provide Python API and CLI for PEPhub.
Documentation: https://pep.databio.org
Source Code: https://github.com/pepkit/pephubclient
Installation
To install pepdbagent use this command:
pip install pephubclient
or install the latest version from the GitHub repository:
pip install git+https://github.com/pepkit/pephubclient.git
pephubclient features:
push(upload) projects)pull(download projects)
Additionally, our client supports pephub authorization. The authorization process is based on pephub device authorization protocol. To upload projects or to download private projects, user must be authorized through pephub.
If you want to use your own pephub instance, you can specify it by setting the PEPHUB_BASE_URL environment variable.
e.g. export PEPHUB_BASE_URL=https://pephub.databio.org/ (This is the original pephub instance)
To login, use the login argument; to logout, use logout.
login accepts two optional arguments:
--token— register a JWT token directly, skipping the browser device-code flow.--url— base URL of the pephub instance to authenticate against (overridesPEPHUB_BASE_URLfor this login).
e.g. phc login --token <JWT> --url https://pephub.databio.org/
Credentials are cached in $PH_HOME/jwt.toml, which stores both the token and its base URL.
PH_HOME defaults to ~/.pephubclient/; set the PH_HOME environment variable to use a different directory.
$ phc --help
Usage: pephubclient [OPTIONS] COMMAND [ARGS]...
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version -v │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the │
│ installation. │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ login Login to PEPhub │
│ logout Logout │
│ pull Download and save project locally. │
│ push Upload/update project in PEPhub │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
$ phc pull --help
Usage: pephubclient pull [OPTIONS] PROJECT_REGISTRY_PATH
Download and save project locally.
╭─ Arguments ─────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * project_registry_path TEXT [default: None] [required] │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --force --no-force Overwrite project if it exists. [default: no-force] │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
$ phc push --help
Usage: pephubclient push [OPTIONS] CFG
Upload/update project in PEPhub
╭─ Arguments ─────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * cfg TEXT Project config file (YAML) or sample table (CSV/TSV)with one row per sample to constitute │
│ project │
│ [default: None] │
│ [required] │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * --namespace TEXT Project namespace [default: None] [required] │
│ * --name TEXT Project name [default: None] [required] │
│ --tag TEXT Project tag [default: None] │
│ --force --no-force Force push to the database. Use it to update, or upload project. │
│ [default: no-force] │
│ --is-private --no-is-private Upload project as private. [default: no-is-private] │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pephubclient-0.6.0.tar.gz.
File metadata
- Download URL: pephubclient-0.6.0.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
562ce60ef8163ec6182be84cbd207ae8c1c82d823321443845fffa770f39e10d
|
|
| MD5 |
579bd1ca001502ce2760215cd4f4b2b1
|
|
| BLAKE2b-256 |
6cee515dee2d066093eff507b03b9b59673d1ca34bbf4d3afbb5b209b8e8e361
|
Provenance
The following attestation bundles were made for pephubclient-0.6.0.tar.gz:
Publisher:
python-publish.yml on pepkit/pephubclient
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pephubclient-0.6.0.tar.gz -
Subject digest:
562ce60ef8163ec6182be84cbd207ae8c1c82d823321443845fffa770f39e10d - Sigstore transparency entry: 2341959279
- Sigstore integration time:
-
Permalink:
pepkit/pephubclient@a5dd00f1011ec0f75ede0dd99ae45832bf6786de -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/pepkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@a5dd00f1011ec0f75ede0dd99ae45832bf6786de -
Trigger Event:
release
-
Statement type:
File details
Details for the file pephubclient-0.6.0-py3-none-any.whl.
File metadata
- Download URL: pephubclient-0.6.0-py3-none-any.whl
- Upload date:
- Size: 27.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94df00911682f545795f93d4079d12ef5c78ad4dcb628f18cbc25dd98cff4e0b
|
|
| MD5 |
f2b61e03e72fcda3350f49dcd72a4a02
|
|
| BLAKE2b-256 |
b4328173def7aae5ba99806bfec21f1e5e08c337fcc09709d75de6575a7faa94
|
Provenance
The following attestation bundles were made for pephubclient-0.6.0-py3-none-any.whl:
Publisher:
python-publish.yml on pepkit/pephubclient
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pephubclient-0.6.0-py3-none-any.whl -
Subject digest:
94df00911682f545795f93d4079d12ef5c78ad4dcb628f18cbc25dd98cff4e0b - Sigstore transparency entry: 2341959476
- Sigstore integration time:
-
Permalink:
pepkit/pephubclient@a5dd00f1011ec0f75ede0dd99ae45832bf6786de -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/pepkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@a5dd00f1011ec0f75ede0dd99ae45832bf6786de -
Trigger Event:
release
-
Statement type: