Skip to main content

pridepy

Python package PyPI version PyPI - Downloads

pridepy is a Python client and CLI for the PRIDE Archive API.

You can:

  • download public and private PRIDE files
  • download public MassIVE (MSV...), JPOST (JPST...), and iProX (IPX...) datasets directly. MassIVE goes through FTPS at massive-ftp.ucsd.edu, with an automatic HTTPS fallback (via the GNPS2 file index and the massive.ucsd.edu ProteoSAFe endpoint) for networks that block FTP/FTPS; JPOST uses the JSON PROXI endpoint at repository.jpostdb.org for listings and ftp.jpostdb.org for transfers; iProX fetches the dataset's ProteomeXchange XML from download.iprox.org and downloads files over anonymous HTTP
  • download by category (RAW, SEARCH, RESULT, etc.)
  • stream project and file metadata
  • search projects by keyword and filters
  • download raw files from ProteomeXchange XML metadata

The downloader supports ftp, aspera, s3, and globus.
By default it starts with FTP, falls back across the remaining protocols when needed, and validates downloaded files (non-empty, and checksum validation when enabled).

Requirements

  • Python >=3.9

Installation

Option 1: Install from PyPI with uv (recommended)

Install as a CLI tool:

uv tool install pridepy
pridepy --help

Or run without installing globally:

uvx pridepy --help

Option 2: Install from PyPI with pip

pip install --upgrade pridepy
pridepy --help

Option 3: Install the latest code directly from GitHub

To get features that have not been released to PyPI yet, install straight from a branch. master holds the latest stable code; dev holds the newest (and potentially unstable) development work.

With uv:

# Latest stable (master)
uv tool install "git+https://github.com/PRIDE-Archive/pridepy@master"

# Bleeding edge (dev)
uv tool install "git+https://github.com/PRIDE-Archive/pridepy@dev"

Or with pip:

# Latest stable (master)
pip install --upgrade "git+https://github.com/PRIDE-Archive/pridepy@master"

# Bleeding edge (dev)
pip install --upgrade "git+https://github.com/PRIDE-Archive/pridepy@dev"

You can pin to any branch, tag, or commit by changing the part after @ (e.g. @v0.0.16 or @<commit-sha>).

Option 4: Install from source (development)

git clone https://github.com/PRIDE-Archive/pridepy
cd pridepy
uv sync --extra dev
uv run pridepy --help

Usage

See the usage guide for detailed instructions and examples: downloading data (PRIDE, MassIVE, JPOST, iProX, ProteomeXchange), category and manifest downloads, private files, streaming metadata, searching projects, and the Python API.

pridepy --help
Command Purpose
download-all-public-raw-files Download every public RAW file of a dataset
download-all-public-category-files Download files of one or more categories (RAW, SEARCH, …)
download-file-by-name Download a single file (public or private)
download-files-by-list Download a named subset of files from a manifest/CSV
download-files-by-url Download files from raw http/https/ftp URLs
download-px-raw-files Download RAW files resolved from a ProteomeXchange accession
list-private-files List files of a private project (needs credentials)
stream-files-metadata Stream file metadata (one project or all) to JSON
stream-projects-metadata Stream all project metadata to JSON
search-projects-by-keywords-and-filters Search projects by keyword and filters

Quick examples:

# Download all public RAW files of a dataset (any repository)
pridepy download-all-public-raw-files -a PXD008644 -o ./downloads/PXD008644 --checksum-check

# Download a ProteomeXchange dataset by its PXD accession
pridepy download-px-raw-files -a PXD039236 -o ./downloads/PXD039236

# Download a native MassIVE / JPOST / iProX dataset
pridepy download-all-public-raw-files -a MSV000082297 -o ./downloads/MSV000082297

Full option tables and more examples are in docs/usage.md.

Development and Release (uv)

Run tests:

uv run pytest

Lint:

uv run flake8 .

Build distributions:

uv build

pridepy is published via GitHub Actions (.github/workflows/python-publish.yml) using uv build and a PyPI API token secret (PYPI_API_TOKEN).

White Paper

A white paper is available in paper/paper.md.

Contributing

  1. Fork the repository
  2. Create a branch (git checkout -b feature/my-change)
  3. Install dev dependencies (uv sync --extra dev)
  4. Run tests and lint (uv run pytest, uv run flake8 .)
  5. Commit and push your branch
  6. Open a pull request

Citation

Kamatchinathan, S., Hewapathirana, S., Bandla, C., Insua, S., Vizcaíno, J. A., & Perez-Riverol, Y. (2025). pridepy: A Python package to download and search data from PRIDE database. Journal of Open Source Software, 10(107), 7563. doi:10.21105/joss.07563

Zenodo DOI

Metadata

Release files for pridepy 0.0.16

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

Source distribution (sdist)

Source distribution for pridepy 0.0.16
File Size Uploaded
pridepy-0.0.16.tar.gz 38.3 MB Details

Built distribution (wheel)

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

Total release size: 76.8 MB

Release files / pridepy-0.0.16.tar.gz

Download URL pridepy-0.0.16.tar.gz
Size 38.3 MB
Tags Source
SHA-256 checksum
How to use checksums
8936a18ae14f67c547214cbdb4aacc72ff6d775e58f8bc99fbbb828c2aa70636
BLAKE2b-256 checksum
How to use checksums
9624ddd7d8c47c1ebbec68197ebbc6cdb7b7eea3e09597efc64f7639b68c5c50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pridepy-0.0.16-py3-none-any.whl

Download URL pridepy-0.0.16-py3-none-any.whl
Size 38.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1695d383ae8e1087968836efa9dfc18013e404bd1dd9ef486f6024a9f6db0f34
BLAKE2b-256 checksum
How to use checksums
2486d3c558d09bc72a23e07c0d83482b795681fc0098f723e377a808074d804a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

0.0.16 This release

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

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