kerykeion 5.0.0a9__py3-none-any.whl → 5.1.8__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 (79) hide show
  1. kerykeion/__init__.py +50 -9
  2. kerykeion/aspects/__init__.py +5 -2
  3. kerykeion/aspects/aspects_factory.py +568 -0
  4. kerykeion/aspects/aspects_utils.py +78 -11
  5. kerykeion/astrological_subject_factory.py +1032 -275
  6. kerykeion/backword.py +820 -0
  7. kerykeion/chart_data_factory.py +552 -0
  8. kerykeion/charts/chart_drawer.py +2661 -0
  9. kerykeion/charts/charts_utils.py +652 -399
  10. kerykeion/charts/draw_planets.py +603 -353
  11. kerykeion/charts/templates/aspect_grid_only.xml +326 -198
  12. kerykeion/charts/templates/chart.xml +306 -256
  13. kerykeion/charts/templates/wheel_only.xml +330 -200
  14. kerykeion/charts/themes/black-and-white.css +148 -0
  15. kerykeion/charts/themes/classic.css +11 -0
  16. kerykeion/charts/themes/dark-high-contrast.css +11 -0
  17. kerykeion/charts/themes/dark.css +11 -0
  18. kerykeion/charts/themes/light.css +11 -0
  19. kerykeion/charts/themes/strawberry.css +10 -0
  20. kerykeion/composite_subject_factory.py +232 -13
  21. kerykeion/ephemeris_data_factory.py +443 -0
  22. kerykeion/fetch_geonames.py +78 -21
  23. kerykeion/house_comparison/__init__.py +4 -1
  24. kerykeion/house_comparison/house_comparison_factory.py +52 -19
  25. kerykeion/house_comparison/house_comparison_utils.py +37 -9
  26. kerykeion/kr_types/__init__.py +66 -6
  27. kerykeion/kr_types/chart_template_model.py +20 -0
  28. kerykeion/kr_types/kerykeion_exception.py +15 -9
  29. kerykeion/kr_types/kr_literals.py +14 -160
  30. kerykeion/kr_types/kr_models.py +14 -291
  31. kerykeion/kr_types/settings_models.py +15 -167
  32. kerykeion/planetary_return_factory.py +545 -40
  33. kerykeion/relationship_score_factory.py +137 -63
  34. kerykeion/report.py +749 -64
  35. kerykeion/schemas/__init__.py +106 -0
  36. kerykeion/schemas/chart_template_model.py +367 -0
  37. kerykeion/schemas/kerykeion_exception.py +20 -0
  38. kerykeion/schemas/kr_literals.py +181 -0
  39. kerykeion/schemas/kr_models.py +603 -0
  40. kerykeion/schemas/settings_models.py +188 -0
  41. kerykeion/settings/__init__.py +20 -1
  42. kerykeion/settings/chart_defaults.py +444 -0
  43. kerykeion/settings/config_constants.py +88 -12
  44. kerykeion/settings/kerykeion_settings.py +32 -75
  45. kerykeion/settings/translation_strings.py +1499 -0
  46. kerykeion/settings/translations.py +74 -0
  47. kerykeion/sweph/ast136/s136108s.se1 +0 -0
  48. kerykeion/sweph/ast136/s136199s.se1 +0 -0
  49. kerykeion/sweph/ast136/s136472s.se1 +0 -0
  50. kerykeion/sweph/ast28/se28978s.se1 +0 -0
  51. kerykeion/sweph/ast50/se50000s.se1 +0 -0
  52. kerykeion/sweph/ast90/se90377s.se1 +0 -0
  53. kerykeion/sweph/ast90/se90482s.se1 +0 -0
  54. kerykeion/sweph/sefstars.txt +1602 -0
  55. kerykeion/transits_time_range_factory.py +302 -0
  56. kerykeion/utilities.py +289 -204
  57. kerykeion-5.1.8.dist-info/METADATA +1793 -0
  58. kerykeion-5.1.8.dist-info/RECORD +63 -0
  59. kerykeion/aspects/natal_aspects.py +0 -181
  60. kerykeion/aspects/synastry_aspects.py +0 -141
  61. kerykeion/aspects/transits_time_range.py +0 -41
  62. kerykeion/charts/draw_planets_v2.py +0 -649
  63. kerykeion/charts/draw_planets_v3.py +0 -679
  64. kerykeion/charts/kerykeion_chart_svg.py +0 -2038
  65. kerykeion/enums.py +0 -57
  66. kerykeion/ephemeris_data.py +0 -238
  67. kerykeion/house_comparison/house_comparison_models.py +0 -38
  68. kerykeion/kr_types/chart_types.py +0 -106
  69. kerykeion/settings/kr.config.json +0 -1304
  70. kerykeion/settings/legacy/__init__.py +0 -0
  71. kerykeion/settings/legacy/legacy_celestial_points_settings.py +0 -299
  72. kerykeion/settings/legacy/legacy_chart_aspects_settings.py +0 -71
  73. kerykeion/settings/legacy/legacy_color_settings.py +0 -42
  74. kerykeion/transits_time_range.py +0 -128
  75. kerykeion-5.0.0a9.dist-info/METADATA +0 -636
  76. kerykeion-5.0.0a9.dist-info/RECORD +0 -55
  77. kerykeion-5.0.0a9.dist-info/entry_points.txt +0 -2
  78. {kerykeion-5.0.0a9.dist-info → kerykeion-5.1.8.dist-info}/WHEEL +0 -0
  79. {kerykeion-5.0.0a9.dist-info → kerykeion-5.1.8.dist-info}/licenses/LICENSE +0 -0
