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,297 +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 kr_models.
5
4
 
6
- from typing import Union, Optional, List
7
- from typing_extensions import TypedDict
8
- from pydantic import BaseModel, Field
9
- from kerykeion.kr_types.kr_literals import AspectName
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.kr_models import ...
8
+ NEW: from kerykeion.schemas.kr_models import ...
9
+ """
10
+ import warnings
10
11
 
11
- from kerykeion.kr_types import (
12
- LunarPhaseEmoji,
13
- LunarPhaseName,
14
- AstrologicalPoint,
15
- Houses,
16
- Quality,
17
- Element,
18
- Sign,
19
- ZodiacType,
20
- SignNumbers,
21
- PointType,
22
- SiderealMode,
23
- HousesSystemIdentifier,
24
- SignsEmoji,
25
- RelationshipScoreDescription,
26
- PerspectiveType,
27
- ReturnType
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.kr_models' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.kr_models' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
28
17
  )
29
18
 
30
-
31
- class SubscriptableBaseModel(BaseModel):
32
- """
33
- Pydantic BaseModel with subscriptable support, so you can access the fields as if they were a dictionary.
34
- """
35
-
36
- def __getitem__(self, key):
37
- return getattr(self, key)
38
-
39
- def __setitem__(self, key, value):
40
- setattr(self, key, value)
41
-
42
- def __delitem__(self, key):
43
- delattr(self, key)
44
-
45
- def get(self, key, default = None):
46
- return getattr(self, key, default)
47
-
48
-
49
- class LunarPhaseModel(SubscriptableBaseModel):
50
- degrees_between_s_m: Union[float, int]
51
- moon_phase: int
52
- sun_phase: int
53
- moon_emoji: LunarPhaseEmoji
54
- moon_phase_name: LunarPhaseName
55
-
56
-
57
- class KerykeionPointModel(SubscriptableBaseModel):
58
- """
59
- Kerykeion Point Model
60
- """
61
-
62
- name: Union[AstrologicalPoint, Houses]
63
- quality: Quality
64
- element: Element
65
- sign: Sign
66
- sign_num: SignNumbers
67
- position: float
68
- abs_pos: float
69
- emoji: str
70
- point_type: PointType
71
- house: Optional[Houses] = None
72
- retrograde: Optional[bool] = None
73
-
74
-
75
- class AstrologicalBaseModel(SubscriptableBaseModel):
76
- """
77
- Base Model with common fields for all astrological subjects
78
- """
79
- # Common identification data
80
- name: str
81
-
82
- # Common location data (optional for composite charts)
83
- city: Optional[str] = None
84
- nation: Optional[str] = None
85
- lng: Optional[float] = None
86
- lat: Optional[float] = None
87
- tz_str: Optional[str] = None
88
-
89
- # Common time data (optional for composite charts)
90
- iso_formatted_local_datetime: Optional[str] = None
91
- iso_formatted_utc_datetime: Optional[str] = None
92
- julian_day: Optional[float] = None
93
- day_of_week: Optional[str] = None
94
-
95
- # Common configuration
96
- zodiac_type: ZodiacType
97
- sidereal_mode: Union[SiderealMode, None]
98
- houses_system_identifier: HousesSystemIdentifier
99
- houses_system_name: str
100
- perspective_type: PerspectiveType
101
-
102
- # Common celestial points
103
- # Main planets (all optional to support selective calculations)
104
- sun: Optional[KerykeionPointModel] = None
105
- moon: Optional[KerykeionPointModel] = None
106
- mercury: Optional[KerykeionPointModel] = None
107
- venus: Optional[KerykeionPointModel] = None
108
- mars: Optional[KerykeionPointModel] = None
109
- jupiter: Optional[KerykeionPointModel] = None
110
- saturn: Optional[KerykeionPointModel] = None
111
- uranus: Optional[KerykeionPointModel] = None
112
- neptune: Optional[KerykeionPointModel] = None
113
- pluto: Optional[KerykeionPointModel] = None
114
-
115
- # Common axes
116
- ascendant: Optional[KerykeionPointModel] = None
117
- descendant: Optional[KerykeionPointModel] = None
118
- medium_coeli: Optional[KerykeionPointModel] = None
119
- imum_coeli: Optional[KerykeionPointModel] = None
120
-
121
- # Common optional planets
122
- chiron: Optional[KerykeionPointModel] = None
123
- earth: Optional[KerykeionPointModel] = None
124
- pholus: Optional[KerykeionPointModel] = None
125
-
126
- # Lilith Points
127
- mean_lilith: Optional[KerykeionPointModel] = None
128
- true_lilith: Optional[KerykeionPointModel] = None
129
-
130
- # Asteroids
131
- ceres: Optional[KerykeionPointModel] = None
132
- pallas: Optional[KerykeionPointModel] = None
133
- juno: Optional[KerykeionPointModel] = None
134
- vesta: Optional[KerykeionPointModel] = None
135
-
136
- # Trans-Neptunian Objects
137
- eris: Optional[KerykeionPointModel] = None
138
- sedna: Optional[KerykeionPointModel] = None
139
- haumea: Optional[KerykeionPointModel] = None
140
- makemake: Optional[KerykeionPointModel] = None
141
- ixion: Optional[KerykeionPointModel] = None
142
- orcus: Optional[KerykeionPointModel] = None
143
- quaoar: Optional[KerykeionPointModel] = None
144
-
145
- # Fixed Stars
146
- regulus: Optional[KerykeionPointModel] = None
147
- spica: Optional[KerykeionPointModel] = None
148
-
149
- # Arabic Parts
150
- pars_fortunae: Optional[KerykeionPointModel] = None
151
- pars_spiritus: Optional[KerykeionPointModel] = None
152
- pars_amoris: Optional[KerykeionPointModel] = None
153
- pars_fidei: Optional[KerykeionPointModel] = None
154
-
155
- # Special Points
156
- vertex: Optional[KerykeionPointModel] = None
157
- anti_vertex: Optional[KerykeionPointModel] = None
158
-
159
- # Common houses
160
- first_house: KerykeionPointModel
161
- second_house: KerykeionPointModel
162
- third_house: KerykeionPointModel
163
- fourth_house: KerykeionPointModel
164
- fifth_house: KerykeionPointModel
165
- sixth_house: KerykeionPointModel
166
- seventh_house: KerykeionPointModel
167
- eighth_house: KerykeionPointModel
168
- ninth_house: KerykeionPointModel
169
- tenth_house: KerykeionPointModel
170
- eleventh_house: KerykeionPointModel
171
- twelfth_house: KerykeionPointModel
172
-
173
- # Common nodes
174
- mean_node: Optional[KerykeionPointModel] = None
175
- true_node: Optional[KerykeionPointModel] = None
176
- mean_south_node: Optional[KerykeionPointModel] = None
177
- true_south_node: Optional[KerykeionPointModel] = None
178
-
179
- # Common lists and settings
180
- houses_names_list: List[Houses] = Field(description="Ordered list of houses names")
181
- active_points: List[AstrologicalPoint] = Field(description="List of active points in the chart or aspects calculations.")
182
-
183
- # Common lunar phase data (optional)
184
- lunar_phase: Optional[LunarPhaseModel] = Field(default=None, description="Lunar phase model")
185
-
186
-
187
- class AstrologicalSubjectModel(AstrologicalBaseModel):
188
- """
189
- Pydantic Model for Astrological Subject
190
- """
191
- # Override base model to make location and time data required for subjects
192
- city: str
193
- nation: str
194
- lng: float
195
- lat: float
196
- tz_str: str
197
- iso_formatted_local_datetime: str
198
- iso_formatted_utc_datetime: str
199
- julian_day: float
200
- day_of_week: str
201
-
202
- # Specific birth/event data
203
- year: int
204
- month: int
205
- day: int
206
- hour: int
207
- minute: int
208
-
209
-
210
- class CompositeSubjectModel(AstrologicalBaseModel):
211
- """
212
- Pydantic Model for Composite Subject
213
- """
214
- # Specific composite data
215
- first_subject: AstrologicalSubjectModel
216
- second_subject: AstrologicalSubjectModel
217
- composite_chart_type: str
218
-
219
-
220
- class PlanetReturnModel(AstrologicalBaseModel):
221
- """
222
- Pydantic Model for Planet Return
223
- """
224
- # Specific return data
225
- return_type: ReturnType = Field(description="Type of return: Solar or Lunar")
226
-
227
-
228
- class EphemerisDictModel(SubscriptableBaseModel):
229
- date: str
230
- planets: List[KerykeionPointModel]
231
- houses: List[KerykeionPointModel]
232
-
233
-
234
- class AspectModel(SubscriptableBaseModel):
235
- p1_name: str
236
- p1_owner: str
237
- p1_abs_pos: float
238
- p2_name: str
239
- p2_owner: str
240
- p2_abs_pos: float
241
- aspect: str
242
- orbit: float
243
- aspect_degrees: int
244
- diff: float
245
- p1: int
246
- p2: int
247
-
248
-
249
- class ZodiacSignModel(SubscriptableBaseModel):
250
- sign: Sign
251
- quality: Quality
252
- element: Element
253
- emoji: SignsEmoji
254
- sign_num: SignNumbers
255
-
256
-
257
- class RelationshipScoreAspectModel(SubscriptableBaseModel):
258
- p1_name: str
259
- p2_name: str
260
- aspect: str
261
- orbit: float
262
-
263
-
264
- class RelationshipScoreModel(SubscriptableBaseModel):
265
- score_value: int
266
- score_description: RelationshipScoreDescription
267
- is_destiny_sign: bool
268
- aspects: List[RelationshipScoreAspectModel]
269
- subjects: List[AstrologicalSubjectModel]
270
-
271
-
272
- class ActiveAspect(TypedDict):
273
- name: AspectName
274
- orb: int
275
-
276
-
277
- class TransitMomentModel(SubscriptableBaseModel):
278
- """
279
- Model representing a snapshot of astrological transits at a specific moment in time.
280
-
281
- Captures all active aspects between moving celestial bodies and
282
- the fixed positions in a person's natal chart at a specific date and time.
283
- """
284
- date: str = Field(description="ISO 8601 formatted date and time of the transit moment.")
285
- aspects: List[AspectModel] = Field(description="List of aspects active at this specific moment.")
286
-
287
-
288
- class TransitsTimeRangeModel(SubscriptableBaseModel):
289
- """
290
- Model representing a collection of transit moments for an astrological subject.
291
-
292
- This model holds a time series of transit snapshots, allowing analysis of
293
- planetary movements and their aspects to a natal chart over a period of time.
294
- """
295
- transits: List[TransitMomentModel] = Field(description="List of transit moments.")
296
- subject: Optional[AstrologicalSubjectModel] = Field(description="Astrological subject data.")
297
- dates: Optional[List[str]] = Field(description="ISO 8601 formatted dates of all transit moments.")
19
+ # Re-export everything from schemas.kr_models for backward compatibility
20
+ from kerykeion.schemas.kr_models import * # noqa: F401, F403
@@ -1,172 +1,20 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2025 Giacomo Battaglia
4
- """
5
-
6
-
7
- from pydantic import Field
8
- from typing import List, Optional, Union
9
- from kerykeion.kr_types.kr_models import SubscriptableBaseModel
10
-
11
-
12
- class KerykeionSettingsCelestialPointModel(SubscriptableBaseModel):
13
- """
14
- Defines the model for a celestial point data.
15
- """
3
+ Backward compatibility module for settings_models.
16
4
 
