Astrologie – Vollspektrum-Horoskop-Engine
Berechnet vier Systeme aus einer einzigen Geburtseingabe: BaZi, westlich tropisch, vedisch siderisch und Human Design.
Eingaben (alle Systeme)
| Feld | Hinweise |
|---|---|
year, month, day | Kalenderdatum, lokale Zivilzeit |
hour, minute | Lokale Zivilzeit im 24-Stunden-Format |
lat | Grad, + Nord |
lon | Grad, + Ost |
tz_offset | UTC-Offset in Stunden, z.B. Thailand +7 |
Wenn Datum, Uhrzeit oder Ort fehlen, frage den Benutzer – rate nicht. Zeitzonen-/Koordinatengenauigkeit ändert direkt den Aszendenten, die Häuserspitzen, die Stunden-Säule und alle Human-Design-Linien.
Zwei Engines – wähle eine
1. Python – maßgeblich (Swiss Ephemeris)
scripts/astrology.py verwendet pyswisseph für die gesamte Planetenberechnung und ist die Quelle der Wahrheit. Bevorzuge diese Engine.
python scripts/astrology.py 1992 8 8 16 49 6.53995 101.29 7
# Argumente: year month day hour minute lat lon tz_offset
Oder JSON per Umgebungsvariable übergeben (gut für programmatische Aufrufe):
WOR_INPUT='{"year":1992,"month":8,"day":8,"hour":16,"minute":49,"lat":6.53995,"lon":101.29,"tz_offset":7}' python scripts/astrology.py
Ohne Argumente und ohne Umgebungsvariable wird ein integriertes Standard-Horoskop ausgeführt.
Ephemeriden-Dateien: Das Skript sucht nach .se1-Daten in ../data relativ zu scripts/, dann fällt es zurück auf data/ephe. Dieses Repository speichert sie in assets/. Um die echten Swiss-Ephemeris-Dateien (anstelle des Moshier-Fallbacks) zu verwenden, rufe die Funktion direkt mit dem Pfad auf:
from astrology import run_full_astronomical_profile
run_full_astronomical_profile(1992, 8, 8, 16, 49, 6.53995, 101.29, 7,
ephe_path="assets")
Installiere die Abhängigkeit, falls sie fehlt: pip install pyswisseph.
1b. Python – thailändische Deutung (Interpretationsebene)
scripts/reading.py importiert die obigen Engines und wandelt die Rohausgabe in eine thailändische Klartext-Deutung um, die alle vier Systeme abdeckt. Verwende es, wenn der Benutzer eine tatsächliche Deutung (คำอ่าน/คำทำนาย) wünscht, nicht nur Rohzahlen.
python scripts/reading.py 1992 8 8 16 49 6.53995 101.29 7 m
# Argumente: year month day hour minute lat lon tz_offset [geschlecht]
# geschlecht (m/w) ist optional – erforderlich für die Richtung des 大運 (Da Yun)
Es lädt automatisch die gebündelten assets/*.se1-Ephemeriden-Dateien. Seine Interpretationstabellen sind auf Thailändisch (ELEMENT_TH, DEITY_TH, NAKSHATRA_TH, TYPE_TH, usw.) und können direkt erweitert werden. Es berechnet außerdem für BaZi: 12 Lebensstadien (十二長生), 18 神煞 Sterne (文昌/Intelligenz, 太極貴人, 桃花, 驛馬, 華蓋, 干祿, 紅艷煞, …), Na Yin (納音), Kong Wang (空亡), Tagesmeister-Stärke mit günstigen/vermeidenden Elementen (喜用神/忌神), Da Yun (大運) 10-Jahres-Zyklen mit ihren Zehn-Gottheiten und günstigen Elementen, Liu Nian (流年) Jahres-Säulen und eine abschließende thailändische Zusammenfassungsdeutung (Abschnitt 5), die BaZi + Human Design + Westlich zusammenführt. Die 神煞 verwenden klassische Formeln (manche Schulen weichen ab); der Rest ist exakt. reading.py berechnet die BaZi-Zehn-Gottheiten selbst mit korrekter Polarität (direkt vs. indirekt), da die eingebaute Tabelle von astrology.py jedes gleichartige Element als „Tagesmeister“ kennzeichnet.
Die Ausgabe umfasst: wahre Sonnenzeit + vier Säulen + zehn Gottheiten + Fünf-Elemente-Zählung; Aszendent/MC, Planeten, Placidus-Häuserspitzen, Aspekte; siderische Rashi/Nakshatra/Pada/Navamsha; und Human-Design-Typ, Strategie, Autorität, Definition, Profil, Inkarnationskreuz, Variable, Zentren, Kanäle sowie Persönlichkeits-/Design-Aktivierungen.
2. TypeScript – keine Abhängigkeiten, näherungsweise
scripts/astro.ts implementiert dieselben vier Systeme ohne Abhängigkeiten neu, für Umgebungen ohne Python/Swiss Ephemeris. Führe es mit npx tsx scripts/astro.ts aus – aber beachte, dass es nur Funktionen exportiert; es gibt keinen CLI-Runner. Schreibe einen kleinen Treiber, der es importiert:
import { computeChart } from './astro';
const chart = computeChart({
year: 1992,
month: 8,
day: 8,
hour: 16,
minute: 49,
utcOffsetHours: 7,
latitude: 6.53995,
longitude: 101.29
});
console.log(chart);
Behandle die TS-Ausgabe nur auf Zeichen-/Tor-Ebene. Genauigkeitshinweise sind am Anfang von astro.ts dokumentiert: Sonne ~0,01°, Mond ~0,1–0,3°, Planeten keplersch (keine Störungen, bis zu ~1° bei äußeren Planeten), Placidus oberhalb von ~66° Breitengrad unzuverlässig. Wenn ein Planet nahe einer Zeichen-/Haus-/Torgrenze liegt, sage dies und überprüfe es mit der Python-Engine, anstatt es zu behaupten.
Ergebnisse interpretieren
Die Skripte berechnen nur – sie geben Rohpositionen und Klassifikationen aus. Die Deutung/Interpretation ist deine Aufgabe. Lies die passende Referenzdatei, bevor du jedes System interpretierst:
| System | Referenz | Lies sie für |
|---|---|---|
| BaZi / Vier Säulen | references/bazi.md | Tagesmeister, fünf Elemente, zehn Gottheiten, Säulen-Bedeutungen |
| Westlich | references/western.md | Planeten, Zeichen, Häuser, Aspekte, Winkel |
| Vedisch | references/vedic.md | Rashi, Nakshatras, Herren, Padas, Navamsha, Ayanamsa |
| Human Design | references/human-design.md | Typ, Autorität, Definition, Profil, Zentren, Kanäle |
Lade nur die Referenz(en) für das System, nach dem der Benutzer tatsächlich gefragt hat. Wenn der Benutzer eine vollständige Deutung anfordert, führe die Engine aus, durchlaufe dann jedes angeforderte System mit seiner Referenz und übersetze die Ausgabe in Klartext (Thailändisch, falls der Benutzer Thailändisch schreibt), anstatt rohe Tabellen zu rezitieren.
Systemspezifische Hinweise:
- BaZi – die Monatssäule wechselt zu den solaren Begriffen (nicht am 1.), daher benötigen Geburten nahe einer Begriffsgrenze die wahre Sonnenzeit.
- Westlich – gewichte Aspekte nach dem vom Orb, den die Engine meldet.
- Vedisch – der Nakshatra-Herr und Pada sind für die Vorhersage wichtiger als das Rashi.
- Human Design – der Design-Zeitstempel wird durch 88° Sonnenbogen vor der Geburt gefunden, nicht genau 88 Tage.
Nicht tun
- Erfinde keine Planetenpositionen, Tornummern oder Kreuznamen – führe immer eine Engine aus.
- Präsentiere keine näherungsweise TS-Ausgabe als Ephemeridenqualität.
- Nimm keine Zeitzone an; bestätige sie anhand des Geburtsorts und -datums (Sommerzeit und historische Offsets ändern die Ergebnisse).