Moira exposes four cumulative import layers from essentials through the complete facade, plus a focused parallel Vedic surface.
Get planetary positions in three lines of code.
pip install moira-astro# GUI kernel manager
moira-kernel-manager
# Or CLI
moira-download-kernels --yesfrom 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 layers, plus a focused Vedic surface that builds directly on essentials.
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 Western classical and traditional toolkit: dignities, Arabic Parts, fixed stars, time lords, and related chart techniques.
calculate_dignitiescalculate_lotsfirdariazodiacal_releasingvimshottaristar_atnavamsamoira.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.vedicSpecialistA focused parallel surface for Panchanga, sidereal and nakshatra work, vargas, Vedic dignities, dashas, Jaimini, Ashtakavarga, and Shadbala.
panchanga_atvimshottarinavamsajaimini_karakasashtakavargashadbalamoira.facadeCompleteComplete direct-import surface. Adds heliacal visibility, astrocartography, harmograms, occultations, variable stars, multiple-star systems, and the remaining admitted subsystems.
acg_linesharmogram_tracelunar_occultationvariable_starorbital_elements_atfamily_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.