g-battaglia / kerykeion

Data driven Astrology 💫
Kerykeion is a python library for astrology. It can generate SVG charts and extract all data about a birthchart, a synastry chart and a transit chart.
https://kerykeion.net
GNU Affero General Public License v3.0
297 stars 103 forks source link

No Asc or Mc for Whole Sign - House System Selection #124

Open 1OnesAndZeros0 opened 1 month ago

1OnesAndZeros0 commented 1 month ago

Thank you so much for implementing the house system selection! This is great!

However there's still the problem of showing the Asc and Mc as 00°00'00 when generating the SVG.

Using the John Lenon example, they should be Asc: 16°04' and Mc: 5°33' (rounded by the generator I used) for the Whole Sign system.

Unless there's something I'm doing wrong?

          Closing, here the example of the implementation:

https://www.kerykeion.net/docs/examples/houses-systems

Originally posted by @g-battaglia in https://github.com/g-battaglia/kerykeion/issues/105#issuecomment-2239930214

g-battaglia commented 2 weeks ago

Hi, can you share a code snippet of the issue?

1OnesAndZeros0 commented 1 week ago

Here's a sample of a script I'm using: `from kerykeion import AstrologicalSubject, KerykeionChartSVG

def get_user_input(): name = input("Enter the person's name: ") year = int(input("Enter birth year: ")) month = int(input("Enter birth month (1-12): ")) day = int(input("Enter birth day: ")) hour = int(input("Enter birth hour (0-23): ")) minute = int(input("Enter birth minute (0-59): ")) city = input("Enter birth city: ") nation = input("Enter birth country code (e.g., US, CA, UK): ") return name, year, month, day, hour, minute, city, nation

def generate_birthchart(): print("Please enter the birth information:") name, year, month, day, hour, minute, city, nation = get_user_input()

# Create an AstrologicalSubject instance with user input
person = AstrologicalSubject(
    name=name,
    year=year,
    month=month,
    day=day,
    hour=hour,
    minute=minute,
    city=city,
    nation=nation,
    houses_system_identifier="W"  # Whole House system
)

# Create a KerykeionChartSVG instance
person_chart = KerykeionChartSVG(person)

# Generate the SVG
person_chart.makeSVG()

print("\nSVG generated successfully!")
print(f"The Whole House system chart has been saved as '{name}_Chart.svg' in your home directory.")

if name == "main": generate_birthchart()`

I've tried hard coding as well. 
You can see in the attached image.

WholeHouseChartNoASCorMC_Kanye

g-battaglia commented 1 week ago

Hi @1OnesAndZeros0, I'm not much of an expert of the Whole Sign system. Can you provide me more details about how it should work? I checked and it looks there are not issues with the code, the data is correctly generated by the underling implementation of the swiss ephemeris.