@@ -1,30 +1,45 @@
1
+ """
2
+ House Comparison Factory Module
3
+
4
+ Provides factory class for house comparison analysis between astrological subjects.
5
+ Enables bidirectional analysis of astrological point placements in house systems.
6
+
7
+ Author: Giacomo Battaglia
8
+ Copyright: (C) 2025 Kerykeion Project
9
+ License: AGPL-3.0
10
+ """
11
+
1
12
  from kerykeion.house_comparison.house_comparison_utils import calculate_points_in_reciprocal_houses
2
13
  from typing import Union
3
- from kerykeion.settings.config_constants import DEFAULT_ACTIVE_POINTS, DEFAULT_ACTIVE_ASPECTS
4
- from kerykeion.house_comparison.house_comparison_models import HouseComparisonModel
14
+ from kerykeion.settings.config_constants import DEFAULT_ACTIVE_POINTS
15
+ from kerykeion.schemas.kr_models import HouseComparisonModel
5
16
  from kerykeion.astrological_subject_factory import AstrologicalSubjectFactory
6
- from kerykeion.kr_types import AstrologicalSubjectModel, PlanetReturnModel
7
- from kerykeion.kr_types.kr_literals import AstrologicalPoint
17
+ from kerykeion.schemas import AstrologicalSubjectModel, PlanetReturnModel
18
+ from kerykeion.schemas.kr_literals import AstrologicalPoint
8
19
 
9
20
 
10
21
  class HouseComparisonFactory:
11
22
  """
12
- Factory class for creating house comparison analyses between two astrological charts.
23
+ Factory for creating house comparison analyses between two astrological subjects.
13
24
 
14
- This class handles the generation of house comparison data, calculating how planets
15
- from one chart interact with the house system of another chart (and vice versa).
16
- This is useful for synastry analysis and other forms of relationship astrology.
25
+ Analyzes placement of astrological points from one subject within the house system
26
+ of another subject, performing bidirectional analysis for synastry studies and
27
+ subject comparisons. Supports both natal subjects and planetary return subjects.
17
28
 
18
29
  Attributes:
19
- first_subject (AstrologicalSubject): The first person's astrological chart
20
- second_subject (AstrologicalSubject): The second person's astrological chart
30
+ first_subject: First astrological subject (natal or return subject)
31
+ second_subject: Second astrological subject (natal or return subject)
32
+ active_points: List of astrological points to include in analysis
21
33
 
22
34
  Example:
23
- >>> natal_chart = AstrologicalSubjectFactory.from_birth_data("Person A", 1990, 5, 15, 10, 30, "Rome", "IT")
24
- >>> partner_chart = AstrologicalSubjectFactory.from_birth_data("Person B", 1992, 8, 23, 14, 45, "Milan", "IT")
35
+ >>> natal_chart = AstrologicalSubjectFactory.from_birth_data(
36
+ ... "Person A", 1990, 5, 15, 10, 30, "Rome", "IT"
37
+ ... )
38
+ >>> partner_chart = AstrologicalSubjectFactory.from_birth_data(
39
+ ... "Person B", 1992, 8, 23, 14, 45, "Milan", "IT"
40
+ ... )
25
41
  >>> factory = HouseComparisonFactory(natal_chart, partner_chart)
26
42
  >>> comparison = factory.get_house_comparison()
27
- >>> print(comparison.model_dump_json(indent=4))
28
43
 
29
44
  """
