Observer
The Observer model represents an observer at a specific time and place on Earth. It's used by every plot type, and it's one of the few models you'll often instantiate directly.
Basic usage
Create an observer at Palomar Mountain (California, USA) for October 13, 2025 at 9pm Pacific time:
observer = Observer(
dt=datetime(2025, 10, 13, 21, 0, 0, tzinfo=ZoneInfo('US/Pacific')),
lat=33.363484,
lon=-116.836394,
)
Observer at Specific Epoch
There's a static helper function for creating an observer at a specific epoch:
starplot.Observer
Represents an observer at a specific time and place.
dt
class-attribute
instance-attribute
Date and time of observation (must be timezone-aware).
Defaults to current time in UTC.
lat
class-attribute
instance-attribute
Latitude of observer location
lon
class-attribute
instance-attribute
Longitude of observer location
pressure
class-attribute
instance-attribute
Atmospheric pressure in millibars. If None, then it'll be estimated based on the observer's elevation. This is only used for determining atmospheric refraction for apparent positions.
temperature
class-attribute
instance-attribute
Temperature in degrees Celsius. This is only used for determining atmospheric refraction for apparent positions.
timescale
cached
property
Read-only Property
Timescale instance of the specified datetime (used by Skyfield)
at_epoch
classmethod
at_epoch(epoch: float) -> Observer
Returns an Observer for the specified epoch (Julian year)