Python API Overview
starward can be used as a Python library for astronomical calculations.
Installation
pip install starward
Quick Example
from starward import (
JulianDate, jd_now,
ICRSCoord, Angle,
Planet, planet_position,
)
# Current Julian Date
now = jd_now()
print(f"JD: {now.jd}")
# Parse coordinates
vega = ICRSCoord.parse("18h36m56s +38d47m01s")
print(f"Vega: RA={vega.ra.hours:.2f}h, Dec={vega.dec.degrees:.2f}°")
# Planetary position
mars = planet_position(Planet.MARS)
print(f"Mars magnitude: {mars.magnitude:+.1f}")
Main Exports
The top-level starward module exports commonly used classes:
from starward import (
# Time
JulianDate,
jd_now,
utc_to_jd,
jd_to_utc,
# Angles
Angle,
angular_separation,
position_angle,
# Coordinates
ICRSCoord,
GalacticCoord,
HorizontalCoord,
# Planets
Planet,
PlanetPosition,
planet_position,
all_planet_positions,
# Constants
CONSTANTS,
# Precision
get_precision,
set_precision,
)
Core Modules
For more specialized functions, import from starward.core:
from starward.core.sun import sun_position, sunrise, sunset
from starward.core.moon import moon_position, moon_phase
from starward.core.planets import planet_rise, planet_set
from starward.core.observer import Observer
from starward.core.visibility import compute_visibility
Verbose Mode
Enable step-by-step calculation output:
from starward.verbose import VerboseContext
from starward.core.sun import sun_position
# Create verbose context
vctx = VerboseContext()
# Run calculation with verbose output
sun = sun_position(verbose=vctx)
# Print the steps
print(vctx.format_steps())
Detailed Reference
- Core Modules — Detailed module documentation