30
45
  def __init__(self,
@@ -33,21 +48,39 @@ class HouseComparisonFactory:
33
48
  active_points: list[AstrologicalPoint] = DEFAULT_ACTIVE_POINTS,
34
49
 
35
50
  ):
51
+ """
52
+ Initialize the house comparison factory.
53
+
54
+ Args:
55
+ first_subject: First astrological subject for comparison
56
+ second_subject: Second astrological subject for comparison
57
+ active_points: List of astrological points to include in analysis.
58
+ Defaults to standard active points.
59
+
60
+ Note:
61
+ Both subjects must have valid house system data for accurate analysis.
62
+ """
36
63
  self.first_subject = first_subject
37
64
  self.second_subject = second_subject
38
65
  self.active_points = active_points
39
66
 
40
67
  def get_house_comparison(self) -> "HouseComparisonModel":
41
68
  """
42
- Creates a house comparison model for two astrological subjects.
69
+ Generate bidirectional house comparison analysis between the two subjects.
43
70
 
44
- Args:
45
- chart1: First astrological subject
46
- chart2: Second astrological subject
47
- description: Description of the comparison
71
+ Calculates where each active astrological point from one subject falls within
72
+ the house system of the other subject, and vice versa.
48
73
 
49
74
  Returns:
50
- "HouseComparisonModel": Model containing the comparison data.
75
+ HouseComparisonModel: Model containing:
76
+ - first_subject_name: Name of the first subject
77
+ - second_subject_name: Name of the second subject
78
+ - first_points_in_second_houses: First subject's points in second subject's houses
79
+ - second_points_in_first_houses: Second subject's points in first subject's houses
80
+
81
+ Note:
82
+ Analysis scope is determined by the active_points list. Only specified
83
+ points will be included in the results.
51
84
  """
52
85
  first_points_in_second_houses = calculate_points_in_reciprocal_houses(self.first_subject, self.second_subject, self.active_points)
53
86
  second_points_in_first_houses = calculate_points_in_reciprocal_houses(self.second_subject, self.first_subject, self.active_points)
@@ -1,9 +1,19 @@
1
- from kerykeion.astrological_subject_factory import AstrologicalSubjectFactory
2
- from kerykeion.kr_types.kr_models import AstrologicalSubjectModel, PlanetReturnModel
3
- from kerykeion.kr_types.kr_literals import AstrologicalPoint
1
+ """
2
+ House Comparison Utilities
3
+
4
+ Utility functions for calculating house placement relationships between astrological subjects.
5
+ Provides core calculation logic for determining where points from one subject fall within
6
+ another subject's house system.
7
+
8
+ Author: Giacomo Battaglia
9
+ Copyright: (C) 2025 Kerykeion Project
10
+ License: AGPL-3.0
11
+ """
12
+
13
+ from kerykeion.schemas.kr_models import AstrologicalSubjectModel, PlanetReturnModel, PointInHouseModel
14
+ from kerykeion.schemas.kr_literals import AstrologicalPoint
4
15
  from kerykeion.settings.config_constants import DEFAULT_ACTIVE_POINTS
5
16
  from kerykeion.utilities import get_planet_house, get_house_number
6
- from kerykeion.house_comparison.house_comparison_models import PointInHouseModel
7
17
  from typing import Union
8
18
 
9
19
 
@@ -13,15 +23,33 @@ def calculate_points_in_reciprocal_houses(
13
23
  active_points: list[AstrologicalPoint] = DEFAULT_ACTIVE_POINTS,
14
24
  ) -> list[PointInHouseModel]:
