NasaSyncClient#

class nasa.NasaSyncClient[source]#

Bases: _BaseClient

A synchronous client to make request to the NASA Api.

This class can be used in context managers. See NasaSyncClient for more informations.

Note

The session linked to this client does not necessarily need to be closed.

Warning

If you’re planning to use this library in an asynchronous context you should use NasaAsyncClient.

New in version 0.0.1.

Parameters:

token (Optional[str]) – The token that should be used to connect to the NASA Api.

close() None[source]#

Closes the HTTPClient session.

Caution

An HTTPClient session cannot be re-opened.

property http_client: HTTPClient#

The HTTPClient linked to the NasaSyncClient object.

Type:

HTTPClient

get_astronomy_picture(date: datetime.datetime | str | None = None) AstronomyPicture[source]#

Fetch an AstronomyPicture of a given date. If date is not provided returns the todays’ astronomy picture.

Parameters:

date (Optional[Union[datetime.datetime, str]]) – If not provided defaults to todays’ date.

Raises:

ValueError – The date doesn’t follows the YYYY-mm-dd date format.

Returns:

An astronomy picture.

Return type:

AstronomyPicture

get_range_astronomy_pictures(start_date: datetime.datetime | str, end_date: datetime.datetime | str | None = None) list[AstronomyPicture][source]#

Fetch multiple images with a given date range and return a list of AstronomyPicture.

Parameters:
  • start_date (Union[datetime.datetime, str]) – The start date. If provided as string it must follow the YYYY-mm-dd date format.

  • end_date (Optional[Union[datetime.datetime, str]]) – The end date. If provided as string it must follow the YYYY-mm-dd date format. If not provided defaults to todays’ date.

Returns:

A list of astronomy pictures for the required date range.

Return type:

List[AstronomyPicture]

for ... in get_gen_astronomy_pictures(start_date: datetime.datetime | str, end_date: datetime.datetime | str | None = None) Generator[AstronomyPicture, None, None][source]#

Fetch multiple images with a given date range and return a generator of AstronomyPicture.

Parameters:
  • start_date (Union[datetime.datetime, str]) – The start date. If provided as string it must follow the YYYY-mm-dd date format.

  • end_date (Optional[Union[datetime.datetime, str]]) – The end date. If provided as string it must follow the YYYY-mm-dd date format. If not provided defaults to todays’ date.

Yields:

AstronomyPicture

get_rand_astronomy_pictures(count: int = 1) list[AstronomyPicture][source]#

Fetch a random number of astronomy pictures.

Parameters:

count (int) – The number of random astronomy pictures to fetch. Must be between 1 and 100 (both inclusive).

Returns:

A list of random astronomy pictures.

Return type:

List[AstronomyPicture]

get_epic_natural_available_dates() AvailableDates[source]#

Get all the natural available dates.

You can use this to check if a request with a given date will return something or not.

Note

The dates are not converted to datetime.datetime objects to save time and memory.

New in version 0.0.1.

Return type:

AvailableDates a dict containing all the natural available dates as single list.

get_epic_enhanced_available_dates() AvailableDates[source]#

Get all the enhanced available dates.

You can use this to check if a request with a given date will return something or not.

Note

The dates are not converted to datetime.datetime objects to save time and memory.

New in version 0.0.1.

Return type:

AvailableDates a dict containing all the enhanced available dates as single list.

get_epic_images(date: datetime.datetime | None = None, *, image_type: EpicImageType = EpicImageType.natural, image_as: nasa.enums.FileTypes | None = None) list[EpicImage][source]#

Fetch earth images from the EPIC endpoint.

New in version 0.0.1.

Parameters:
  • date (Optional[datetime.datetime]) – If not provided fetchs the default EpicImages returned by the Nasa API.

  • image_type (EpicImageType) – Defaults to EpicImageType.natural.

  • image_as (Optional[FileTypes]) – The file extension of the image. This can be a png, a jpg or a thumbs.

Raises:

ValueError – An invalid “image_type” was passed. This needs to be a EpicImageType member.

Return type:

list[EpicImage] Returns the requested epic images.