Universal Catalog Client API Referenceο
UniversalCatalogClientο
- class open_geodata_api.catalog.UniversalCatalogClient(api_url, auth_token=None, headers=None, timeout=30, verify_ssl=True)ο
A universal client for connecting to any STAC API endpoint with flexible authentication.
- Parameters:
api_url (str) β Base URL of the STAC API endpoint (required)
auth_token (str) β Authentication token if required by the API (optional)
headers (dict) β Additional headers to include in requests (optional)
timeout (int) β Request timeout in seconds (default: 30)
verify_ssl (bool) β Whether to verify SSL certificates (default: True)
Example:
import open_geodata_api as ogapi # Without authentication client = ogapi.catalog("https://earth-search.aws.element84.com/v1") # With authentication client = ogapi.catalog( "https://your-stac-api.com", auth_token="your-token-here", headers={"X-Custom-Header": "value"} )
Methodsο
search()ο
- open_geodata_api.catalog.search(collections=None, bbox=None, datetime=None, query=None, limit=100, **kwargs)ο
Search for STAC items matching the specified criteria.
- Parameters:
collections (list) β List of collection IDs to search (optional)
bbox (list) β Bounding box [west, south, east, north] (optional)
datetime (str) β Datetime range in RFC3339 or YYYY-MM-DD format (optional)
query (dict) β Additional query parameters (optional)
limit (int) β Maximum number of items to return (default: 100)
kwargs β Additional search parameters
- Returns:
STACSearch object containing results
- Return type:
Example:
results = client.search( collections=["sentinel-2-l2a"], bbox=[-122.5, 47.5, -122.0, 48.0], datetime="2024-01-01/2024-03-31", query={"eo:cloud_cover": {"lt": 20}}, limit=50 ) items = results.get_all_items()
list_collections()ο
get_collections()ο
get_collection_info()ο
- open_geodata_api.catalog.get_collection_info(collection_id)ο
Get detailed information about a specific collection.
- Parameters:
collection_id (str) β Collection ID
- Returns:
Collection metadata dictionary
- Return type:
Example:
info = client.get_collection_info("sentinel-2-l2a") print(f"Title: {info['title']}") print(f"Description: {info['description']}")
get_asset_url()ο
- open_geodata_api.catalog.get_asset_url(item, asset_key, prefer_jp2=True)ο
Get asset URL for a specific asset key with automatic band name mapping.
- Parameters:
- Returns:
Asset URL if found, None otherwise
- Return type:
str or None
Example:
item = items[0] blue_url = client.get_asset_url(item, 'B02') # or 'blue' print(f"Blue band URL: {blue_url}")
get_info()ο
- open_geodata_api.catalog.get_info()ο
Get client and endpoint information.
- Returns:
Dictionary containing client information
- Return type:
Example:
info = client.get_info() print(f"API URL: {info['api_url']}") print(f"STAC Version: {info['stac_version']}") print(f"Authenticated: {info['authenticated']}")
Factory Functionο
- open_geodata_api.catalog.catalog(api_url, **kwargs)ο
Factory function to create a UniversalCatalogClient instance.
- Parameters:
api_url (str) β STAC API endpoint URL
kwargs β Additional client parameters
- Returns:
Configured client instance
- Return type:
Example:
import open_geodata_api as ogapi client = ogapi.catalog( "https://your-stac-api.com", auth_token="token", timeout=60 )
Parameters Referenceο
Parameter |
Description |
Type |
Default |
|---|---|---|---|
api_url |
Base URL of the STAC API endpoint |
str |
Required |
auth_token |
Authentication token (Bearer token) |
str |
None |
headers |
Additional HTTP headers |
dict |
None |
timeout |
Request timeout in seconds |
int |
30 |
verify_ssl |
Verify SSL certificates |
bool |
True |