Atom

The atom domain provides access to scheduler atom digest data.

Use atom to request atom digests for one or more observations.

Quick Example

async with GPPClient() as client:
   tsv = await client.atom.get_digests(
      observation_ids=["o-123", "o-456"]
   )

Getting Atom Digests

Request atom digests as TSV data:

tsv = await client.atom.get_digests(
   observation_ids=["o-123"],
   accept_gzip=True,
)
  • Each observation ID is sent as a separate line in the request body

  • The response is returned as a string (TSV format)

Tip

Leave accept_gzip=True (default) for better performance on large responses.

Error Handling

  • ValueError → invalid observation IDs

  • aiohttp.ClientResponseError → authentication or HTTP errors

Notes

This endpoint uses a REST API and may return compressed (gzip) responses. Compression is handled automatically.

API Reference

class gpp_client.domains.atom.AtomDomain(*, graphql: GraphQLClient, rest: RESTClient, settings: GPPSettings)[source]

Bases: BaseDomain

Domain for interacting with atom-related API endpoints.

async get_digests(*, observation_ids: list[str], accept_gzip: bool = True) str[source]

Request atom digests for the given observation IDs.

Parameters:
  • observation_ids (list[str]) – List of observation ID strings.

  • accept_gzip (bool, default=True) – Whether to accept gzip compression.

Returns:

TSV data as string.

Return type:

str

Raises:
  • aiohttp.ClientResponseError – For HTTP errors.

  • ValueError – For invalid observation IDs.