MOIRA_COMPETITIVE_ANALYSIS_2026 05 25 - TheDaniel166/moira GitHub Wiki
Moira Computational API: Competitive Analysis & Gap Assessment
Point-in-time audit. This analysis reflects the repository state recorded on 2026-05-25. Current code, public exports, and registered REST routes govern present capability claims.
Date: May 25, 2026 (updated from April 28, 2026) Purpose: Identify gaps, overlaps, and strategic opportunities for Moira as a computational core offering
What Changed Since April 2026
Three major developments close or substantially narrow the gaps identified in the prior analysis:
- Batch Operations API implemented β
moira/batch.pyships 8 batch functions covering charts, events, transits, returns, progressions (40 techniques), ingresses, void-of-course, and time series. Gap #1 is closed. - C++ native evaluation layer added β A hybrid Python/C++ architecture now underpins SPK polynomial evaluation, fixed star propagation, topocentric correction, and event search, with AVX2 SIMD acceleration and thread-safe caching. This creates a new competitive advantage and changes the "Pure Python" positioning.
- Vedic depth expanded substantially β Full Shadbala, Ashtakavarga, Panchanga, Jaimini Karakas, Vedic dignities, Ashtottari Dasha, Yogini Dasha, and a serious Varshaphal/Tajika annual layer are now implemented. The remaining Vedic gap is now concentrated in specialized doctrine breadth and workflow layers such as KP, natal yoga catalogs, Jaimini Chara Dasha, Muhurta workflows, and rectification.
Executive Summary
Moira is astronomically comprehensive, computationally transparent, and now batch-capable in ways that professional astrology software is not. The remaining strategic gaps are:
- Vedic Completeness β Core Jyotish infrastructure is strong, and Varshaphal/Tajika is now substantially present; the remaining Vedic gap is concentrated in KP, Jaimini Chara Dasha, natal yoga catalogs, Muhurta workflows, and birth time rectification
- REST API / Service Layer β No HTTP interface; still Python-library-only
- Report Generation & Templating β No HTML/PDF report output
- Research & Statistical Tools β No chart database, filtering, or aggregation layer
- Relationship & Synastry Automation β No batch synastry or compatibility scoring
- Chart Data Persistence β No storage layer or chart versioning
- Interpretive Synthesis β No text interpretation layer (intentional; see positioning)
Moira's Computational Strengths
Astronomy Foundation (Unmatched)
- JPL DE441 kernel with explicit light-time iteration, gravitational deflection, annual aberration
- IAU 2006 frame bias, precession, nutation with full 1365 lunisolar + 687 planetary terms
- Topocentric parallax (WGS-84) and atmospheric refraction
- Validation against ERFA/SOFA with documented residuals
- Python-native API with inspectable intermediate stages
C++ Native Acceleration Layer (New)
- Hybrid Python/C++ architecture β Python surface backed by sovereign C++ computational core
- AVX2/SIMD-accelerated Chebyshev evaluation (SPK Type 2/3 segments)
- Lagrange interpolation in C++ (SPK Type 13 segments β comet and irregular body orbits)
- Native NAIF DAF/SPK reader β Moira owns the file format parsing path
- Native NAIF LSK parser and physical delta-T β sovereign time conversion chain
- Thread-safe evaluator hierarchy with mutex-guarded single-element cache
- Composite evaluator DAG (RelativeEvaluator, SumEvaluator, TopocentricEvaluator) β center-chaining and topocentric correction in C++
- FixedStarEvaluator β proper motion, parallax, and radial velocity propagation in C++
- Thread pool for parallel event search β
search_pool.hpp - This architecture is superior to thin wrappers around an external C library (e.g., pyswisseph): Moira's Python API is backed by a fully sovereign C++ kernel, not delegated to a third-party binary
Planetary & Stellar Coverage
- 1,809 named fixed stars with proper motion, parallax, epoch propagation
- Classical asteroids (Ceres, Pallas, Juno, Vesta) + Centaurs (Chiron, Pholus, Chariklo, Asbolus, Hylonome)
- Trans-Neptunians (Ixion, Quaoar, Varuna, Orcus)
- Uranian/Hamburg bodies (Cupido through Poseidon)
- Lunar nodes, apsides, True/Mean Lilith
- Variable stars (Algol phase engine)
- Multiple star systems (Sirius AB, Alpha Centauri AB)
- User-supplied
.bspkernels for 887,000+ numbered minor planets - Comets with native NAIF ID registry
- Asteroid families with resonance network mapping
Chart Calculation
- 17 house systems (Placidus, Koch, Regiomontanus, Campanus, Morinus, Porphyry, Whole Sign, Equal, APC, Sunshine, etc.)
- 22 zodiacal aspects with applying/separating/stationary motion detection
- Declination parallels & contra-parallels
- Antiscia & contra-antiscia
- 21 aspect patterns (T-Square, Grand Trine, Yod, Kite, Mystic Rectangle, Stellium, etc.)
- Full midpoint matrix with 90Β°/45Β°/22.5Β° dial projections
- Traditional dignities (domicile, exaltation, triplicity, terms, face, sect, hayz, Almuten Figuris)
- 499 Arabic Parts with dependency graphs
- 36-decan research catalog with source-reconstructed names and planetary faces; the former ruling-star assignments fail closed and the unsupported Hermetic night-hour experiment was removed on 2026-07-26
- Galactic house system with boundary profiles
Predictive Techniques
- Progressions β 40 techniques covering secondary, tertiary, minor, solar arc, Naibod, ascendant arc, vertex arc, planetary arc, quotidian solar/lunar, plus full converse forms
- Primary directions (Placidus semi-arc, mundane, speculum)
- Returns (solar, lunar, planetary)
- Time lords (profections, Firdaria, Zodiacal Releasing, Hyleg/Alcocoden)
- Vedic techniques (Vimshottari Dasha, Ashtottari Dasha, Yogini Dasha, sidereal positions, 27 nakshatras, Varga charts)
Vedic Depth (Substantially Expanded)
- Vimshottari Dasha with nakshatra balance
- Ashtottari Dasha and Yogini Dasha (alternate systems)
- Ashtakavarga β Bhinnashtakavarga (per-planet) and Sarvashtakavarga (chart-wide); sign strength profiles; transit strength
- Shadbala β full six-strength computation (Sthana Bala, Dig Bala, Kala Bala, Chesta Bala, Naisargika Bala, Drig Bala) with tier classification
- Jaimini Karakas β full 7-planet and 8-planet schemes with atmakaraka, karaka pairs, condition profiles
- Panchanga β Tithi, Yoga, Karana, Vara with condition profiles and policy control
- Vedic Dignities β exaltation, debilitation, Mula Trikona, own signs, natural friendship/enmity, compound relationships
- Nakshatras β 27-nakshatra system with
nakshatra_of()andall_nakshatras_at() - Divisional charts (Varga) via sidereal module
Batch & Automation Operations (New β Gap #1 Closed)
batch_charts()β multi-chart assembly across dates, locations, body setsbatch_events()β general event search (transits, aspect transits, declination transits, ingresses, stations)batch_transits()β multi-body longitude transit searchbatch_returns()β solar, lunar, planetary return JDs in bulkbatch_progressions()β 40 progression techniques in batch with per-request failure isolationfind_all_ingresses()β chronologically merged ingresses for many bodiesvoid_periods_all_planets()β void-of-course windows for any moving body across a rangeplanet_time_series()β ephemeris sampling for one body across many epochs- All batch functions use per-request
BatchFailureisolation: one failed chart does not abort the run
Observational & Practical Phenomena (Significantly Improved)
- Eclipses (NASA-canon contact solver, Saros series, local circumstance)
- Heliacal phenomena V5 β generalized visibility engine: multi-criterion (naked eye/binoculars/telescope), light pollution classes (Bortle scale), atmospheric extinction models, moonlight policy, twilight model, lunar crescent visibility
- Parans (paranatellonta field analysis)
- Occultations (lunar occultation of stars/planets)
- Retrograde stations β
find_stations()exposed in batch - Astrocartography (ACG lines for all planets)
- Local Space charts
- Gauquelin sectors
- Galactic coordinates (equatorial-to-galactic transform)
- Void-of-course Moon β
void_of_course_window(),is_void_of_course(),next_void_of_course(),void_periods_in_range(); generalized to any body viavoid_periods_all_planets() - Sign ingresses β
find_ingresses()andfind_all_ingresses()(batch) - Proximity/conjunction events β
proximity_events_in_range()andsolar_condition_events_in_range() - Planetary phenomena β
planet_phenomena_at(),PlanetPhenomena - Keplerian orbital elements β
orbital_elements_at(),distance_extremes_at() - Planetary nodes β geometric orbital nodes via
planetary_node(),all_planetary_nodes()
Advanced Analytical Capabilities (New / Unique)
- Harmogram analysis β harmogram traces, intensity function spectra, zero-aries parts harmonic vectors, harmogram strength projection; no commercial competitor exposes this in an API
- Dispositorship system β full dispositorship chain calculation, condition network profiles, subsystem profiles, comparison bundles; research-grade analysis unavailable in any Python astrology library
- Triplicity scoring β configurable triplicity doctrine with participation rules
- Asteroid family resonance β family identification, resonant aspect detection, resonance network mapping
Professional Astrology Software Landscape
Tier 1: Desktop Calculation Engines
Swiss Ephemeris (Astro.com)
- Strength: Industry standard; used by most professional software
- API: C/Fortran library; thin Python wrappers available (pyswisseph)
- Coverage: Planets, asteroids, fixed stars, nodes, Lilith
- Techniques: Basic aspects, houses, progressions, returns
- Weakness: Closed-source; limited transparency; no Vedic depth; Python wrappers are thin bindings to a black box
- Market Position: De facto standard for Western astrology
Solar Fire (Alabe Software)
- Strength: Calculation-first; research-grade accuracy; batch automation
- Features:
- Animated charts (real-time clock, time-step animation)
- Astrologer's Assistant (task automation/macro recording)
- Astro-Locality Mapping (eclipse paths, local space lines)
- Batch processing for transits, progressions, returns
- 1000+ asteroids
- Extensive report generation
- Weakness: Proprietary; Windows-first; no API
- Market Position: Professional astrologer standard for research & batch work
Kepler (Astro Software)
- Strength: Research-grade; statistical analysis; AstroMaps
- Features:
- AstroMaps (Treasure Maps, local space, horizon, geodetic, zodiac sign maps)
- 90Β° dials (regular, biwheel, triwheel, quadwheel)
- Antiscia/contra-antiscia charts
- Arabic Parts wheels
- Arc Transform charts
- Asteroids (4 major + Chiron in wheel; 1000 in list; 38,000 optional)
- Aspect listings with VOC
- Assumptionless research tools
- Batch processing
- Weakness: Proprietary; expensive; limited Vedic
- Market Position: Research & statistical analysis
Astro Gold (Solar Fire for Mac/iOS)
- Strength: Mobile-first; elegant UI; file compatibility with Solar Fire
- Features:
- Transit reports with custom date conditions
- Progressions, synastry, composite charts
- Customizable reports
- iOS/macOS native
- Weakness: Limited to Apple ecosystem; less powerful than Solar Fire desktop
- Market Position: Professional astrologers on Mac/iPad
Tier 2: Vedic Astrology Specialists
Parashara's Light
- Strength: Comprehensive Vedic suite; accurate calculations
- Features:
- Vimshottari Dasha with nakshatra balance
- Varshaphal (annual charts)
- Ashtakavarga
- Divisional charts (Varga)
- KP astrology
- Muhurta (electional astrology)
- Birth time rectification
- Database/research tools
- Customizable reports
- Weakness: Proprietary; limited Western techniques; no API
- Market Position: Vedic practitioners & researchers
Jagannatha Hora
- Strength: Free; Vedic-focused; active development
- Features:
- Vimshottari Dasha
- Varshaphal
- Ashtakavarga
- Divisional charts
- KP astrology
- Muhurta
- Nakshatra analysis
- Weakness: Limited Western techniques; no API; smaller user base
- Market Position: Budget-conscious Vedic practitioners
Tier 3: API/Service Layer
AstroVisor API
- Strength: Professional API; Swiss Ephemeris engine; 95+ tools
- Features:
- Natal charts, BaZi, Jyotish
- REST API
- Batch processing
- Custom calculations
- Weakness: Proprietary; closed-source; pricing model
- Market Position: Developers integrating astrology into apps
Immanuel (Python)
- Strength: Open-source Python wrapper; Swiss Ephemeris + Astro.com data
- Features:
- JSON-formatted chart data
- Human-readable output
- Python-native
- Weakness: Limited to Swiss Ephemeris; no Vedic; minimal techniques; thin wrapper with no sovereign computation
- Market Position: Python developers wanting quick chart generation
Kerykeion (Python)
- Strength: Open-source; SVG chart generation; Python-native
- Features:
- Birth charts, composite, transit charts
- SVG output
- Data extraction
- Weakness: Limited techniques; no Vedic; minimal validation; no batch or predictive API
- Market Position: Python developers wanting chart visualization
Gap Analysis: Current State
1. Batch & Automation Operations β CLOSED β
Status: Fully implemented in moira/batch.py
- β
batch_charts()β multi-chart assembly - β
batch_events()β transits, aspect transits, declination transits, ingresses, stations - β
batch_transits()β longitude transit search - β
batch_returns()β solar/lunar/planet returns - β
batch_progressions()β 40 progression techniques with full converse forms - β
find_all_ingresses()β multi-body ingress merge - β
void_periods_all_planets()β VOC windows for any body - β
planet_time_series()β ephemeris time series sampling - β Per-request
BatchFailureisolation β one failure does not abort the run
Remaining: No macro recording or task automation (not needed for a library); no chart filtering or research queries (see Gap #6)
2. Interpretive Synthesis (MEDIUM PRIORITY β intentionally deferred)
Professional Need: Astrologers want computed facts + interpretive guidance
Moira Status: Pure computation; no interpretation
- β No interpretive text generation
- β No technique synthesis (e.g., "Mars in 8th + Pluto aspects = X")
- β No report templates
- β No client-facing output formatting
Note: This is the most natural application of an LLM layer over Moira's output. A moira-interpret plugin consuming the structured API would be a strong product rather than an engine feature.
3. Vedic Technique Depth (LOW PRIORITY β substantially reduced)
Professional Need: Vedic practitioners need specialized tools
Moira Status: Deep Vedic core coverage; Varshaphal/Tajika is now a serious annual-return subsystem, and the remaining gap is primarily breadth, workflow, and synthesis rather than missing foundation
- β Vimshottari Dasha
- β Ashtottari Dasha
- β Yogini Dasha
- β Ashtakavarga (Bhinna and Sarva)
- β Shadbala (full six-strength: Sthana, Dig, Kala, Chesta, Naisargika, Drig)
- β Jaimini Karakas (7 and 8-planet)
- β Panchanga (Tithi, Yoga, Karana, Vara)
- β Vedic dignities, compound relationships
- β Nakshatras (27 lunar mansions)
- β Divisional charts (Varga; Shodashvarga depth is present)
- β Tajika / Varshaphal annual-return doctrine β sidereal annual return timing, annual chart vessel, Muntha, Sahams, Tajika aspects/yogas, Varshesha, Tajika strength, Mudda Dasha, TΔsΔ«ra timing, annual judgement, and topic-specific channels are present
- β KP astrology (Krishnamurti Paddhati) β no KP cusp workflow, star-lord / sub-lord chain, ruling planets, or significator logic
- β Jaimini Chara Dasha β Karakas are implemented, but the time-lord system itself is absent
- β Natal yoga catalog β Panchanga nitya yogas exist, but named chart-yoga families (Raja, Dhana, Nabhasa, etc.) are not surfaced
- β Muhurta (electional astrology) β no electional scoring or practitioner workflow layer over Panchanga and planetary conditions
- β Birth time rectification β not implemented
- β Bhava Chalit β not implemented
Gap remaining: Moira can now claim substantial Jyotish infrastructure and real annual-return support, but it cannot yet claim parity with Parashara's Light or Sirius across the full practitioner workflow. The clearest remaining gaps are KP, Jaimini Chara Dasha, natal yoga catalogs, Muhurta workflow, rectification, and additional long-tail refinement within Tajika rather than missing annual architecture.
4. Observational/Practical Phenomena β SUBSTANTIALLY IMPROVED
Professional Need: Simple, clean event-search APIs for common practical uses
Moira Status: Now largely complete; specific naming conventions could improve discoverability
- β Eclipses (present)
- β Heliacal phenomena V5 with full visibility policy (light pollution, extinction, moonlight, observer conditions)
- β Occultations (present)
- β Retrograde stations via
find_stations()in batch - β Sign ingresses via
find_ingresses()/find_all_ingresses() - β Proximity/conjunction events via
proximity_events_in_range() - β Void-of-course Moon with dedicated API
- β Planetary phenomena via
planet_phenomena_at() - β Lunar phases β exposed via
find_lunar_phases(jd_start, jd_end)on the predictive/transit surface - β Planetary visibility convenience β
visibility_tonight()andis_visible_tonight()now expose the single-epoch practitioner-facing verdict directly - β Visibility window search convenience β there is still no thin
next_visible_window()-style helper over the full heliacal search subsystem
Opportunity: If needed, add a thin next_visible_window() or similar alias over the existing heliacal event search for the remaining discoverability gap.
5. Relationship & Synastry Automation (MEDIUM PRIORITY)
Professional Need: Batch synastry, composite, Davison for multiple chart pairs
Moira Status: Single-pair focus
- β Synastry (present)
- β Composite (present)
- β Davison (present)
- β Batch synastry β not implemented
- β Synastry filtering (e.g., "show all Mars-Venus aspects across 100 pairs")
- β Compatibility scoring β not implemented
Opportunity: batch_synastry(pairs, techniques) analogous to batch_progressions() β low implementation cost given the batch pattern is already established.
6. Research & Statistical Tools (MEDIUM PRIORITY)
Professional Need: Filter, aggregate, and analyze chart collections
Moira Status: No research layer
- β No chart database
- β No filtering (e.g., "all charts with Sun in 8th")
- β No statistical aggregation
- β No correlation analysis
- β No chart comparison tools
Opportunity: A moira-research module β even a simple in-memory chart collection with filter predicates β would unlock research workflows. The batch API is the computational foundation; persistence and filtering are the missing layer.
7. Report Generation & Templating (MEDIUM PRIORITY)
Professional Need: Generate client-facing reports in multiple formats
Moira Status: No report layer
- β No HTML/PDF report generation
- β No report templates
- β No customizable output formatting
- β No multi-chart report layouts (triwheel, quadwheel)
Opportunity: moira-reports module with Jinja2 templates for HTML output; PDF via wkhtmltopdf or weasyprint.
8. REST API / Service Layer (HIGH PRIORITY)
Professional Need: Integrate Moira into web apps, mobile apps, third-party services
Moira Status: Python library only
- β No REST API
- β No Docker container
- β No cloud deployment
- β No rate limiting / auth
- β No async/concurrent request handling
Note: The C++ native layer makes this more viable: the hot computation paths are now fast enough for production HTTP latency budgets. A FastAPI server is the natural next step.
Opportunity: moira-server β FastAPI app with endpoints for chart, batch, event, and progression operations; Docker image; OpenAPI schema.
9. Mobile/Lightweight Interface (LOW PRIORITY)
Professional Need: Astrologers want mobile access
Moira Status: Python library; not mobile-friendly
- β No mobile app
- β No lightweight web UI
- β No offline-capable mobile library
Note: This is a downstream product of the REST API; build the server first.
10. Chart Data Persistence (MEDIUM PRIORITY)
Professional Need: Store, retrieve, and manage chart collections
Moira Status: No persistence layer
- β No chart storage format
- β No database schema
- β No import/export (except manual)
- β No chart versioning
Opportunity: Define a canonical chart JSON schema; create moira-storage with SQLite backend.
11. NEW: Concurrency & Thread Safety at Scale (MEDIUM PRIORITY β newly identified)
Professional Need: Multi-threaded servers and parallel chart processing
Moira Status: Substantially addressed; closure work is now documentation and audit completion
- β C++ evaluator layer uses mutex-guarded caching β thread-safe per evaluator
- β
search_pool.hppβ native thread pool for event searches - β
SpkReaderand reader singleton lifecycle now carry explicit concurrent-read and serialized-lifecycle contracts - β Long-running pure-native C++ entry points have explicit GIL-release coverage on the major search, payload, kernel-handle, and bulk-compute paths
- β Public deployment guidance for threaded services still needs to be consumed by downstream REST/server work
Opportunity: Treat this as a production-guidance and server-pattern concern rather than a missing substrate concern; prefer a documented stable-reader deployment model and process-worker isolation where needed.
12. NEW: Lunar Phase API β CLOSED β
Professional Need: Simple find_lunar_phases() call for phase calendars
Moira Status: Surfaced on the predictive/transit layer
- β
find_lunar_phases(jd_start, jd_end)convenience function - β Lightweight phase calendar output with phase type + JD
- β Backed by the existing eight-phase Moon phase engine rather than duplicated search math
Impact: Practitioner discoverability gap is closed.
13. NEW: Chart Visualization / SVG Output (LOW PRIORITY β newly identified)
Professional Need: Visual chart wheel output
Moira Status: No visualization layer
- β No SVG or chart wheel output
- Competitors like Kerykeion (SVG) and Astro Gold (native iOS graphics) have visual output
Note: Moira's positioning as a computation core makes this a plugin concern, but chart SVG output would significantly broaden its appeal for developers.
Moira's Unique Competitive Advantages
1. Hybrid Python/C++ Architecture (New)
- Sovereign C++ core with Python-native API β not a thin wrapper around an external binary
- AVX2-accelerated Chebyshev polynomial evaluation (outperforms pyswisseph hot path)
- Composable native evaluator DAG (RelativeEvaluator, SumEvaluator, TopocentricEvaluator)
- Native DAF/SPK reader β Moira owns the ephemeris file-format chain
- Thread pool for parallel event search
- Performance competitive with compiled libraries while maintaining Python transparency
2. Astronomical Transparency
- Explicit computational pipeline with inspectable intermediate stages
- Documented residuals against ERFA/SOFA
- No hidden black boxes or undocumented corrections
- Machine contract governance (MACHINE_CONTRACT v1 blocks) enforced by test suite
3. Modern Astronomical Standards
- JPL DE441 (not older DE430)
- IAU 2006 (not IAU 1976)
- Full nutation model (1365 lunisolar + 687 planetary terms)
- Gravitational deflection (Sun, Jupiter, Saturn, Earth)
- IERS delta-T with physical-model fallback
4. Comprehensive Vedic Coverage
- Vimshottari + Ashtottari + Yogini dasha systems
- Shadbala (full six-strength with tier classification)
- Ashtakavarga (Bhinna + Sarva + transit strength)
- Jaimini Karakas (7 and 8-planet schemes)
- Panchanga (Tithi, Yoga, Karana, Vara with condition profiles)
- Multiple ayanamshas with century-drift characterization
5. Sovereign Fixed Star Registry
- 1,809 named stars with proper motion, parallax, epoch propagation
- Evaluated in native C++ (
FixedStarEvaluator) - Audited against SOFA/ERFA (0.00048 arcseconds residual)
- License-independent
6. Generalized Visibility Engine (V5 β Unique)
- Multi-criterion observing conditions: naked eye, binoculars, telescope
- Bortle-scale light pollution classes
- Atmospheric extinction model
- Moonlight interference policy
- Twilight model selection
- Lunar crescent visibility criteria with IOTA-oriented authority
- No commercial Python library matches this depth
7. Deep Dispositorship & Condition Profiling (Unique)
- Full dispositorship chain calculation
- Condition network profiles across a chart
- Subsystem profiles and comparison bundles
- Research-grade dignities analysis not available in any other Python library
8. Harmogram Analysis (Unique)
- Harmogram traces with configurable domains
- Intensity function spectra
- Zero-aries parts harmonic vectors
- No commercial competitor exposes harmonic analysis at this level in an API
9. Explicit Policy Control
- Every correction stage can be toggled independently
- Delta-T policy choices (IERS, polynomial, hybrid)
- Ayanamsa selection
- Topocentric parallax optional
- Atmospheric refraction optional
- Dignity doctrine selection
Strategic Recommendations
Tier 1: High-Impact Gaps (Implement Next)
-
REST API Service Layer
- FastAPI server with endpoints for all major Moira functions
- OpenAPI schema for discoverability
- Docker container for easy deployment
- Consume the documented stable-reader deployment model during service packaging
- Impact: Opens Moira to web/mobile developers; enables hosted service revenue
- Effort: Medium (3-4 weeks given C++ layer already handles hot path)
-
Batch Synastry
batch_synastry(pairs, techniques)following the established batch pattern- Synastry filtering helper
- Impact: Closes a notable gap vs. Solar Fire batch workflows
- Effort: Low (1 week β batch infrastructure already in place)
-
Thread Safety Documentation & GIL Release Audit
- Public threading contract, native GIL audit, rebuild proof, runtime verification, and adversarial verification are now in place
- Remaining work is not engine closure; it is correct adoption of the documented deployment model in future REST/service packaging
- Impact: Important for production operations, but no longer an open engine substrate gap
- Effort: Low
Tier 2: Vedic & Professional Workflow (Implement Second)
-
Varshaphal (Annual Charts)
- Remaining work is refinement: additional long-tail Tajika yogas, house-based/monthly/daily period variants, and stronger interpretive/report synthesis
- Impact: No longer a foundation gap; now a completion and practitioner-polish track
- Effort: Medium-high (incremental doctrine work, not a missing base implementation)
-
Chart Persistence & Storage
- Canonical chart JSON schema
- SQLite backend with
moira-storagemodule - Impact: Enables research and client management workflows
- Effort: Medium (2-3 weeks)
-
Muhurta (Electional Astrology)
- Integrate Panchanga + planetary conditions into electional scoring
- Impact: Closes an important practitioner workflow gap, but does not by itself complete Vedic parity without KP, Tajika depth, and yoga catalog work
- Effort: High (4-6 weeks; domain-specific logic)
-
Research & Filtering Tools
- In-memory chart collection with filter predicates
- Statistical aggregation helpers
- Impact: Enables research workflows on top of batch API
- Effort: Medium (2-3 weeks)
Tier 3: Optional Enhancements (Implement Third)
-
KP Astrology (Krishnamurti Paddhati)
- Sub-lord system, KP significators
- Impact: Specialized Vedic niche; not the primary gap
- Effort: High (4-6 weeks; distinct sub-lord calculation chain)
-
Report Generation
- Jinja2 template system for HTML/PDF
- Impact: Enables client-facing deliverables
- Effort: Medium (3-4 weeks)
-
Chart Visualization / SVG Output
- Plugin module with wheel rendering
- Impact: Widens developer appeal
- Effort: Medium (3-4 weeks)
-
Interpretive Synthesis Layer (optional plugin)
- LLM-backed technique synthesis over structured Moira output
- Impact: Differentiates from pure computation; large practitioner market
- Effort: High (8-12 weeks); best implemented as
moira-interpretusing Claude API
Market Positioning Strategy
Current Position
Moira is a transparent, auditable, high-performance computational engine with a Python-native API, sovereign C++ core, and comprehensive coverage of both Western and Vedic techniques. The batch API is now production-capable.
Recommended Positions
-
"The Computational Core for Professional Astrology"
- Offer Moira as a service layer (REST API) for app developers
- Compete with Swiss Ephemeris on transparency + modern standards + Python-native accessibility
- Compete with Solar Fire on batch automation (batch API is now equivalent in coverage if not UX polish)
-
"The Unified Western + Vedic Engine with Performance"
- Deepest Vedic coverage of any Python library (Shadbala, Ashtakavarga, Jaimini, Panchanga, Ashtottari, Yogini)
- Full Western technique suite in the same library
- C++ core means it is not a convenience trade-off
-
"The Auditable Alternative to Proprietary Software"
- Emphasize sovereign Python/C++ architecture, inspectable code, documented residuals
- Machine contract governance for AI-assisted development
- Target researchers, educators, and practitioners who value transparency
- Open-source core + optional commercial services (hosting, support,
moira-interpret)
Competitive Comparison Matrix
| Feature | Moira | Swiss Ephemeris | Solar Fire | Kepler | Parashara's Light |
|---|---|---|---|---|---|
| Astronomy | β β β β β | β β β β β | β β β β β | β β β β β | β β β ββ |
| Transparency | β β β β β | β ββββ | β β βββ | β β βββ | β β βββ |
| Performance (C++ core) | β β β β β | β β β β β | β β β β β | β β β β β | β β β ββ |
| Python API | β β β β β | β β βββ | βββββ | βββββ | βββββ |
| Western Techniques | β β β β β | β β β β β | β β β β β | β β β β β | β β βββ |
| Vedic Techniques | β β β β β | β β βββ | β β βββ | β β βββ | β β β β β |
| Batch Operations | β β β β β | β β βββ | β β β β β | β β β β β | β β β ββ |
| Observational Phenomena | β β β β β | β β β ββ | β β β ββ | β β β ββ | β β βββ |
| Report Generation | βββββ | β β βββ | β β β β β | β β β β β | β β β ββ |
| REST API | βββββ | β β β ββ | βββββ | βββββ | βββββ |
| Research Tools | β ββββ | β β βββ | β β β β β | β β β β β | β β β ββ |
| Harmogram / Advanced Analysis | β β β β β | βββββ | β β βββ | β β β ββ | βββββ |
| Visibility Engine | β β β β β | β β βββ | β β βββ | β β βββ | βββββ |
Note: "Performance (C++ core)" reflects computational throughput on SPK evaluation. Moira's Python surface adds overhead vs. direct C library calls, but the native evaluation layer is now competitive for hot-path operations.
Conclusion
Moira's foundation has materially strengthened since April 2026. The batch operations gap is closed. The Vedic depth gap is substantially reduced. The C++ native layer adds a competitive performance dimension that no other Python-native astrology library possesses.
The remaining strategic priorities in order are:
- REST API β transforms Moira from a library into a platform
- Batch synastry β low-effort gap closure using existing batch infrastructure
- Muhurta / practitioner workflow β now the clearer Vedic workflow gap after the Varshaphal annual layer
- Chart persistence + research tools β unlocks the research and data workflows that Solar Fire and Kepler own today
- REST deployment packaging discipline β apply the documented stable-reader and no-hot-swap threading model when the server layer is built
The opportunity is no longer solely to offer Moira as a Python library. The C++ layer, batch API, and comprehensive technique coverage now support positioning Moira as a production computational platform that application developers, researchers, and Vedic/Western practitioners can build on top of β either as a library, a REST service, or a hosted API.