15
25
  """
16
- Calculates which houses of the house_subject the points of point_subject fall into.
26
+ Calculate house placements of one subject's points within another subject's house system.
27
+
28
+ Analyzes where each astrological point from the point_subject falls within the
29
+ house structure of the house_subject. Creates detailed mapping including both
30
+ the point's original house position and its projected house placement.
17
31
 
18
32
  Args:
19
- point_subject: Subject whose points are being analyzed
20
- house_subject: Subject whose houses are being considered
21
- active_points: Optional list of point names to process. If None, all points are processed.
33
+ point_subject: Subject whose astrological points are being analyzed
34
+ house_subject: Subject whose house system provides the projection framework
35
+ active_points: List of astrological points to include in the analysis.
36
+ Defaults to standard active points configuration.
22
37
 
23
38
  Returns:
24
- List of PointInHouseModel objects
39
+ list[PointInHouseModel]: List of point placement models containing detailed
40
+ information about each point's house relationships,
41
+ including original and projected house positions.
42
+
43
+ Note:
44
+ Only processes points that exist in both the point_subject's active_points
45
+ and the provided active_points list. Points with None values are skipped.
46
+
47
+ Example:
48
+ >>> points_in_houses = calculate_points_in_reciprocal_houses(
49
+ ... natal_chart, partner_chart, ["Sun", "Moon"]
50
+ ... )
51
+ >>> sun_placement = points_in_houses[0] # Assuming Sun is first
52
+ >>> print(f"Sun falls in house: {sun_placement.projected_house_name}")
25
53
  """
26
54
  points_in_houses: list[PointInHouseModel] = []
27
55
 
@@ -1,10 +1,70 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2025 Giacomo Battaglia
3
+ Backward compatibility module for Kerykeion v4.x imports.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types import ...
8
+ NEW: from kerykeion.schemas import ...
4
9
  """
10
+ import warnings
11
+
12
+ # Issue deprecation warning when this module is imported
13
+ warnings.warn(
14
+ "The 'kerykeion.kr_types' module is deprecated and will be removed in v6.0. "
15
+ "Please update your imports to use 'kerykeion.schemas' instead.",
16
+ DeprecationWarning,
17
+ stacklevel=2,
18
+ )
19
+
20
+ # Re-export everything from schemas for backward compatibility
21
+ from kerykeion.schemas import * # noqa: F401, F403
22
+ from kerykeion.schemas.kerykeion_exception import * # noqa: F401, F403
23
+ from kerykeion.schemas.kr_literals import * # noqa: F401, F403
24
+ from kerykeion.schemas.kr_models import * # noqa: F401, F403
25
+ from kerykeion.schemas.settings_models import * # noqa: F401, F403
26
+ from kerykeion.schemas.chart_template_model import * # noqa: F401, F403
5
27
 
6
- from .kerykeion_exception import KerykeionException
7
- from .kr_literals import *
8
- from .kr_models import *
9
- from .chart_types import ChartTemplateDictionary
10
- from .settings_models import KerykeionSettingsModel
28
+ __all__ = [
29
+ # Re-export from schemas
30
+ "KerykeionException",
31
+ # kr_literals
32
+ "ZodiacType",
33
+ "Sign",
34
+ "SignNumbers",
35
+ "AspectMovementType",
36
+ "Houses",
37
+ "HouseNumbers",
38
+ "AstrologicalPoint",
39
+ "Element",
40
+ "Quality",
41
+ "ChartType",
42
+ "PointType",
43
+ "LunarPhaseEmoji",
44
+ "LunarPhaseName",
45
+ "SiderealMode",
46
+ "HousesSystemIdentifier",
47
+ "PerspectiveType",
48
+ "SignsEmoji",
49
+ "KerykeionChartTheme",
50
+ "KerykeionChartLanguage",
51
+ "RelationshipScoreDescription",
52
+ "CompositeChartType",
53
+ "AspectName",
54
+ # kr_models
55
+ "AstrologicalSubjectModel",
56
+ "CompositeSubjectModel",
57
+ "KerykeionPointModel",
58
+ "AspectModel",
59
+ "ActiveAspect",
60
+ "SingleChartAspectsModel",
61
+ "DualChartAspectsModel",
62
+ "ElementDistributionModel",
63
+ "QualityDistributionModel",
64
+ "SingleChartDataModel",
65
+ "DualChartDataModel",
66
+ # settings_models
67
+ "KerykeionSettingsModel",
68
+ # chart_template_model
69
+ "ChartTemplateModel",
70
+ ]
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Backward compatibility module for chart_template_model.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.chart_template_model import ...
8
+ NEW: from kerykeion.schemas.chart_template_model import ...
9
+ """
10
+ import warnings
11
+
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.chart_template_model' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.chart_template_model' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
18
+
19
+ # Re-export everything from schemas.chart_template_model for backward compatibility
20
+ from kerykeion.schemas.chart_template_model import * # noqa: F401, F403
@@ -1,14 +1,20 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2025 Giacomo Battaglia
4
- """
3
+ Backward compatibility module for kerykeion_exception.
5
4
 
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.kerykeion_exception import ...
8
+ NEW: from kerykeion.schemas.kerykeion_exception import ...
9
+ """
10
+ import warnings
6
11
 
