Fido client for SunPy to access CloudCatalog data holdings
Project description
sunpy-cloudcatalog
A SunPy-affiliated package providing a sunpy.net.Fido client for
querying file manifests from the
CloudCatalog service.
This package integrates CloudCatalog datasets directly into the SunPy data discovery ecosystem.
Overview
sunpy_cloudcatalog implements a SunPy BaseClient that allows:
- Searching CloudCatalog datasets via
Fido.search() - Returning results as
QueryResponseTable - Generating CSV manifest files via
Fido.fetch() - Using custom query attributes (
Bucket,DataID)
The package follows the official SunPy Fido extension mechanism: https://docs.sunpy.org/en/stable/topic_guide/extending_fido.html
Installation
From PyPI
pip install sunpy_cloudcatalog
Development Installation
git clone https://github.com/<org>/sunpy-cloudcatalog.git
cd sunpy-cloudcatalog
pip install -e .
Usage
Importing the package registers the client with SunPy automatically.
import sunpy_cloudcatalog
from sunpy.net import Fido, attrs as a
from sunpy_cloudcatalog import Bucket, DataID
Example Search
res = Fido.search(
a.Time("2012-01-01", "2012-01-02"),
Bucket("s3://gov-nasa-hdrl-data1/"),
DataID("aia_0094"),
)
print(res[0][:2])
Fetch a Manifest
manifest = Fido.fetch(res)
print(list(manifest))
This writes a CSV manifest file describing the matching CloudCatalog entries.
Query Attributes
Bucket
CloudCatalog bucket URI:
Bucket("s3://gov-nasa-hdrl-data1/")
DataID
Dataset identifier within the CloudCatalog bucket:
DataID("aia_0094")
Returned Columns
Search results contain:
Start TimeEnd TimeBucketDataIDURLKeySize
Testing
Run unit tests:
pytest
Run integration tests (network required):
pytest -m integration
Project Structure
sunpy-cloudcatalog/
├── pyproject.toml
├── pytest.ini
├── src/
│ └── sunpy_cloudcatalog/
│ ├── __init__.py
│ ├── main.py
└── tests/
SunPy Affiliated Package Status
This project follows the SunPy affiliated package guidelines:
- Uses the official Fido extension interface
- Provides documentation and tests
- Is versioned and distributed via PyPI
- Maintains compatibility with supported SunPy releases
Affiliation information: https://sunpy.org/affiliated/
Contributing
Contributions are welcome. Please:
- Open an issue to discuss changes.
- Submit pull requests with tests.
- Ensure
pytestpasses locally.
License
The MIT License (MIT)
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 sunpy_cloudcatalog-1.0.1.tar.gz.
File metadata
- Download URL: sunpy_cloudcatalog-1.0.1.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
159c9e7ce7d2641496d5a0714fed48dc3b77398836fd7a74c9fde46ae9eaf8fb
|
|
| MD5 |
6259bbcca8285400bc2500ef59fe2a81
|
|
| BLAKE2b-256 |
ef8dcc3c92895a32c794b75c8028cb04e754f7f2f02fd8e2502039323d864b67
|
File details
Details for the file sunpy_cloudcatalog-1.0.1-py3-none-any.whl.
File metadata
- Download URL: sunpy_cloudcatalog-1.0.1-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2517cee8fd5e41b3c7f2449e15413ed9b4fe076a18ef838a53456dd11b399ba
|
|
| MD5 |
16065f350db64f0c1dd8168e4d91d09d
|
|
| BLAKE2b-256 |
4fd853ebf36deef5969b225bb176e4c3ebae1a40020191b6e0e573fbd264cb5d
|