Skip to main content

🧠 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/infosphere/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/infosphere/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/infosphere/docs/postman-collection

You can then explore and test the API using the Postman tool.

🎯 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.

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.1.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.1-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jpl_labcas_infosphere-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 eba71fef67bf5bde0672418ad0952b7e74e014a986bfa94be44c077401b662b4
MD5 7cd8550f86e892beb401185c29c6c069
BLAKE2b-256 b8a25b4035ac455b9abd836a5cfcbc63d0b83d2345f15543270ce1700b3f1c8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpl_labcas_infosphere-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 533c9eba1917531ea9dd00360ec1261aab89530f17e50cc8e42064ba262ffdf5
MD5 489c831cd8c6c090c81e3e049a07bdc8
BLAKE2b-256 b809e43242d6b8484cd8944d3fddc31569b7cd96573ec5868746b62c51271209

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

Supported by

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