kerykeion 4.26.2__py3-none-any.whl → 5.0.0a2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kerykeion might be problematic. Click here for more details.

Files changed (49) hide show
  1. kerykeion/__init__.py +9 -7
  2. kerykeion/aspects/aspects_utils.py +14 -8
  3. kerykeion/aspects/natal_aspects.py +26 -17
  4. kerykeion/aspects/synastry_aspects.py +32 -15
  5. kerykeion/aspects/transits_time_range.py +2 -2
  6. kerykeion/astrological_subject_factory.py +1132 -0
  7. kerykeion/charts/charts_utils.py +676 -146
  8. kerykeion/charts/draw_planets.py +9 -8
  9. kerykeion/charts/draw_planets_v2.py +639 -0
  10. kerykeion/charts/kerykeion_chart_svg.py +1334 -601
  11. kerykeion/charts/templates/chart.xml +184 -78
  12. kerykeion/charts/templates/wheel_only.xml +13 -12
  13. kerykeion/charts/themes/classic.css +91 -76
  14. kerykeion/charts/themes/dark-high-contrast.css +129 -107
  15. kerykeion/charts/themes/dark.css +130 -107
  16. kerykeion/charts/themes/light.css +130 -103
  17. kerykeion/charts/themes/strawberry.css +143 -0
  18. kerykeion/composite_subject_factory.py +26 -43
  19. kerykeion/ephemeris_data.py +6 -10
  20. kerykeion/house_comparison/__init__.py +3 -0
  21. kerykeion/house_comparison/house_comparison_factory.py +70 -0
  22. kerykeion/house_comparison/house_comparison_models.py +38 -0
  23. kerykeion/house_comparison/house_comparison_utils.py +98 -0
  24. kerykeion/kr_types/chart_types.py +13 -5
  25. kerykeion/kr_types/kr_literals.py +34 -6
  26. kerykeion/kr_types/kr_models.py +122 -160
  27. kerykeion/kr_types/settings_models.py +107 -143
  28. kerykeion/planetary_return_factory.py +299 -0
  29. kerykeion/{relationship_score/relationship_score_factory.py → relationship_score_factory.py} +10 -13
  30. kerykeion/report.py +4 -4
  31. kerykeion/settings/config_constants.py +35 -6
  32. kerykeion/settings/kerykeion_settings.py +1 -0
  33. kerykeion/settings/kr.config.json +1301 -1255
  34. kerykeion/settings/legacy/__init__.py +0 -0
  35. kerykeion/settings/legacy/legacy_celestial_points_settings.py +299 -0
  36. kerykeion/settings/legacy/legacy_chart_aspects_settings.py +71 -0
  37. kerykeion/settings/legacy/legacy_color_settings.py +42 -0
  38. kerykeion/transits_time_range.py +13 -9
  39. kerykeion/utilities.py +228 -31
  40. {kerykeion-4.26.2.dist-info → kerykeion-5.0.0a2.dist-info}/METADATA +119 -107
  41. kerykeion-5.0.0a2.dist-info/RECORD +54 -0
  42. {kerykeion-4.26.2.dist-info → kerykeion-5.0.0a2.dist-info}/WHEEL +1 -1
  43. kerykeion/astrological_subject.py +0 -841
  44. kerykeion/relationship_score/__init__.py +0 -2
  45. kerykeion/relationship_score/relationship_score.py +0 -175
  46. kerykeion-4.26.2.dist-info/LICENSE +0 -661
  47. kerykeion-4.26.2.dist-info/RECORD +0 -46
  48. /LICENSE → /kerykeion-5.0.0a2.dist-info/LICENSE +0 -0
  49. {kerykeion-4.26.2.dist-info → kerykeion-5.0.0a2.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,5 @@
1
1
  # type: ignore
2
+ # TODO: Legacy original method extracted as function. The V2 is a heavy refactor of this code. If it's safe, delete this.
2
3
 
3
4
  from kerykeion.charts.charts_utils import degreeDiff, sliceToX, sliceToY, convert_decimal_to_degree_string
4
5
  from kerykeion.kr_types import KerykeionException, ChartType, KerykeionPointModel
@@ -30,7 +31,7 @@ def draw_planets(
30
31
  main_subject_first_house_degree_ut (Union[int, float]): Degree of the first house for the main subject.
31
32
  main_subject_seventh_house_degree_ut (Union[int, float]): Degree of the seventh house for the main subject.
32
33
  chart_type (ChartType): Type of the chart (e.g., "Transit", "Synastry").
33
- second_subject_available_kerykeion_celestial_points (Union[list[KerykeionPointModel], None], optional):
34
+ second_subject_available_kerykeion_celestial_points (Union[list[KerykeionPointModel], None], optional):
34
35
  List of celestial points for the second subject, required for "Transit" or "Synastry" charts. Defaults to None.
35
36
 
36
37
  Raises:
@@ -41,7 +42,7 @@ def draw_planets(
41
42
  """
42
43
  TRANSIT_RING_EXCLUDE_POINTS_NAMES = get_args(Houses)
43
44
 
44
- if chart_type == "Transit" or chart_type == "Synastry":
45
+ if chart_type == "Transit" or chart_type == "Synastry" or chart_type == "Return":
45
46
  if second_subject_available_kerykeion_celestial_points is None:
46
47
  raise KerykeionException("Second subject is required for Transit or Synastry charts")
47
48
 
@@ -55,7 +56,7 @@ def draw_planets(
55
56
  for planet in available_kerykeion_celestial_points:
56
57
  points_deg.append(planet.position)
57
58
 
58
- if chart_type == "Transit" or chart_type == "Synastry":
59
+ if chart_type == "Transit" or chart_type == "Synastry" or chart_type == "Return":
59
60
  # Make a list for the absolute degrees of the points of the graphic.
60
61
  t_points_deg_ut = []
61
62
  for planet in second_subject_available_kerykeion_celestial_points:
@@ -198,7 +199,7 @@ def draw_planets(
198
199
  i = planets_degut[keys[e]]
199
200
 
200
201
  # coordinates
201
- if chart_type == "Transit" or chart_type == "Synastry":
202
+ if chart_type == "Transit" or chart_type == "Synastry" or chart_type == "Return":
202
203
  if 22 < i < 27:
203
204
  rplanet = 76
204
205
  elif switch == 1:
@@ -232,7 +233,7 @@ def draw_planets(
232
233
 
233
234
  planet_x = sliceToX(0, (radius - rplanet), offset) + rplanet
234
235
  planet_y = sliceToY(0, (radius - rplanet), offset) + rplanet
235
- if chart_type == "Transit" or chart_type == "Synastry":
236
+ if chart_type == "Transit" or chart_type == "Synastry" or chart_type == "Return":
236
237
  scale = 0.8
237
238
 
238
239
  elif chart_type == "ExternalNatal":
@@ -267,7 +268,7 @@ def draw_planets(
267
268
  output += f"</g>"
268
269
 
269
270
  # make transit degut and display planets
270
- if chart_type == "Transit" or chart_type == "Synastry":
271
+ if chart_type == "Transit" or chart_type == "Synastry" or chart_type == "Return":
271
272
  group_offset = {}
272
273
  t_planets_degut = {}
273
274
  list_range = len(available_planets_setting)
@@ -379,7 +380,7 @@ def draw_planets(
379
380
  output += "</text></g>"
380
381
 
381
382
  # check transit
382
- if chart_type == "Transit" or chart_type == "Synastry":
383
+ if chart_type == "Transit" or chart_type == "Synastry" or chart_type == "Return":
383
384
  dropin = 36
384
385
  else:
385
386
  dropin = 0
@@ -393,7 +394,7 @@ def draw_planets(
393
394
  output += f'<line x1="{x1}" y1="{y1}" x2="{x2}" y2="{y2}" style="stroke: {available_planets_setting[i]["color"]}; stroke-width: 2px; stroke-opacity:.6;"/>'
394
395
 
395
396
  # check transit
396
- if chart_type == "Transit" or chart_type == "Synastry":
397
+ if chart_type == "Transit" or chart_type == "Synastry" or chart_type == "Return":
397
398
  dropin = 160
398
399
  else:
399
400
  dropin = 120