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 /pingreturns the current UTC timestamp so clients and operators can quickly verify service availability. - Protected imaging endpoint:
GET /imagingrequires 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 theLung_Team_Project_2andProstate_MRIcollections. - Multiple response formats:
GET /imagingsupports?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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23e3ba2fdbf9840cec844e390ac0291b746e726cce5ff485d7d8e3b17c9d5314
|
|
| MD5 |
e20eaa7436bcd0dea2117c0786e06c92
|
|
| BLAKE2b-256 |
b7f78ad16d3ce1803aefbab1698ec0f9fc44c5d37a684193d192d56fd4093688
|
File details
Details for the file jpl_labcas_infosphere-1.0.0-py3-none-any.whl.
File metadata
- Download URL: jpl_labcas_infosphere-1.0.0-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5eff1439c1041bf66861c7fbb80a5284bc4a383e77f0433e8e24182648170def
|
|
| MD5 |
8fcb16b68e30910b9717046a92eeb576
|
|
| BLAKE2b-256 |
25649f8cfa06fc2928f8e4ea939786c78542190fa210b3e919da3d6eb08861f2
|