Parties arabes (Lots hermétiques)
Les parties arabes — également appelées Lots hermétiques en astrologie classique — sont des points sensibles dérivés des longitudes des positions du thème plutôt que de l’observation directe des planètes. Elles étaient largement utilisées en astrologie hellénistique et médiévale et restent centrales à la pratique traditionnelle.
Ketu fournit un registre de parties sensible à la sect via le module ketu.parts.
Parties intégrées
Trois parties sont enregistrées par défaut :
Nom |
Clé |
Sensible à la sect |
Formule (jour) |
Formule (nuit) |
|---|---|---|---|---|
Part de Fortune |
|
Oui |
ASC + Lune - Soleil |
ASC + Soleil - Lune |
Part de l’Esprit |
|
Oui |
ASC + Soleil - Lune |
ASC + Lune - Soleil |
Part du Mariage |
|
Non |
ASC + Vénus - Saturne |
ASC + Vénus - Saturne |
La Fortune et l’Esprit inversent leurs formules selon la sect : dans un thème diurne la formule standard s’applique ; dans un thème nocturne la formule est inversée (Soleil et Lune échangent leurs rôles). Le Mariage utilise la même formule quelle que soit la sect.
Détection de la sect
ketu.parts utilise is_day_chart de ketu.charts en interne. Le thème transmis à calculate_part porte ses propres jd, lat et lon — Ketu détermine la sect automatiquement à partir de ces valeurs.
calculate_part
calculate_part(part_name, chart) -> float
Calcule une seule partie et retourne sa longitude écliptique (0–360°).
from ketu.charts import compute_chart
from ketu.parts import calculate_part
jd = 2451545.0 # J2000: 2000-01-01 12:00 UTC
lat = 48.8566 # Paris
lon = 2.3522
chart = compute_chart(jd, lat, lon)
fortune = calculate_part("fortune", chart)
spirit = calculate_part("spirit", chart)
marriage = calculate_part("marriage", chart)
print(f"Fortune: {fortune:.2f} deg")
print(f"Spirit: {spirit:.2f} deg")
print(f"Marriage: {marriage:.2f} deg")
calculate_all_parts
calculate_all_parts(chart, parts=None) -> dict[str, float]
Calcule toutes les parties enregistrées en une seule fois. Le résultat est un dict Python ordinaire associant le nom de la partie à la longitude (float, degrés 0–360).
parts=Nonecalcule toutes les parties enregistrées.Passer une liste de clés pour restreindre le calcul.
from ketu.charts import compute_chart
from ketu.parts import calculate_all_parts
jd = 2451545.0
lat = 48.8566
lon = 2.3522
chart = compute_chart(jd, lat, lon)
all_lots = calculate_all_parts(chart)
for name, lon_deg in sorted(all_lots.items()):
print(f"{name:12s} {lon_deg:.2f} deg")
# Selective calculation
select = calculate_all_parts(chart, parts=["fortune", "spirit"])
Signature de formule
Toute formule de partie (variantes jour et nuit) doit accepter exactement quatre arguments positionnels :
(asc_lon: float, sun_lon: float, moon_lon: float, venus_lon: float) -> float
Même si une formule n’utilise pas les quatre arguments, ils sont toujours transmis dans cet ordre. Les résultats sont automatiquement normalisés vers [0°, 360°) par le registre.
Enregistrement de parties personnalisées
Utiliser register pour ajouter une nouvelle partie au registre global :
from ketu.parts import register, PARTS
# Part of Commerce: ASC + Mercury - Sun (same day and night)
def commerce_formula(asc_lon, sun_lon, moon_lon, venus_lon):
from ketu.calculations import long
return asc_lon # simplified — real formula would use Mercury
register(
name="commerce",
day_formula=lambda asc, sun, moon, venus: asc + sun - moon, # placeholder
night_formula=lambda asc, sun, moon, venus: asc + sun - moon, # same (fixed)
description="Part of Commerce (custom example)",
)
# Now 'commerce' is available everywhere
print(list(PARTS.keys()))
Après l’enregistrement, la nouvelle partie est incluse dans calculate_all_parts(chart) automatiquement.
PartSpec et get_part
Vous pouvez inspecter toute partie enregistrée :
from ketu.parts import get_part, PartSpec
spec = get_part("fortune")
print(spec.description) # "Part of Fortune"
print(spec.day_formula) # callable
PartSpec est un objet de type tuple nommé avec les champs : name, day_formula, night_formula, description.
Étapes suivantes
Thèmes relationnels — synastrie et thèmes composites pouvant bénéficier d’une analyse des parties
Référence API — liste complète des signatures
ketu.parts