Moira exposes its full capability through four cumulative import tiers — from a beginner surface to a complete direct-import facade covering every subsystem.
Get planetary positions in three lines of code.
pip install moira_astro# GUI kernel manager
moira-kernel-manager
# Or CLI
moira-download-kernels --kernel de440from moira.facade import Moira, HouseSystem
from datetime import datetime, timezone
m = Moira() # auto-detects de440.bsp / de441.bsp / de430.bsp
dt = datetime(1988, 4, 4, 14, 30, tzinfo=timezone.utc)
chart = m.chart(dt)
for name, planet in chart.planets.items():
print(f"{name:10s} {planet.longitude:.4f}° speed {planet.speed:+.4f}°/day")
houses = m.houses(dt, latitude=51.5074, longitude=-0.1278, system=HouseSystem.PLACIDUS)
print(f"ASC {houses.asc:.3f}° MC {houses.mc:.3f}°")Four cumulative tiers — each includes everything from the tier below it.
moira.essentialsTier 1Beginner surface for natal chart positions, house cusps, basic aspects, and sidereal conversions. Suitable for first-time users and lightweight integrations.
MoiraChartBodyHouseSystemPlanetDataAspectDatajulian_dayjd_from_datetimemoira.classicalTier 2Adds the full classical and traditional toolkit: dignities, Arabic Parts, fixed stars, time lords, Vedic divisional charts, Panchanga, Jaimini, Ashtakavarga, and Shadbala.
calculate_dignitiescalculate_lotsfirdariazodiacal_releasingvimshottaristar_atshadbalapanchanga_atmoira.predictiveTier 3Adds the complete forecasting and relationship toolkit: transits, progressions, primary directions, synastry, eclipses, returns, stations, and void-of-course.
find_transitssecondary_progressionsolar_arcspeculumsynastry_aspectscomposite_chartdavison_chartEclipseCalculatormoira.facadeTier 4Complete direct-import surface. Adds heliacal visibility, astrocartography, harmograms, occultations, variable stars, multiple star systems, and every remaining subsystem.
astrocartographyharmogramoccultationvariable_starorbital_elements_atstar_light_time_splitfamily_membersReal-world patterns for every major capability.
from moira.facade import Moira, Body, HouseSystem
from datetime import datetime, timezone
m = Moira() # auto-detects installed kernel
dt = datetime(1988, 4, 4, 14, 30, tzinfo=timezone.utc)
chart = m.chart(dt)
for name, planet in chart.planets.items():
print(f"{name:10s} {planet.longitude:.4f}° speed {planet.speed:+.4f}°/day")Deep technical documentation for every subsystem.