v3.2.2 · API Reference

The Four-Tier
Import Surface

Moira exposes its full capability through four cumulative import tiers — from a beginner surface to a complete direct-import facade covering every subsystem.

Quick Start

Get planetary positions in three lines of code.

Step 1 — Install
pip install moira_astro
Step 2 — Download Kernel
# GUI kernel manager
moira-kernel-manager

# Or CLI
moira-download-kernels --kernel de440
Step 3 — First Chart
from 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}°")

API Architecture

Four cumulative tiers — each includes everything from the tier below it.

moira.essentialsTier 1

Beginner surface for natal chart positions, house cusps, basic aspects, and sidereal conversions. Suitable for first-time users and lightweight integrations.

MoiraChartBodyHouseSystemPlanetDataAspectDatajulian_dayjd_from_datetime
moira.classicalTier 2

Adds 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_at
moira.predictiveTier 3

Adds the complete forecasting and relationship toolkit: transits, progressions, primary directions, synastry, eclipses, returns, stations, and void-of-course.

find_transitssecondary_progressionsolar_arcspeculumsynastry_aspectscomposite_chartdavison_chartEclipseCalculator
moira.facadeTier 4

Complete 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_members

Code Examples

Real-world patterns for every major capability.

First Chart
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")

Wiki Reference

Deep technical documentation for every subsystem.