17
- id: int = Field(title="Celestial Point ID", description="Celestial Point ID according to Pyswisseph")
18
- name: str = Field(title="Celestial Point Name", description="Celestial Point Name")
19
- color: str = Field(title="Celestial Point Color", description="Celestial Point Color, used in the chart")
20
- element_points: int = Field(title="Celestial Point Element Points", description="Element Points given to the celestial point")
21
- label: str = Field(title="Celestial Point Label", description="The name of the celestial point in the chart, it can be different from the name")
22
- is_active: Optional[bool] = Field(title="Celestial Point is Active", description="Indicates if the celestial point is active in the chart", default=None)
23
-
24
-
25
- # Language Settings
26
- class KerykeionLanguageCelestialPointModel(SubscriptableBaseModel):
27
- """
28
- This class is used to define the labels, show in the chart, for the celestial points.
29
- It is used to translate the celestial points in the language of the chart.
30
- """
31
-
32
- Sun: str = Field(title="Sun", description="The name of the Sun in the chart, in the language")
33
- Moon: str = Field(title="Moon", description="The name of the Moon in the chart, in the language")
34
- Mercury: str = Field(title="Mercury", description="The name of Mercury in the chart, in the language")
35
- Venus: str = Field(title="Venus", description="The name of Venus in the chart, in the language")
36
- Mars: str = Field(title="Mars", description="The name of Mars in the chart, in the language")
37
- Jupiter: str = Field(title="Jupiter", description="The name of Jupiter in the chart, in the language")
38
- Saturn: str = Field(title="Saturn", description="The name of Saturn in the chart, in the language")
39
- Uranus: str = Field(title="Uranus", description="The name of Uranus in the chart, in the language")
40
- Neptune: str = Field(title="Neptune", description="The name of Neptune in the chart, in the language")
41
- Pluto: str = Field(title="Pluto", description="The name of Pluto in the chart, in the language")
42
- True_Node: str = Field(title="True Node", description="The name of True Node in the chart, in the language")
43
- Mean_Node: str = Field(title="Mean Node", description="The name of Mean Node in the chart, in the language")
44
- Chiron: str = Field(title="Chiron", description="The name of Chiron in the chart, in the language")
45
- Ascendant: str = Field(title="Ascendant", description="The name of Ascendant in the chart, in the language")
46
- Descendant: str = Field(title="Descendant", description="The name of Descendant in the chart, in the language")
47
- Medium_Coeli: str = Field(title="Medium Coeli", description="The name of Medium Coeli in the chart, in the language")
48
- Imum_Coeli: str = Field(title="Imum Coeli", description="The name of Imum Coeli in the chart, in the language")
49
- Mean_Lilith: str = Field(title="Mean Lilith", description="The name of Mean Lilith in the chart, in the language")
50
- True_South_Node: str = Field(title="True South Node", description="The name of True South Node in the chart, in the language")
51
- Mean_South_Node: str = Field(title="Mean South Node", description="The name of Mean South Node in the chart, in the language")
52
- True_Lilith: str = Field(title="True Lilith", description="The name of True Lilith in the chart, in the language")
53
- Earth: str = Field(title="Earth", description="The name of Earth in the chart, in the language")
54
- Pholus: str = Field(title="Pholus", description="The name of Pholus in the chart, in the language")
55
- Ceres: str = Field(title="Ceres", description="The name of Ceres in the chart, in the language")
56
- Pallas: str = Field(title="Pallas", description="The name of Pallas in the chart, in the language")
57
- Juno: str = Field(title="Juno", description="The name of Juno in the chart, in the language")
58
- Vesta: str = Field(title="Vesta", description="The name of Vesta in the chart, in the language")
59
- Eris: str = Field(title="Eris", description="The name of Eris in the chart, in the language")
60
- Sedna: str = Field(title="Sedna", description="The name of Sedna in the chart, in the language")
61
- Haumea: str = Field(title="Haumea", description="The name of Haumea in the chart, in the language")
62
- Makemake: str = Field(title="Makemake", description="The name of Makemake in the chart, in the language")
63
- Ixion: str = Field(title="Ixion", description="The name of Ixion in the chart, in the language")
64
- Orcus: str = Field(title="Orcus", description="The name of Orcus in the chart, in the language")
65
- Quaoar: str = Field(title="Quaoar", description="The name of Quaoar in the chart, in the language")
66
- Regulus: str = Field(title="Regulus", description="The name of Regulus in the chart, in the language")
67
- Spica: str = Field(title="Spica", description="The name of Spica in the chart, in the language")
68
- Pars_Fortunae: str = Field(title="Part of Fortune", description="The name of Part of Fortune in the chart, in the language")
69
- Pars_Spiritus: str = Field(title="Part of Spirit", description="The name of Part of Spirit in the chart, in the language")
70
- Pars_Amoris: str = Field(title="Part of Love", description="The name of Part of Love in the chart, in the language")
71
- Pars_Fidei: str = Field(title="Part of Faith", description="The name of Part of Faith in the chart, in the language")
72
- Vertex: str = Field(title="Vertex", description="The name of Vertex in the chart, in the language")
73
- Anti_Vertex: str = Field(title="Anti-Vertex", description="The name of Anti-Vertex in the chart, in the language")
74
-
75
- class KerykeionLanguageModel(SubscriptableBaseModel):
76
- """
77
- This model is used to store the language settings for the chart,
78
- it's used to translate the celestial points and the other labels
79
- """
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.settings_models import ...
8
+ NEW: from kerykeion.schemas.settings_models import ...
9
+ """
10
+ import warnings
80
11
 
81
- info: str = Field(title="Info", description="The info label in the chart, in the language")
82
- cusp: str = Field(title="Cusp", description="The cusp label in the chart, in the language")
83
- longitude: str = Field(title="Longitude", description="The longitude label in the chart, in the language")
84
- latitude: str = Field(title="Latitude", description="The latitude label in the chart, in the language")
85
- north: str = Field(title="North", description="The north label in the chart, in the language")
86
- east: str = Field(title="East", description="The east label in the chart, in the language")
87
- south: str = Field(title="South", description="The south label in the chart, in the language")
88
- west: str = Field(title="West", description="The west label in the chart, in the language")
89
- fire: str = Field(title="Fire", description="The fire element label in the chart, in the language")
90
- earth: str = Field(title="Earth", description="The earth element label in the chart, in the language")
91
- air: str = Field(title="Air", description="The air element label in the chart, in the language")
92
- water: str = Field(title="Water", description="The water element label in the chart, in the language")
93
- and_word: str = Field(title="And", description="The 'and' word in the chart, in the language")
94
- transits: str = Field(title="Transits", description="The transits label in the chart, in the language")
95
- type: str = Field(title="Type", description="The type label in the chart, in the language")
96
- couple_aspects: str = Field(title="Couple Aspects", description="The couple aspects label in the chart, in the language")
97
- transit_aspects: str = Field(title="Transit Aspects", description="The transit aspects label in the chart, in the language")
98
- planets_and_house: str = Field(title="Planets and House", description="The planets and house label in the chart, in the language")
99
- transit_name: str = Field(title="Transit Name", description="The transit name label in the chart, in the language")
100
- lunar_phase: str = Field(title="Lunar Phase", description="The lunar phase label in the chart, in the language")
101
- lunation_day: str = Field(title="Lunation Day", description="The lunation day label in the chart, in the language")
102
- day: str = Field(title="Day", description="The day label in the chart, in the language")
103
- celestial_points: KerykeionLanguageCelestialPointModel = Field(title="Celestial Points", description="The celestial points translations in the chart, in the language")
104
- composite_chart: str = Field(title="Composite Chart", description="The composite chart label in the chart, in the language")
105
- midpoints: str = Field(title="Midpoints", description="The midpoints label in the chart, in the language")
106
- north_letter: str = Field(title="North Letter", description="The north letter in the chart, in the language")
107
- east_letter: str = Field(title="East Letter", description="The east letter in the chart, in the language")
108
- south_letter: str = Field(title="South Letter", description="The south letter in the chart, in the language")
109
- west_letter: str = Field(title="West Letter", description="The west letter in the chart, in the language")
110
- tropical: str = Field(title="Tropical", description="The tropical zodiac label in the chart, in the language")
111
- sidereal: str = Field(title="Sidereal", description="The sidereal zodiac label in the chart, in the language")
112
- zodiac: str = Field(title="Zodiac", description="The zodiac label in the chart, in the language")
113
- ayanamsa: str = Field(title="Ayanamsa", description="The ayanamsa label in the chart, in the language")
114
- apparent_geocentric: str = Field(title="Apparent Geocentric", description="The apparent geocentric label in the chart, in the language")
115
- heliocentric: str = Field(title="Heliocentric", description="The heliocentric label in the chart, in the language")
116
- topocentric: str = Field(title="Topocentric", description="The topocentric label in the chart, in the language")
117
- true_geocentric: str = Field(title="True Geocentric", description="The true geocentric label in the chart, in the language")
118
- new_moon: str = Field(title="New Moon", description="The new moon label in the chart, in the language")
119
- waxing_crescent: str = Field(title="Waxing Crescent", description="The waxing crescent label in the chart, in the language")
120
- first_quarter: str = Field(title="First Quarter", description="The first quarter label in the chart, in the language")
121
- waxing_gibbous: str = Field(title="Waxing Gibbous", description="The waxing gibbous label in the chart, in the language")
122
- full_moon: str = Field(title="Full Moon", description="The full moon label in the chart, in the language")
123
- waning_gibbous: str = Field(title="Waning Gibbous", description="The waning gibbous label in the chart, in the language")
124
- last_quarter: str = Field(title="Last Quarter", description="The last quarter label in the chart, in the language")
125
- waning_crescent: str = Field(title="Waning Crescent", description="The waning crescent label in the chart, in the language")
126
- houses: str = Field(title="Houses", description="The houses label in the chart, in the language")
127
- domification: str = Field(title="Domification", description="The domification label in the chart, in the language")
128
- houses_system_A: str = Field(title="Houses System A", description="The houses system A label in the chart, in the language")
129
- houses_system_B: str = Field(title="Houses System B", description="The houses system B label in the chart, in the language")
130
- houses_system_C: str = Field(title="Houses System C", description="The houses system C label in the chart, in the language")
131
- houses_system_D: str = Field(title="Houses System D", description="The houses system D label in the chart, in the language")
132
- houses_system_F: str = Field(title="Houses System F", description="The houses system F label in the chart, in the language")
133
- houses_system_H: str = Field(title="Houses System H", description="The houses system H label in the chart, in the language")
134
- houses_system_I: str = Field(title="Houses System I", description="The houses system I label in the chart, in the language")
135
- houses_system_i: str = Field(title="Houses System i", description="The houses system i label in the chart, in the language")
136
- houses_system_K: str = Field(title="Houses System K", description="The houses system K label in the chart, in the language")
137
- houses_system_L: str = Field(title="Houses System L", description="The houses system L label in the chart, in the language")
138
- houses_system_M: str = Field(title="Houses System M", description="The houses system M label in the chart, in the language")
139
- houses_system_N: str = Field(title="Houses System N", description="The houses system N label in the chart, in the language")
140
- houses_system_O: str = Field(title="Houses System O", description="The houses system O label in the chart, in the language")
141
- houses_system_P: str = Field(title="Houses System P", description="The houses system P label in the chart, in the language")
142
- houses_system_Q: str = Field(title="Houses System Q", description="The houses system Q label in the chart, in the language")
143
- houses_system_R: str = Field(title="Houses System R", description="The houses system R label in the chart, in the language")
144
- houses_system_S: str = Field(title="Houses System S", description="The houses system S label in the chart, in the language")
145
- houses_system_T: str = Field(title="Houses System T", description="The houses system T label in the chart, in the language")
146
- houses_system_U: str = Field(title="Houses System U", description="The houses system U label in the chart, in the language")
147
- houses_system_V: str = Field(title="Houses System V", description="The houses system V label in the chart, in the language")
148
- houses_system_W: str = Field(title="Houses System W", description="The houses system W label in the chart, in the language")
149
- houses_system_X: str = Field(title="Houses System X", description="The houses system X label in the chart, in the language")
150
- houses_system_Y: str = Field(title="Houses System Y", description="The houses system Y label in the chart, in the language")
151
- Natal: str = Field(title="Natal", description="The natal chart label in the chart, in the language")
152
- ExternalNatal: str = Field(title="External Natal", description="The external natal chart label in the chart, in the language")
153
- Synastry: str = Field(title="Synastry", description="The synastry chart label in the chart, in the language")
154
- Transit: str = Field(title="Transit", description="The transit chart label in the chart, in the language")
155
- Composite: str = Field(title="Composite", description="The composite chart label in the chart, in the language")
156
- Return: str = Field(title="Return", description="The return chart label in the chart, in the language")
157
- return_aspects: str = Field(title="Return Aspects", description="The return aspects label in the chart, in the language")
158
- solar_return: str = Field(title="Solar Return", description="The solar return label in the chart, in the language")
159
- lunar_return: str = Field(title="Lunar Return", description="The lunar return label in the chart, in the language")
160
- inner_wheel: str = Field(title="Inner Wheel", description="The inner wheel label in the chart, in the language")
161
- outer_wheel: str = Field(title="Outer Wheel", description="The outer wheel label in the chart, in the language")
162
- house_position_comparison: str = Field(title="House Position Comparison", description="The house position comparison label in the chart, in the language")
163
- return_point: str = Field(title="Return Point", description="The return point label in the chart, in the language")
164
- natal: str = Field(title="Natal", description="The natal label in the chart, in the language")
165
- perspective_type: str = Field(title="Perspective Type", description="The perspective type label in the chart, in the language")
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.settings_models' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.settings_models' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
166
18
 
167
- # Settings Model
168
- class KerykeionSettingsModel(SubscriptableBaseModel):
169
- """
170
- This class is used to define the global settings for the Kerykeion.
171
- """
172
- language_settings: dict[str, KerykeionLanguageModel] = Field(title="Language Settings", description="The language settings of the chart")
19
+ # Re-export everything from schemas.settings_models for backward compatibility
20
+ from kerykeion.schemas.settings_models import * # noqa: F401, F403