Source code for pyobs.interfaces.IPointingBody

from __future__ import annotations

from abc import ABCMeta, abstractmethod
from typing import Any

from .interface import Interface


class IPointingBody(Interface, metaclass=ABCMeta):
    """Points at and tracks a named solar-system body."""

    __module__ = "pyobs.interfaces"

[docs] @abstractmethod async def track_body(self, body: str, **kwargs: Any) -> None: """Starts tracking a named solar-system body. Args: body: Name resolvable to an ephemeris (e.g. 'moon', 'mars', 'jupiter', or an asteroid/comet designation known to JPL Horizons). Raises: NotSupportedError: If this device doesn't support body tracking. BodyResolutionError: If body name is not resolvable. MoveError: If telescope could not be moved. Also propagates whatever the underlying RA/Dec move raises (e.g. MissingObserverError, AltitudeLimitError), since tracking a body is implemented as resolving it and then moving there. """ ...
__all__ = ["IPointingBody"]