Skip to content

Releases: g-battaglia/kerykeion

💫 V4.21 Configurable Geonames Cache Timeout

07 Jan 20:53
Compare
Choose a tag to compare

What's New

  • Customizable Cache Timeout: Users can now adjust the Geonames cache expiration, with the default extended from 24 hours to 30 days.
  • This reduces API calls while allowing periodic updates to the Geonames data.

Huge thanks to @tomshaffner for the idea, implementation, and effort!

💫 V4.19: Lunar Nodes (Rahu & Ketu) Support

04 Nov 08:52
Compare
Choose a tag to compare

I'm excited to announce the addition of Lunar Nodes (Rahu & Ketu) support in Kerykeion. This new feature allows you to work with both True and Mean Lunar Nodes in your astrological calculations and charts.

Available Lunar Nodes

The following Lunar Nodes are now available:

  • True North Lunar Node: Simply referred to as "true_node" (without the term "north") for backward compatibility.
  • True South Lunar Node: Referred to as "true_south_node."
  • Mean North Lunar Node: Referred to as "mean_node" (without the term "north") for backward compatibility.
  • Mean South Lunar Node: Referred to as "mean_south_node."

Default Activation

  • In instances of the AstrologicalSubject class, all Lunar Nodes are active by default.
  • In instances of the classes used to generate aspects and SVG charts, only the mean nodes are active by default.

How to Activate True Nodes

To activate the true nodes in your aspects and SVG charts, you need to edit the configuration file (kr.config.json). Here is an example of how to activate the True South Node:

{
  "id": 19,
  "name": "True_South_Node",
  "color": "var(--kerykeion-chart-color-true-node)",
  "is_active": true, // Set to true to activate the true node
  "element_points": 0,
  "related_zodiac_signs": [],
  "label": "True_South_Node"
}

I hope this new feature enhances your astrological analysis and charting experience. As always, we appreciate your feedback and support.

Happy charting! ✨

💫 V4.17.0: New Features: Simplified Chart Language Support and Enhanced `get_settings` Function

26 Aug 17:59
Compare
Choose a tag to compare

New Features: Simplified Chart Language Support and Enhanced get_settings Function

Chart Language Support

I have added a new feature in the charts functionality: chart_language. You can now set the language for the chart, making it more accessible and user-friendly for non-English speakers. The default language is English (EN).

Available Languages:

  • EN (English)
  • FR (French)
  • PT (Portuguese)
  • ES (Spanish)
  • TR (Turkish)
  • RU (Russian)
  • IT (Italian)
  • CN (Chinese)
  • DE (German)

To set the language for your chart, simply use the [chart_language] parameter.

Eg:

from kerykeion import AstrologicalSubject, KerykeionChartSVG

# Italian Language Chart
italian_subject = AstrologicalSubject("Sofia Loren", 1934, 9, 20, 4, 30, "Rome", "IT")
italian_chart = KerykeionChartSVG(italian_subject, chart_language="IT")
italian_chart.makeSVG()

Enhanced get_settings Function

I have improved the get_settings function to provide more flexibility when retrieving settings.

Now, the function signature has been updated to:

This enhancement allows you to pass a dictionary or an instance of KerykeionSettingsModel directly to the function, providing greater flexibility and ease of use.

I hope these new features enhance your experience with the library. As always, I appreciate your feedback and support.

Happy charting! ✨

🎉 V4.16: Astrological Charts Enhanced! 🌟

23 Aug 14:24
Compare
Choose a tag to compare

I'm excited to introduce several new features to enhance your astrological chart experience!

✨ Themed Astrological Charts

You can now customize the look and feel of your astrological charts with themes! I've added four unique themes to choose from:

  • Classic (default)
  • Dark
  • Dark High Contrast
  • Light

How to Use Themes

Here's a quick example of how you can apply the "Dark" theme:

dark_theme_subject = AstrologicalSubject("John Lennon - Dark Theme", 1940, 10, 9, 18, 30, "Liverpool", "GB")
dark_theme_natal_chart = KerykeionChartSVG(dark_theme_subject, theme="dark")
dark_theme_natal_chart.makeSVG()

You can also choose not to set any theme, which makes it easier to override the default CSS variables. For more details, check out the documentation.

🌐 Minimalist Charts & Aspect Table

  • Wheel-Only Charts: I've added an option to generate a minimalist chart that only includes the wheel, stripping away any extra details.

  • Separate Aspect Table SVG: Now, you can extract the aspect table as a separate SVG file, giving you more flexibility in your analysis and presentations.

For further information, see the details.

🔄 Synastry & Transit Chart Enhancements

  • Aspect Table Grid View: You can now display aspects in a grid format, providing a clearer and more organized view compared to the traditional list format.

More details on these updates can be found here.


I hope these new features make your astrological charting experience even more powerful and enjoyable. Happy charting! ✨

Release v4.14.0: Lilith Implementation

05 Aug 20:56
Compare
Choose a tag to compare

I'm excited to announce the release of version 1.2.0 of our library! This update brings significant enhancements, including the implementation of Lilith in both astrological_subject.py and charts/kerykeion_chart_svg.py. Below are the details of what's new and how to use these features.

What's New

Lilith Implementation

  • Lilith has been added to the astrological calculations and chart rendering.
  • You can now include Lilith in your astrological subjects and charts.

Backward Compatibility

  • The old argument disable_chiron is now deprecated and replaced with disable_chiron_and_lilith.
  • A deprecation warning will be issued if disable_chiron is used, ensuring a smooth transition.

How to Use

In astrological_subject.py

