Skip to main content

LabCAS Infosphere: the information API for the Laboratory Catalog and Archive Service

Project description

🧠 LabCAS Infosphere

The LabCAS Infosphere is an API that provides information about the Laboratory Catalog and Archive Service for the Early Detection Research Network.

💁 Example Usage

To retreive the imaging coverage report using the curl command:

curl --silent --user 'secret:p4ssw0rd' https://edrn-labcas.jpl.nasa.gov/infospshere/imaging

Replace the username secret and password p4ssw0rd with the correct credentials. You'll see a response similar to:

[
    {
        "collection": "Lung_Team_Project_2",
        "site": "AvinPOWpghrek",
        "event": "1234567",
        "participantId": "00112233455"
    },
    {
        "collection": "Lung_Team_Project_2",
        "site": "AvinPOWpghrek",
        "event": "2345678",
        "participantId": "11223344556"
    },

To have the data formatted as CSV, run:

curl --silent --user 'secret:p4ssw0rd' 'https://edrn-labcas.jpl.nasa.gov/infospshere/imaging?format=csv'

The response will be similar to:

collection,site,event,participantId
Lung_Team_Project_2,AvinPOWpghrek,1234567,00112233455
Lung_Team_Project_2,AvinPOWpghrek,2345678,11223344556

To retreive the Postman collection:

curl --silent https://edrn-labcas.jpl.nasa.gov/infospshere/docs/postman-collection

🎯 Features

This API server currently provides:

  • Health check endpoint: GET /ping returns the current UTC timestamp so clients and operators can quickly verify service availability.
  • Protected imaging endpoint: GET /imaging requires HTTP Basic authentication and validates users against LDAP group membership.
  • Imaging coverage report: aggregates distinct (site, event, participantID) values from Solr and the DMCC API for the Lung_Team_Project_2 and Prostate_MRI collections.
  • Multiple response formats: GET /imaging supports ?format=json (default) and ?format=csv.
  • Postman specification. You can retrieve a Postman-compatible specification of the API by following the link from GET /docs.

These endpoints are typically available at https://SERVER/SUBPATH/ENDPOINT, such as https://edrn-labcas.jpl.nasa.gov/infosphere/imaging. The SUBPATH may be omitted depending on configuration.

📦 Installation

This software requires Python 3.12 or higher but lower than Python 4. To install the released version of the software, create a Python virtual environment and run

python3 -m venv .venv
.venv/bin/pip install jpl.labcas.infosphere==VERSION

Substitute VERSION for the desired version. Use .venv/bin/pip and .venv/bin/python so you do not need to activate the environment.

To install from source:

git clone --quiet https://github.com/EDRN/jpl.labcas.infosphere
cd jpl.labcas.infosphere
python3 -m venv .venv
.venv/bin/pip install --editable .
pre-commit install

🚀 Usage

Launch the server by running

.venv/bin/labcas-infosphere

Run it with --help to see the options. After installation, you can also run modules with .venv/bin/python -m jpl.labcas.infosphere.main. It's recommended to run the server at all times, such as under Supervisor or similar system.

👉 Note: The Infosphere uses the DMCC API which requires a client secret. This can be provided using an environment variable, DMCC_CLIENT_SECRET. If not specified, you'll be prompted to enter it.

To test locally, issue

curl --insecure --silent https://localhost:8998/ping

You should get a timestamp.

📄 License

Licensed under the Apache 2.0 software license. See LICENSE.md for details.

🤝 Contributing

Issues and pull requests are welcome on GitHub. See also the EDRN Code of Conduct and Contributors' Guide.

👤 Credits

  • Developed by Sean Kelly @nutjob4life
  • QC by Heather Kincaid @hoodriverheather

This API was developed in response to EDRN/EDRN-metadata#180.

©️ Copyright

Copyright © 2026 California Institute of Technology. U.S. Government sponsorship acknowledged.

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_infosphere-1.0.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jpl_labcas_infosphere-1.0.0-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file jpl_labcas_infosphere-1.0.0.tar.gz.

File metadata

  • Download URL: jpl_labcas_infosphere-1.0.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for jpl_labcas_infosphere-1.0.0.tar.gz
Algorithm Hash digest
SHA256 23e3ba2fdbf9840cec844e390ac0291b746e726cce5ff485d7d8e3b17c9d5314
MD5 e20eaa7436bcd0dea2117c0786e06c92
BLAKE2b-256 b7f78ad16d3ce1803aefbab1698ec0f9fc44c5d37a684193d192d56fd4093688

See more details on using hashes here.

File details

Details for the file jpl_labcas_infosphere-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jpl_labcas_infosphere-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5eff1439c1041bf66861c7fbb80a5284bc4a383e77f0433e8e24182648170def
MD5 8fcb16b68e30910b9717046a92eeb576
BLAKE2b-256 25649f8cfa06fc2928f8e4ea939786c78542190fa210b3e919da3d6eb08861f2

See more details on using hashes here.

Supported by

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