Free natal chart calculations powered by JPL DE441 — the same ephemeris used by NASA. No signup required. Instant results.
Named Fixed Stars
House Systems
Arabic Parts
Minor Planets via JPL
Calculate your full birth chart instantly — no signup required. Powered by JPL DE441, the same ephemeris used by professional astronomers.
Swiss Ephemeris wrappers like Kerykeion and Immanuel delegate all computation to a compiled C library. You get results, but no insight into how they were derived. Moira exposes the full reduction pipeline through a Python API — from raw JPL kernel reads to final astrological output — with a native C++17 core handling performance-critical paths transparently.
Every transformation — light-time iteration, relativistic deflection, precession, nutation, aberration, topocentric parallax — is a Python function you can step through, modify, and validate against authoritative sources.

Fixed stars: 0.00048″ (J1000–J3000) vs SOFA/ERFA
From raw JPL kernel reads to advanced predictive techniques — all in one library, all in Python.
Built on NASA's most accurate planetary ephemeris. Iterative light-time correction, multi-body relativistic deflection, annual aberration — every step documented and inspectable.
Every intermediate value is accessible. Python API owns orchestration and per-stage controls. Explicit computational policy, deterministic behavior, and documented residuals against ERFA/SOFA.
Sovereign registry with proper motion, parallax, epoch propagation, and Stellar Quality classification. Audited anchor residual: 0.00048 arcseconds (J1000–J3000).
Placidus, Koch, Regiomontanus, Campanus, Morinus, Porphyry, Whole Sign, Equal, APC, Sunshine, and more. 24 zodiacal aspects (including Septile, Novile & Quintile series), 21 multi-body patterns (T-Square, Grand Trine, Yod, Kite…), declination parallels, antiscia.
Secondary/tertiary/minor progressions, primary directions (Placidus semi-arc & mundane), solar/lunar returns, Firdaria, Zodiacal Releasing, Vimshottari Dasha, and more.
NASA-canon eclipse solver, heliacal phenomena, occultations, astrocartography, galactic coordinates, parans, retrograde stations, harmonics, and synastry.
Comprehensive test suite referencing authoritative sources. Validation reports with documented residuals. Reproducible pipelines for research-grade work.
User-supplied .bsp kernels via integrated daf_writer GUI for any numbered minor planet in the JPL catalog. Classical asteroids, Centaurs, and Trans-Neptunians bundled. Kernel Manager GUI for one-click download.
Moira's API is designed to be explicit and readable. No magic defaults, no hidden configuration. Every parameter has a clear name and a documented effect.
1"token-keyword">from datetime "token-keyword">import datetime, timezone2"token-keyword">from moira "token-keyword">import Moira, HouseSystem3"token-keyword">from moira.patterns "token-keyword">import find_all_patterns4"token-keyword">from moira.houses "token-keyword">import house_of56m = Moira() # auto-discovers installed JPL kernel78# 1. Planetary positions - full JPL DE441 reduction9chart = m.chart(datetime(2000, 1, 1, 12, 0, tzinfo=timezone.utc))10"token-keyword">print(f"Sun: {chart.planets['Sun'].longitude:.6f} deg")11"token-keyword">print(f"Moon: {chart.planets['Moon'].longitude:.6f} deg")1213# 2. House cusps(Placidus, London)14houses = m.houses(15 datetime(2000, 1, 1, 12, 0, tzinfo=timezone.utc),16 latitude=51.5074, longitude=-0.1278,17 system=HouseSystem.PLACIDUS,18)19"token-keyword">print(f"ASC: {houses.asc:.4f} deg | MC: {houses.mc:.4f} deg")2021# 3. Aspect patterns(21 multi-body configurations)22patterns = find_all_patterns(chart.longitudes())23"token-keyword">for p "token-keyword">in patterns:24 "token-keyword">print(f"{p.name}: {', '.jo">in(p.bodies)}")2526# 4. House placement lookup27sun_house = house_of(chart.planets['Sun'].longitude, houses)28"token-keyword">print(f"Sun is ">in house: {sun_house}")
Direct feature comparison with other Python astrology libraries.
| Feature | Moira | Kerykeion | Immanuel | Swiss Eph. |
|---|---|---|---|---|
| Python API with inspectable stages | ||||
| Inspectable intermediate stages | ||||
| JPL DE441 kernel support | ||||
| IAU-aligned precession/nutation | ||||
| Fixed star catalog | partial | partial | ||
| 25+ house systems | partial | partial | ||
| Eclipse & occultation engine | ||||
| Heliacal phenomena | ||||
| 40+ ayanamshas (Vedic sidereal) | ||||
| Primary directions (built-in) | ||||
| Vimshottari Dasha & Nakshatras | ||||
| Astrocartography (ACG lines) | ||||
| 499 Arabic Parts | ||||
| Documented validation residuals | ||||
| MIT License (commercial friendly) | ||||
| Harmograms / spectral research engine | ||||
| Synastry, composite & Davison charts | partial | |||
| SVG chart generation |
* Kerykeion and Immanuel are wrappers over the Swiss Ephemeris C library (pyswisseph). Swiss Ephemeris is a powerful C library with 25+ house systems, eclipses, and fixed stars — but it requires AGPL or a paid commercial license, uses compiled C binaries, and does not expose intermediate calculation stages. Primary directions, Dasha systems, and astrocartography are not part of its core API and require separate implementation.
The Moira Workspace is a full-featured browser-based environment powered by the same astronomy-first engine behind the Python library. Calculate natal charts, progressions, synastry, and more — with every intermediate stage visible and exportable.
A curated directory where professional astrologers advertise their services — and where every profile, every booking, and every reading session is powered by Moira's calculation engine. No commission. No chat platform. A professional tool that makes sessions better before they start.
Swiss Ephemeris is a serious, well-validated C library. This is a developer-to-developer comparison of what each approach offers and where the trade-offs lie.
Swiss Ephemeris is mature, accurate, and widely deployed. The AGPL license means any application using it must also be open-sourced — or you pay for a commercial license. The C binary means you cannot step through the calculation, modify a stage, or validate an intermediate value without reading C source.
Moira's Python API orchestrates a C++17 native core for performance while keeping every stage inspectable. The MIT license removes all commercial friction. Features like primary directions, Dasha systems, harmograms, and astrocartography are first-class citizens, not afterthoughts.

Moira runs a C++17 native extension (_moira_native) for performance-critical paths, while the Python layer owns the API surface, orchestration, and per-stage controls. Every transformation is named, documented, and individually toggleable.
Build astrology applications on a solid, auditable foundation. Python API with C++ performance core means easy integration, fast event searches, and full debuggability.
Reproducible pipelines with documented residuals. Compare results against authoritative sources. Cite specific calculation parameters.
Understand exactly how your chart is computed. Access intermediate values, verify against reference charts, and explore the mathematics of traditional and modern techniques.
Answers to the most common questions about Moira — the Python library, the free calculator, the workspace, and the reader marketplace.
Install in seconds. MIT licensed. No hidden dependencies.