7
- class KerykeionException(Exception):
8
- """
9
- Custom Kerykeion Exception
10
- """
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.kerykeion_exception' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.kerykeion_exception' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
11
18
 
12
- def __init__(self, message):
13
- # Call the base class constructor with the parameters it needs
14
- super().__init__(message)
19
+ # Re-export everything from schemas.kerykeion_exception for backward compatibility
20
+ from kerykeion.schemas.kerykeion_exception import * # noqa: F401, F403
@@ -1,166 +1,20 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2025 Giacomo Battaglia
4
- """
5
- from typing import Literal
6
-
7
-
8
- ZodiacType = Literal["Tropic", "Sidereal"]
9
- """Literal type for Zodiac Types"""
10
-
11
-
12
- Sign = Literal["Ari", "Tau", "Gem", "Can", "Leo", "Vir", "Lib", "Sco", "Sag", "Cap", "Aqu", "Pis"]
13
- """Literal type for Zodiac Signs"""
14
-
15
-
16
- SignNumbers = Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
17
- """Literal type for Zodiac Sign Numbers, the signs are numbered in order starting from Aries (0) to Pis (11)"""
18
-
19
-
20
- Houses = Literal["First_House", "Second_House", "Third_House", "Fourth_House", "Fifth_House", "Sixth_House", "Seventh_House", "Eighth_House", "Ninth_House", "Tenth_House", "Eleventh_House", "Twelfth_House"]
21
- """Literal type for Houses"""
22
-
23
-
24
- HouseNumbers = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
25
- """Literal type for House Numbers, starting from the First House (1) to the Twelfth House (12)"""
26
-
27
-
28
- AstrologicalPoint = Literal[
29
- # Main Planets
30
- "Sun", "Moon", "Mercury", "Venus", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto",
31
-
32
- # Nodes
33
- "Mean_Node", "True_Node", "Mean_South_Node", "True_South_Node",
34
-
35
- # Special Points
36
- "Chiron", "Mean_Lilith", "True_Lilith", "Earth", "Pholus",
37
-
38
- # Asteroids
39
- "Ceres", "Pallas", "Juno", "Vesta",
40
-
41
- # Trans-Neptunian Objects
42
- "Eris", "Sedna", "Haumea", "Makemake", "Ixion", "Orcus", "Quaoar",
43
-
44
- # Fixed Stars
45
- "Regulus", "Spica",
46
-
47
- # Arabic Parts
48
- "Pars_Fortunae", "Pars_Spiritus", "Pars_Amoris", "Pars_Fidei",
49
-
50
- # Special Points
51
- "Vertex", "Anti_Vertex",
52
-
53
- # Axial Cusps
54
- "Ascendant", "Medium_Coeli", "Descendant", "Imum_Coeli",
55
- ]
56
-
57
- """Literal type for Axial Cusps"""
58
-
59
-
60
- Element = Literal["Air", "Fire", "Earth", "Water"]
61
- """Literal type for Elements"""
62
-
63
-
64
- Quality = Literal["Cardinal", "Fixed", "Mutable"]
65
- """Literal type for Qualities"""
66
-
3
+ Backward compatibility module for kr_literals.
67
4
 
68
- ChartType = Literal["Natal", "ExternalNatal", "Synastry", "Transit", "Composite", "Return", "SingleWheelReturn"]
69
- """Literal type for Chart Types"""
70
-
71
-
72
- PointType = Literal["AstrologicalPoint", "House"]
73
- """Literal type for Point Types"""
74
-
75
-
76
- LunarPhaseEmoji = Literal["🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"]
77
- """Literal type for Lunar Phases Emoji"""
78
-
79
-
80
- LunarPhaseName = Literal["New Moon", "Waxing Crescent", "First Quarter", "Waxing Gibbous", "Full Moon", "Waning Gibbous", "Last Quarter", "Waning Crescent"]
81
- """Literal type for Lunar Phases Name"""
82
-
83
-
84
- SiderealMode = Literal["FAGAN_BRADLEY", "LAHIRI", "DELUCE", "RAMAN", "USHASHASHI", "KRISHNAMURTI", "DJWHAL_KHUL", "YUKTESHWAR", "JN_BHASIN", "BABYL_KUGLER1", "BABYL_KUGLER2", "BABYL_KUGLER3", "BABYL_HUBER", "BABYL_ETPSC", "ALDEBARAN_15TAU", "HIPPARCHOS", "SASSANIAN", "J2000", "J1900", "B1950"]
85
- """Literal type for Sidereal Modes, as known as Ayanamsa"""
86
-
87
-
88
- HousesSystemIdentifier = Literal["A", "B", "C", "D", "F", "H", "I", "i", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"]
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.kr_literals import ...
8
+ NEW: from kerykeion.schemas.kr_literals import ...
89
9
  """