Initialization

  • The constructor now accepts disable_chiron_and_lilith to control the inclusion of both Chiron and Lilith.
  • Example:
    subject = AstrologicalSubject(
        ...,
        disable_chiron_and_lilith=True
    )

Backward Compatibility

  • If you still use disable_chiron, a warning will be issued, and it will be mapped to disable_chiron_and_lilith.

In charts/kerykeion_chart_svg.py

Rendering Lilith

  • Lilith is now included in the aspect list and rendered in the chart.
  • To disable Lilith rendering in the chart, you should update the kr.config.json file:
    {
      "id": 17,
      "name": "Mean_Lilith",
      "color": "#000",
      "is_active": false,
      "element_points": 0,
      "related_zodiac_signs": [],
      "label": "Mean_Lilith"
    }

Deprecation Notice

  • The disable_chiron argument is deprecated and will be removed in a future version. Please update your code to use disable_chiron_and_lilith.

Conclusion

I hope these enhancements improve your experience with our library. As always, I appreciate your feedback and contributions. Please report any issues or suggestions on our GitHub Issues page.

Happy charting!

Giacomo

Full Changelog: V4.13.3...V4.14.0

New Release: Kerykeion 4.13.0

19 Jul 18:56
Compare
Choose a tag to compare

🚀 New Release: Kerykeion 4.13.0 🚀

I'm excited to announce the release of Kerykeion 4.13.0!

🌟 New Feature: Ephemeris Data Factory 🌟

I have introduced a powerful new feature that allows you to generate ephemeris data for a specified date range with ease. The EphemerisDataFactory class provides extensive customization options to suit your astrological needs.

Key Features:

  • Date Range Customization: Specify start_datetime and end_datetime for generating data.
  • Step Type Flexibility: Choose from days, hours, or minutes for step intervals.
  • Location Parameters: Define latitude and longitude for precise calculations.
  • Timezone Support: Set the timezone string and daylight saving time status.
  • Zodiac and Houses System Options: Customize zodiac type, sidereal mode, houses system identifier, and perspective type.
  • Data Limits: Configure maximum allowable days, hours, or minutes to prevent overload.

Usage Example

from datetime import datetime
from kerykeion.ephemeris_data_factory import EphemerisDataFactory

start_date = datetime.fromisoformat("2020-01-01")
end_date = datetime.fromisoformat("2050-01-03")

factory = EphemerisDataFactory(
    start_datetime=start_date,
    end_datetime=end_date,
    step_type="hours",
    step=1,
    lat=37.9838,
    lng=23.7275,
    tz_str="Europe/Athens",
    is_dst=False,
)

ephemeris_data = factory.get_ephemeris_data(as_model=True)
print(ephemeris_data[0])
print(len(ephemeris_data))

🌟 New Parameter: is_dst in AstrologicalSubject 🌟

A new parameter, is_dst, has been added to the AstrologicalSubject class to enhance the handling of daylight saving time (DST).

Parameter Details:

  • is_dst (Union[None, bool], optional): Specify if the time is in DST. Defaults to None.
    • By default (None), the library will try to guess if the time is in DST or not and raise an AmbiguousTimeError if it can't guess.
    • If you know the time is in DST, set this to True; if you know it's not, set it to False.

🛠️ Bug Fixes

I have addressed several bugs in this release to improve the stability of the library.

🆙 Upgrade

Upgrade to Kerykeion 4.13.0 now to take advantage of these new features and improvements!

Happy coding and clear skies! 🌠

Version 4.12.0

05 Jul 17:30
Compare
Choose a tag to compare

🚀 New Release: Kerykeion 4.12.0 🚀

I'm thrilled to announce the release of Kerykeion 4.12.0!

🌟 New Feature: Perspective Type 🌟

You can now specify the perspective type for your calculations:

  • Heliocentric
  • True Geocentric
  • Apparent Geocentric
  • Topocentric

This allows for even more accurate and varied astrological analyses.

Breaking Changes

Please note that there are some breaking changes in this version:

  1. Removal of Initialization from utc string

    • It was redundant and created confusion. In the next major release, I'll introduce a new and cleaner way to use this kind of functionality.
  2. Deprecation of local_time and utc_time Fields from the AstrologicalSubject instance

    • The previous fields:
      "local_time": 0.0,
      "utc_time": 5.0
  3. Introduction of ISO Formatted Datetime Fields to the AstrologicalSubject instance

    • Replaced with:
      "iso_formatted_local_datetime": "1963-06-09T00:00:00-05:00",
      "iso_formatted_utc_datetime": "1963-06-09T05:00:00+00:00"

Version 4.11.0

24 Jun 17:56
Compare
Choose a tag to compare

🌟 New Feature: House Systems 🌟

We're excited to announce that Kerykeion now supports multiple House Systems! 🌠

Enhance your astrological analysis with the flexibility to choose from various house systems for more tailored and accurate readings.

Here some examples

Version 4.10.0

23 Jun 14:54
Compare
Choose a tag to compare

🌟 Exciting Update: Ayanamsa 🌟

I'm thrilled to announce that Kerykeion now supports not only the tropical mode but also various Ayanamsa (sidereal modes)! 🌠

Here's some examples

Version 4

14 Aug 21:22
Compare
Choose a tag to compare

🚀 Exciting News: Version 4.0 Release! 🎉

Breaking Change Alert: Version 4.0

Version 4.0 marks a big step forward. It brings significant improvements but introduces breaking changes impacting Version 3 projects. Adapting might be needed for Version 3-based projects due to potential incompatibilities.

Coming Soon: Enhanced Documentation

Clear transition info matters. I'm enhancing documentation for Version 4.0 to aid migration, including changes, guides, and best practices.

Thank you for your support. I'm here to assist. Reach out for help.