Package pyaurorax

The PyAuroraX package provides a way to interact with the AuroraX API. It is intended to provide an intuitive process for those in the space physics and related communities to programmatically query AuroraX's vast database for conjunctions, ephemeris or data product records, data availability information, and more.

Check out this project on GitHub and explore the evolving ecosystem of visualizations, tools, and data at AuroraX.

For an overview of usage and examples, visit the AuroraX Documentation website. Details of functionality and options are available in the API reference.

Installation:

$ python -m pip install pyaurorax

Basic usage:

> import pyaurorax
Expand source code
"""
The PyAuroraX package provides a way to interact with the
[AuroraX API](https://aurorax.space/data/apiLibraries). It is intended
to provide an intuitive process for those in the space physics and related
communities to programmatically query AuroraX's vast database for conjunctions,
ephemeris or data product records, data availability information, and more.

Check out this project on [GitHub](https://github.com/aurorax-space/pyaurorax)
and explore the evolving ecosystem of visualizations, tools, and data
at [AuroraX](https://aurorax.space/).

For an overview of usage and examples, visit the
[AuroraX Documentation website](https://docs.aurorax.space/code/overview).
Details of functionality and options are available in the
[API reference](https://docs.aurorax.space/code/pyaurorax_api_reference/pyaurorax/).

Installation:
```console
$ python -m pip install pyaurorax
```

Basic usage:
```python
> import pyaurorax
```
"""

# versioning info
__version__ = "0.13.2"

# documentation excludes
__pdoc__ = {"cli": False}

# pull in top level functions
from .api import (AuroraXRequest,
                  authenticate,
                  get_api_key)
from .sources import (FORMAT_BASIC_INFO,
                      FORMAT_BASIC_INFO_WITH_METADATA,
                      FORMAT_FULL_RECORD,
                      FORMAT_IDENTIFIER_ONLY,
                      FORMAT_DEFAULT,
                      SOURCE_TYPE_EVENT_LIST,
                      SOURCE_TYPE_GROUND,
                      SOURCE_TYPE_HEO,
                      SOURCE_TYPE_LEO,
                      SOURCE_TYPE_LUNAR)
from .conjunctions import (CONJUNCTION_TYPE_NBTRACE,
                           CONJUNCTION_TYPE_SBTRACE)
from .data_products import (DATA_PRODUCT_TYPE_KEOGRAM,
                            DATA_PRODUCT_TYPE_MONTAGE,
                            DATA_PRODUCT_TYPE_MOVIE,
                            DATA_PRODUCT_TYPE_SUMMARY_PLOT,
                            DATA_PRODUCT_TYPE_DATA_AVAILABILITY)

# pull in exceptions at top level
from .exceptions import (AuroraXException,
                         AuroraXNotFoundException,
                         AuroraXMaxRetriesException,
                         AuroraXDuplicateException,
                         AuroraXUnexpectedContentTypeException,
                         AuroraXValidationException,
                         AuroraXBadParametersException,
                         AuroraXUnauthorizedException,
                         AuroraXConflictException,
                         AuroraXUploadException,
                         AuroraXUnexpectedEmptyResponse,
                         AuroraXDataRetrievalException,
                         AuroraXTimeoutException)

# pull in models
from .location import Location

# pull in modules (order matters otherwise we get circular import errors)
from pyaurorax import requests
from pyaurorax import api
from pyaurorax import sources
from pyaurorax import exceptions
from pyaurorax import metadata
from pyaurorax import util
from pyaurorax import availability
from pyaurorax import conjunctions
from pyaurorax import ephemeris
from pyaurorax import data_products

Sub-modules

pyaurorax.api

This module is the under-the-hood interface for RESTful API requests. It provides helper functions that the PyAuroraX library uses to make robust …

pyaurorax.availability

The availability module provides functions to quickly determine what data exists on the AuroraX platform …

pyaurorax.conjunctions

The conjunction module is used for finding conjunctions between groupings of data sources …

pyaurorax.data_products

The data_products module is used to search and upload data product records within AuroraX. One example of a data product is a keogram …

pyaurorax.ephemeris

The ephemeris module is used to search and upload ephemeris records within AuroraX …

pyaurorax.exceptions

The exceptions module contains exceptions unique to the PyAuroraX library

pyaurorax.location

The Location module provides a class used throughout the PyAuroraX library to manage lat/lon positions of different things.

pyaurorax.metadata

AuroraX metadata schemas describe the intended structure of metadata stored in ephemeris and data product records. This module provides functions for …

pyaurorax.requests

The requests module contains helper methods for retrieving data from an AuroraX request …

pyaurorax.sources

AuroraX data sources are unique instruments that produce ephemeris or data product records …

pyaurorax.util

The util module provides helper methods such as converting arbitrary geographic locations to North/South B-trace geographic locations …