90
- Literal type for Houses Systems:
91
-
92
- A = equal
93
- B = Alcabitius
94
- C = Campanus
95
- D = equal (MC)
96
- F = Carter poli-equ.
97
- H = horizon/azimut
98
- I = Sunshine
99
- i = Sunshine/alt.
100
- K = Koch
101
- L = Pullen SD
102
- M = Morinus
103
- N = equal/1=Aries
104
- O = Porphyry
105
- P = Placidus
106
- Q = Pullen SR
107
- R = Regiomontanus
108
- S = Sripati
109
- T = Polich/Page
110
- U = Krusinski-Pisa-Goelzer
111
- V = equal/Vehlow
112
- W = equal/whole sign
113
- X = axial rotation system/Meridian houses
114
- Y = APC houses
115
-
116
- Usually the standard is Placidus (P)
117
- """
118
-
119
-
120
- PerspectiveType = Literal["Apparent Geocentric", "Heliocentric", "Topocentric", "True Geocentric"]
121
- """
122
- Literal type for perspective types.
123
- - "Apparent Geocentric": Earth-centered, apparent positions.
124
- - "Heliocentric": Sun-centered.
125
- - "Topocentric": Observer's location on Earth's surface.
126
- - "True Geocentric": Earth-centered, true positions.
127
-
128
- Usually the standard is "Apparent Geocentric"
129
- """
130
-
131
-
132
- SignsEmoji = Literal["♈️", "♉️", "♊️", "♋️", "♌️", "♍️", "♎️", "♏️", "♐️", "♑️", "♒️", "♓️"]
133
- """Literal type for Zodiac Signs Emoji"""
134
-
135
- KerykeionChartTheme = Literal["light", "dark", "dark-high-contrast", "classic", "strawberry"]
136
- """Literal type for Kerykeion Chart Themes"""
137
-
138
-
139
- KerykeionChartLanguage = Literal["EN", "FR", "PT", "IT", "CN", "ES", "RU", "TR", "DE", "HI"]
140
- """Literal type for Kerykeion Chart Languages"""
141
-
142
-
143
- RelationshipScoreDescription = Literal["Minimal", "Medium", "Important", "Very Important", "Exceptional", "Rare Exceptional"]
144
- """Literal type for Relationship Score Description"""
145
-
146
-
147
- CompositeChartType = Literal["Midpoint"]
148
- """Literal type for Composite Chart Types"""
10
+ import warnings
149
11
 
150
- AspectName = Literal[
151
- "conjunction",
152
- "semi-sextile",
153
- "semi-square",
154
- "sextile",
155
- "quintile",
156
- "square",
157
- "trine",
158
- "sesquiquadrate",
159
- "biquintile",
160
- "quincunx",
161
- "opposition"
162
- ]
163
- """Literal type for all the available aspects names"""
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.kr_literals' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.kr_literals' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
164
18
 
165
- ReturnType = Literal["Lunar", "Solar"]
166
- """Literal type for Return Types"""
19
+ # Re-export everything from schemas.kr_literals for backward compatibility
20
+ from kerykeion.schemas.kr_literals import * # noqa: F401, F403