Try Astrologer API

Subscribe to support and grow the project.

Examples navigation

Cusp Comparison Grids

Kerykeion introduces cusp comparison grids for Transit, Synastry, and Dual Return charts. These tables show how each subject’s house cusps fall into the other subject’s house system.

Synastry Cusp Comparison

from pathlib import Path
from kerykeion import AstrologicalSubjectFactory
from kerykeion.chart_data_factory import ChartDataFactory
from kerykeion.charts.chart_drawer import ChartDrawer

person_a = AstrologicalSubjectFactory.from_birth_data(
    name="Person A",
    year=1990, month=5, day=15,
    hour=10, minute=30,
    lng=12.4964,
    lat=41.9028,
    tz_str="Europe/Rome",
    online=False,
)
person_b = AstrologicalSubjectFactory.from_birth_data(
    name="Person B",
    year=1992, month=8, day=23,
    hour=14, minute=45,
    lng=9.19,
    lat=45.4642,
    tz_str="Europe/Rome",
    online=False,
)

chart_data = ChartDataFactory.create_synastry_chart_data(
    first_subject=person_a,
    second_subject=person_b,
    include_house_comparison=True,
)

drawer = ChartDrawer(
    chart_data=chart_data,
    show_cusp_position_comparison=True,
)

output_dir = Path("charts_output")
output_dir.mkdir(exist_ok=True)

drawer.save_svg(
    output_path=output_dir,
    filename="synastry-with-cusp-comparison",
)

This produces:

  • two house comparison tables (points in partner houses)
  • two cusp comparison tables (cusps in partner houses), labelled with localized "cusp" and "house" strings

Accessing Cusp Comparison in Reports

When a dual chart includes house comparison, reports also expose cusp overlays:

from kerykeion import ReportGenerator

report = ReportGenerator(chart_data)
text = report.generate_report()
print(text)

Look for sections such as:

  • "Person A cusps in Person B houses"
  • "Person B cusps in Person A houses"