Skip to main content

A simple Python package to download files from LabCAS

Project description

📀 LabCAS Downloader

This is a simple downloader script for LabCAS, the Laboratory Catalog and Archive System. This script enables you to "bulk download" data from a LabCAS installation such as

🖥 Prerequisites

This software works with Python 3.8, 3.9, or 3.10. Other versions may work but have not been tested.

💿 Installation

To install the LabCAS downloader, simply use the Python package installer, pip, i.e.:

pip install jpl.labcas.downloader

You'll probably want to do this in a virtual environment so the package doesn't conflict with other Python usage on your system. For example, on a typical Unix (or macOS) system, you'd run (where $ is the command-line prompt):

$ python3 -m venv venv
$ cd venv
$ bin/pip install jpl.labcas.downloader

Then use the bin/jpl-labcas-downloader program out of the venv directory.

💁‍♀️ Usage

To use the LabCAS Downloader, you'll need to have the following information at the ready:

  • The collection ID or the collection/dataset ID of the data you want to download. For example, if you're after the entire Automated Quantitative Measures of Breast Density Data, use the collection ID Automated_Quantitative_Measures_of_Breast_Density_Data. However, if you want just the C0250 dataset from that collection, use Automated_Quantitative_Measures_of_Breast_Density_Data/C02520. You can append more /s for nested datasets as needed.
  • Your assigned LabCAS username and the password that authenticates your account.
  • Lastly, the API endpoint you want to use:
    • For EDRN, that's https://edrn-labcas.jpl.nasa.gov/data-access-api/
    • For the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions, it's https://edrn-labcas.jpl.nasa.gov/data-access-api/

Then, run the jpl-labcas-downloader as follows:

jpl-labcas-downloader --username USERNAME --api URL DATA-ID

For example, to download the Automated_Quantitative_Measures_of_Breast_Density_Data from the API at https://edrn-labcas.jpl.nasa.gov/data-access-api/ using username jane, run:

jpl-labcas-downloader --username jane --api https://edrn-labcas.jpl.nasa.gov/data-access-api/ Automated_Quantitative_Measures_of_Breast_Density_Data

You'll be prompted for your password, and files will be written to the current directory.

👉 Note: Any existing files will be overwritten.

🎨 Customization

The jpl-labcas-downloader supports several options as well as environment variables to customize its behavior.

  • --username USERNAME tells the username to use to authenticate to the API. You can set the LABCAS_USERNAME environment variable to serve as a default. Leave this out to use no authentication.
  • --password PASSWORD indicates the password to use, but this is insecure as password should not be put on command-lines. The LABCAS_PASSWORD can provide the default password. However, if neither the option nor the environment variable is given, you will be prompted for a password.
  • --api URL tells the URL of the LabCAS API to query. It defaults to the LABCAS_API_URL environment variable. If neither is given, https://edrn-labcas.jpl.nasa.gov/data-access-api/ is the fallback value.
  • --TARGET DIR tells in what directory to write output files. It defaults to the current directory.

You can see all the options at a glance by running jpl-labcas-downloader --help.

👥 Contributing

Within the JPL Informatics Center, we value the health of our community as much as the code, and that includes participation in creating and refining this software. Towards that end, we ask that you read and practice what's described in these documents:

  • Our contributor's guide delineates the kinds of contributions we accept.
  • Our code of conduct outlines the standards of behavior we practice and expect by everyone who participates with our software.

🔧 Development

If you're a developer of this package, you'll probably do something like the following:

$ git clone https://github.com/EDRN/labcas-downloader.git
$ cd labcas-downloader
$ python3 -m venv venv
$ venv/bin/pip install --quiet --upgrade pip setuptools
$ venv/bin/pip install --editable '.[dev]'

Then, changes you make to files under src will be immediately reflected in venv/bin/jpl-labcas-downloader when run. venv/bin will also contain supporting development tools.

🔢 Versioning

We use the SemVer philosophy for versioning this software.

📃 License

The project is licensed under the Apache version 2 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jpl.labcas.downloader-0.0.0.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

jpl.labcas.downloader-0.0.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file jpl.labcas.downloader-0.0.0.tar.gz.

File metadata

  • Download URL: jpl.labcas.downloader-0.0.0.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.7

File hashes

Hashes for jpl.labcas.downloader-0.0.0.tar.gz
Algorithm Hash digest
SHA256 970de980e32f42828045ec51099bbb3e18682fa16686dbff2694a073a5365377
MD5 817f8a4675602783f40a6a1a58599205
BLAKE2b-256 cd00ef16ebdbf309197c2596225e7556b3ddb9dd6afff607d4f5200db4eec855

See more details on using hashes here.

File details

Details for the file jpl.labcas.downloader-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: jpl.labcas.downloader-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.7

File hashes

Hashes for jpl.labcas.downloader-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fcb221832551210a54bab450a7ce2d8225992f005b32519feb4dd239a1441e6f
MD5 b7925f84be637b8fcc7012feac6ddf0b
BLAKE2b-256 5da7fca8bb91e7669b89b875c5b173623c7806d5570e84f58b07e48727297566

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page