Skip to main content

PEPHubClient

PEP compatible Run pytests pypi-badge pypi-version Coverage Github badge Code style: black

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:

  1. push (upload) projects)
  2. 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 (overrides PEPHUB_BASE_URL for 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.                                         │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Metadata

Release files for pephubclient 0.6.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 pephubclient 0.6.0
File Size Uploaded
pephubclient-0.6.0.tar.gz 26.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pephubclient 0.6.0
File Interpreter ABI Platform
pephubclient-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 54.6 kB

Release files / pephubclient-0.6.0.tar.gz

Download URL pephubclient-0.6.0.tar.gz
Size 26.7 kB
Tags Source
SHA-256 checksum
How to use checksums
562ce60ef8163ec6182be84cbd207ae8c1c82d823321443845fffa770f39e10d
BLAKE2b-256 checksum
How to use checksums
6cee515dee2d066093eff507b03b9b59673d1ca34bbf4d3afbb5b209b8e8e361
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release files / pephubclient-0.6.0-py3-none-any.whl

Download URL pephubclient-0.6.0-py3-none-any.whl
Size 27.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94df00911682f545795f93d4079d12ef5c78ad4dcb628f18cbc25dd98cff4e0b
BLAKE2b-256 checksum
How to use checksums
b4328173def7aae5ba99806bfec21f1e5e08c337fcc09709d75de6575a7faa94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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