kerykeion 4.26.2__py3-none-any.whl → 5.0.0__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 (77) hide show
  1. kerykeion/__init__.py +54 -11
  2. kerykeion/aspects/__init__.py +5 -2
  3. kerykeion/aspects/aspects_factory.py +569 -0
  4. kerykeion/aspects/aspects_utils.py +81 -8
  5. kerykeion/astrological_subject_factory.py +1897 -0
  6. kerykeion/backword.py +773 -0
  7. kerykeion/chart_data_factory.py +549 -0
  8. kerykeion/charts/chart_drawer.py +2601 -0
  9. kerykeion/charts/charts_utils.py +948 -177
  10. kerykeion/charts/draw_planets.py +602 -351
  11. kerykeion/charts/templates/aspect_grid_only.xml +328 -202
  12. kerykeion/charts/templates/chart.xml +432 -272
  13. kerykeion/charts/templates/wheel_only.xml +350 -214
  14. kerykeion/charts/themes/black-and-white.css +148 -0
  15. kerykeion/charts/themes/classic.css +107 -76
  16. kerykeion/charts/themes/dark-high-contrast.css +145 -107
  17. kerykeion/charts/themes/dark.css +146 -107
  18. kerykeion/charts/themes/light.css +146 -103
  19. kerykeion/charts/themes/strawberry.css +158 -0
  20. kerykeion/composite_subject_factory.py +253 -51
  21. kerykeion/ephemeris_data_factory.py +434 -0
  22. kerykeion/fetch_geonames.py +27 -8
  23. kerykeion/house_comparison/__init__.py +6 -0
  24. kerykeion/house_comparison/house_comparison_factory.py +103 -0
  25. kerykeion/house_comparison/house_comparison_utils.py +126 -0
  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 -132
  30. kerykeion/kr_types/kr_models.py +14 -318
  31. kerykeion/kr_types/settings_models.py +15 -203
  32. kerykeion/planetary_return_factory.py +805 -0
  33. kerykeion/relationship_score_factory.py +301 -0
  34. kerykeion/report.py +751 -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 +605 -0
  40. kerykeion/schemas/settings_models.py +180 -0
  41. kerykeion/settings/__init__.py +20 -1
  42. kerykeion/settings/chart_defaults.py +444 -0
  43. kerykeion/settings/config_constants.py +117 -12
  44. kerykeion/settings/kerykeion_settings.py +31 -73
  45. kerykeion/settings/translation_strings.py +1479 -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 +393 -114
  57. kerykeion-5.0.0.dist-info/METADATA +1176 -0
  58. kerykeion-5.0.0.dist-info/RECORD +63 -0
  59. {kerykeion-4.26.2.dist-info → kerykeion-5.0.0.dist-info}/WHEEL +1 -1
  60. kerykeion/aspects/natal_aspects.py +0 -172
  61. kerykeion/aspects/synastry_aspects.py +0 -124
  62. kerykeion/aspects/transits_time_range.py +0 -41
  63. kerykeion/astrological_subject.py +0 -841
  64. kerykeion/charts/kerykeion_chart_svg.py +0 -1219
  65. kerykeion/enums.py +0 -57
  66. kerykeion/ephemeris_data.py +0 -242
  67. kerykeion/kr_types/chart_types.py +0 -95
  68. kerykeion/relationship_score/__init__.py +0 -2
  69. kerykeion/relationship_score/relationship_score.py +0 -175
  70. kerykeion/relationship_score/relationship_score_factory.py +0 -230
  71. kerykeion/settings/kr.config.json +0 -1258
  72. kerykeion/transits_time_range.py +0 -124
  73. kerykeion-4.26.2.dist-info/LICENSE +0 -661
  74. kerykeion-4.26.2.dist-info/METADATA +0 -629
  75. kerykeion-4.26.2.dist-info/RECORD +0 -46
  76. kerykeion-4.26.2.dist-info/entry_points.txt +0 -3
  77. /LICENSE → /kerykeion-5.0.0.dist-info/licenses/LICENSE +0 -0
@@ -1,324 +1,20 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2025 Giacomo Battaglia
4
- """
5
-
3
+ Backward compatibility module for kr_models.
6
4
 
7
- from typing import Union, Optional
8
- from typing_extensions import TypedDict
9
- from pydantic import BaseModel
10
- 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
11
11
 
12
- from kerykeion.kr_types import (
13
- AxialCusps,
14
- LunarPhaseEmoji,
15
- LunarPhaseName,
16
- Planet,
17
- Houses,
18
- Quality,
19
- Element,
20
- Sign,
21
- ZodiacType,
22
- SignNumbers,
23
- PointType,
24
- SiderealMode,
25
- HousesSystemIdentifier,
26
- Houses,
27
- SignsEmoji,
28
- RelationshipScoreDescription,
29
- PerspectiveType
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,
30
17
  )
31
18
 
32
-
33
- class SubscriptableBaseModel(BaseModel):
34
- """
35
- Pydantic BaseModel with subscriptable support, so you can access the fields as if they were a dictionary.
36
- """
37
-
38
- def __getitem__(self, key):
39
- return getattr(self, key)
40
-
41
- def __setitem__(self, key, value):
42
- setattr(self, key, value)
43
-
44
- def __delitem__(self, key):
45
- delattr(self, key)
46
-
47
- def get(self, key, default = None):
48
- return getattr(self, key, default)
49
-
50
-
51
- class LunarPhaseModel(SubscriptableBaseModel):
52
- degrees_between_s_m: Union[float, int]
53
- moon_phase: int
54
- sun_phase: int
55
- moon_emoji: LunarPhaseEmoji
56
- moon_phase_name: LunarPhaseName
57
-
58
-
59
- class KerykeionPointModel(SubscriptableBaseModel):
60
- """
61
- Kerykeion Point Model
62
- """
63
-
64
- name: Union[Planet, Houses, AxialCusps]
65
- quality: Quality
66
- element: Element
67
- sign: Sign
68
- sign_num: SignNumbers
69
- position: float
70
- abs_pos: float
71
- emoji: str
72
- point_type: PointType
73
- house: Optional[Houses] = None
74
- retrograde: Optional[bool] = None
75
-
76
-
77
- class AstrologicalSubjectModel(SubscriptableBaseModel):
78
- """
79
- Pydantic Model for Astrological Subject
80
- """
81
-
82
- # Data
83
- name: str
84
- year: int
85
- month: int
86
- day: int
87
- hour: int
88
- minute: int
89
- city: str
90
- nation: str
91
- lng: float
92
- lat: float
93
- tz_str: str
94
- zodiac_type: ZodiacType
95
- sidereal_mode: Union[SiderealMode, None]
96
- houses_system_identifier: HousesSystemIdentifier
97
- houses_system_name: str
98
- perspective_type: PerspectiveType
99
- iso_formatted_local_datetime: str
100
- iso_formatted_utc_datetime: str
101
- julian_day: float
102
-
103
- # Deprecated properties -->
104
- utc_time: float
105
- local_time: float
106
- # <-- Deprecated properties
107
-
108
-
109
- # Planets
110
- sun: KerykeionPointModel
111
- moon: KerykeionPointModel
112
- mercury: KerykeionPointModel
113
- venus: KerykeionPointModel
114
- mars: KerykeionPointModel
115
- jupiter: KerykeionPointModel
116
- saturn: KerykeionPointModel
117
- uranus: KerykeionPointModel
118
- neptune: KerykeionPointModel
119
- pluto: KerykeionPointModel
120
-
121
- # Axes
122
- ascendant: KerykeionPointModel
123
- descendant: KerykeionPointModel
124
- medium_coeli: KerykeionPointModel
125
- imum_coeli: KerykeionPointModel
126
-
127
- # Optional Planets:
128
- chiron: Union[KerykeionPointModel, None]
129
- mean_lilith: Union[KerykeionPointModel, None]
130
-
131
- # Houses
132
- first_house: KerykeionPointModel
133
- second_house: KerykeionPointModel
134
- third_house: KerykeionPointModel
135
- fourth_house: KerykeionPointModel
136
- fifth_house: KerykeionPointModel
137
- sixth_house: KerykeionPointModel
138
- seventh_house: KerykeionPointModel
139
- eighth_house: KerykeionPointModel
140
- ninth_house: KerykeionPointModel
141
- tenth_house: KerykeionPointModel
142
- eleventh_house: KerykeionPointModel
143
- twelfth_house: KerykeionPointModel
144
-
145
- # Nodes
146
- mean_node: KerykeionPointModel
147
- true_node: KerykeionPointModel
148
- mean_south_node: KerykeionPointModel
149
- true_south_node: KerykeionPointModel
150
-
151
- planets_names_list: list[Planet]
152
- """Ordered list of available planets names"""
153
-
154
- axial_cusps_names_list: list[AxialCusps]
155
- """Ordered list of available axes names"""
156
-
157
- houses_names_list: list[Houses]
158
- """Ordered list of houses names"""
159
-
160
- lunar_phase: LunarPhaseModel
161
- """Lunar phase model"""
162
-
163
-
164
- class EphemerisDictModel(SubscriptableBaseModel):
165
- date: str
166
- planets: list[KerykeionPointModel]
167
- houses: list[KerykeionPointModel]
168
-
169
-
170
- class AspectModel(SubscriptableBaseModel):
171
- p1_name: str
172
- p1_owner: str
173
- p1_abs_pos: float
174
- p2_name: str
175
- p2_owner: str
176
- p2_abs_pos: float
177
- aspect: str
178
- orbit: float
179
- aspect_degrees: int
180
- diff: float
181
- p1: int
182
- p2: int
183
-
184
-
185
- class ZodiacSignModel(SubscriptableBaseModel):
186
- sign: Sign
187
- quality: Quality
188
- element: Element
189
- emoji: SignsEmoji
190
- sign_num: SignNumbers
191
-
192
-
193
- class RelationshipScoreAspectModel(SubscriptableBaseModel):
194
- p1_name: str
195
- p2_name: str
196
- aspect: str
197
- orbit: float
198
-
199
-
200
- class RelationshipScoreModel(SubscriptableBaseModel):
201
- score_value: int
202
- score_description: RelationshipScoreDescription
203
- is_destiny_sign: bool
204
- aspects: list[RelationshipScoreAspectModel]
205
- subjects: list[AstrologicalSubjectModel]
206
-
207
-
208
- class CompositeSubjectModel(SubscriptableBaseModel):
209
- """
210
- Pydantic Model for Composite Subject
211
- """
212
-
213
- # Data
214
- name: str
215
- first_subject: AstrologicalSubjectModel
216
- second_subject: AstrologicalSubjectModel
217
- composite_chart_type: str
218
-
219
- zodiac_type: ZodiacType
220
- sidereal_mode: Union[SiderealMode, None]
221
- houses_system_identifier: HousesSystemIdentifier
222
- houses_system_name: str
223
- perspective_type: PerspectiveType
224
-
225
- # Planets
226
- sun: KerykeionPointModel
227
- moon: KerykeionPointModel
228
- mercury: KerykeionPointModel
229
- venus: KerykeionPointModel
230
- mars: KerykeionPointModel
231
- jupiter: KerykeionPointModel
232
- saturn: KerykeionPointModel
233
- uranus: KerykeionPointModel
234
- neptune: KerykeionPointModel
235
- pluto: KerykeionPointModel
236
-
237
- # Axes
238
- ascendant: KerykeionPointModel
239
- descendant: KerykeionPointModel
240
- medium_coeli: KerykeionPointModel
241
- imum_coeli: KerykeionPointModel
242
-
243
- # Optional Planets:
244
- chiron: Union[KerykeionPointModel, None]
245
- mean_lilith: Union[KerykeionPointModel, None]
246
-
247
- # Houses
248
- first_house: KerykeionPointModel
249
- second_house: KerykeionPointModel
250
- third_house: KerykeionPointModel
251
- fourth_house: KerykeionPointModel
252
- fifth_house: KerykeionPointModel
253
- sixth_house: KerykeionPointModel
254
- seventh_house: KerykeionPointModel
255
- eighth_house: KerykeionPointModel
256
- ninth_house: KerykeionPointModel
257
- tenth_house: KerykeionPointModel
258
- eleventh_house: KerykeionPointModel
259
- twelfth_house: KerykeionPointModel
260
-
261
- # Nodes
262
- mean_node: KerykeionPointModel
263
- true_node: KerykeionPointModel
264
- mean_south_node: KerykeionPointModel
265
- true_south_node: KerykeionPointModel
266
-
267
- planets_names_list: list[Planet]
268
- """Ordered list of available planets names"""
269
-
270
- axial_cusps_names_list: list[AxialCusps]
271
- """Ordered list of available axes names"""
272
-
273
- houses_names_list: list[Houses]
274
- """Ordered list of houses names"""
275
-
276
- lunar_phase: LunarPhaseModel
277
- """Lunar phase model"""
278
-
279
-
280
- class ActiveAspect(TypedDict):
281
- name: AspectName
282
- orb: int
283
-
284
-
285
- class TransitMomentModel(SubscriptableBaseModel):
286
- """
287
- Model representing a snapshot of astrological transits at a specific moment in time.
288
-
289
- Captures all active aspects between moving celestial bodies and
290
- the fixed positions in a person's natal chart at a specific date and time.
291
-
292
- Attributes:
293
- date: ISO 8601 formatted date and time of the transit moment.
294
- aspects: List of astrological aspects active at this specific moment.
295
- """
296
-
297
- date: str
298
- """ISO 8601 formatted date and time of the transit moment."""
299
-
300
- aspects: list[AspectModel]
301
- """List of aspects active at this specific moment."""
302
-
303
-
304
- class TransitsTimeRangeModel(SubscriptableBaseModel):
305
- """
306
- Model representing a collection of transit moments for an astrological subject.
307
-
308
- This model holds a time series of transit snapshots, allowing analysis of
309
- planetary movements and their aspects to a natal chart over a period of time.
310
-
311
- Attributes:
312
- transits: List of transit moments occurring during the specified time period.
313
- subject: The astrological subject model for whom the transits are calculated.
314
- dates: List of all dates in ISO 8601 format for which transits were calculated.
315
- """
316
-
317
- transits: list[TransitMomentModel]
318
- """List of transit moments."""
319
-
320
- subject: Optional[AstrologicalSubjectModel]
321
- """Astrological subject data."""
322
-
323
- dates: Optional[list[str]]
324
- """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,208 +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
- """
16
-
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
- related_zodiac_signs: List[int] = Field(title="Celestial Point Related Zodiac Signs", description="Zodiac Signs related to the celestial point")
22
- label: str = Field(title="Celestial Point Label", description="The name of the celestial point in the chart, it can be different from the name")
23
- is_active: Optional[bool] = Field(title="Celestial Point is Active", description="Indicates if the celestial point is active in the chart", default=None)
24
-
25
-
26
- # Chart Colors Settings
27
- class KerykeionSettingsChartColorsModel(SubscriptableBaseModel):
28
- """
29
- Defines the model for the chart colors.
30
- """
31
-
32
- paper_0: str = Field(title="Paper Color 0", description="Paper Color 0")
33
- paper_1: str = Field(title="Paper Color 1", description="Paper Color 1")
34
- zodiac_bg_0: str = Field(title="Zodiac Background Color 0", description="Zodiac Background Color 0")
35
- zodiac_bg_1: str = Field(title="Zodiac Background Color 1", description="Zodiac Background Color 1")
36
- zodiac_bg_2: str = Field(title="Zodiac Background Color 2", description="Zodiac Background Color 2")
37
- zodiac_bg_3: str = Field(title="Zodiac Background Color 3", description="Zodiac Background Color 3")
38
- zodiac_bg_4: str = Field(title="Zodiac Background Color 4", description="Zodiac Background Color 4")
39
- zodiac_bg_5: str = Field(title="Zodiac Background Color 5", description="Zodiac Background Color 5")
40
- zodiac_bg_6: str = Field(title="Zodiac Background Color 6", description="Zodiac Background Color 6")
41
- zodiac_bg_7: str = Field(title="Zodiac Background Color 7", description="Zodiac Background Color 7")
42
- zodiac_bg_8: str = Field(title="Zodiac Background Color 8", description="Zodiac Background Color 8")
43
- zodiac_bg_9: str = Field(title="Zodiac Background Color 9", description="Zodiac Background Color 9")
44
- zodiac_bg_10: str = Field(title="Zodiac Background Color 10", description="Zodiac Background Color 10")
45
- zodiac_bg_11: str = Field(title="Zodiac Background Color 11", description="Zodiac Background Color 11")
46
- zodiac_icon_0: str = Field(title="Zodiac Icon Color 0", description="Zodiac Icon Color 0")
47
- zodiac_icon_1: str = Field(title="Zodiac Icon Color 1", description="Zodiac Icon Color 1")
48
- zodiac_icon_2: str = Field(title="Zodiac Icon Color 2", description="Zodiac Icon Color 2")
49
- zodiac_icon_3: str = Field(title="Zodiac Icon Color 3", description="Zodiac Icon Color 3")
50
- zodiac_icon_4: str = Field(title="Zodiac Icon Color 4", description="Zodiac Icon Color 4")
51
- zodiac_icon_5: str = Field(title="Zodiac Icon Color 5", description="Zodiac Icon Color 5")
52
- zodiac_icon_6: str = Field(title="Zodiac Icon Color 6", description="Zodiac Icon Color 6")
53
- zodiac_icon_7: str = Field(title="Zodiac Icon Color 7", description="Zodiac Icon Color 7")
54
- zodiac_icon_8: str = Field(title="Zodiac Icon Color 8", description="Zodiac Icon Color 8")
55
- zodiac_icon_9: str = Field(title="Zodiac Icon Color 9", description="Zodiac Icon Color 9")
56
- zodiac_icon_10: str = Field(title="Zodiac Icon Color 10", description="Zodiac Icon Color 10")
57
- zodiac_icon_11: str = Field(title="Zodiac Icon Color 11", description="Zodiac Icon Color 11")
58
- zodiac_radix_ring_0: str = Field(title="Zodiac Radix Ring Color 0", description="Zodiac Radix Ring Color 0")
59
- zodiac_radix_ring_1: str = Field(title="Zodiac Radix Ring Color 1", description="Zodiac Radix Ring Color 1")
60
- zodiac_radix_ring_2: str = Field(title="Zodiac Radix Ring Color 2", description="Zodiac Radix Ring Color 2")
61
- zodiac_transit_ring_0: str = Field(title="Zodiac Transit Ring Color 0", description="Zodiac Transit Ring Color 0")
62
- zodiac_transit_ring_1: str = Field(title="Zodiac Transit Ring Color 1", description="Zodiac Transit Ring Color 1")
63
- zodiac_transit_ring_2: str = Field(title="Zodiac Transit Ring Color 2", description="Zodiac Transit Ring Color 2")
64
- zodiac_transit_ring_3: str = Field(title="Zodiac Transit Ring Color 3", description="Zodiac Transit Ring Color 3")
65
- houses_radix_line: str = Field(title="Houses Radix Line Color", description="Houses Radix Line Color")
66
- houses_transit_line: str = Field(title="Houses Transit Line Color", description="Houses Transit Line Color")
67
-
68
- # Deprecated: Not used anymore
69
- lunar_phase_0: str = Field(title="Lunar Phase Color 0", description="Lunar Phase Color 0")
70
- lunar_phase_1: str = Field(title="Lunar Phase Color 1", description="Lunar Phase Color 1")
71
-
72
-
73
- # Aspect Settings
74
- class KerykeionSettingsAspectModel(SubscriptableBaseModel):
75
- """
76
- Defines the model for an aspect.
77
- """
78
-
79
- degree: int = Field(title="Aspect Degrees", description="The degree of the aspect")
80
- name: str = Field(title="Aspect Name", description="The name of the aspect")
81
- color: str = Field(title="Aspect Color", description="The color of the aspect")
82
- orb: Optional[int] = Field(title="Aspect Orb", description="The orb of the aspect", default=None)
83
-
84
- # Language Settings
85
- class KerykeionLanguageCelestialPointModel(SubscriptableBaseModel):
86
- """
87
- This class is used to define the labels, show in the chart, for the celestial points.
88
- It is used to translate the celestial points in the language of the chart.
89
- """
90
-
91
- Sun: str = Field(title="Sun", description="The name of the Sun in the chart, in the language")
92
- Moon: str = Field(title="Moon", description="The name of the Moon in the chart, in the language")
93
- Mercury: str = Field(title="Mercury", description="The name of Mercury in the chart, in the language")
94
- Venus: str = Field(title="Venus", description="The name of Venus in the chart, in the language")
95
- Mars: str = Field(title="Mars", description="The name of Mars in the chart, in the language")
96
- Jupiter: str = Field(title="Jupiter", description="The name of Jupiter in the chart, in the language")
97
- Saturn: str = Field(title="Saturn", description="The name of Saturn in the chart, in the language")
98
- Uranus: str = Field(title="Uranus", description="The name of Uranus in the chart, in the language")
99
- Neptune: str = Field(title="Neptune", description="The name of Neptune in the chart, in the language")
100
- Pluto: str = Field(title="Pluto", description="The name of Pluto in the chart, in the language")
101
- True_Node: str = Field(title="True Node", description="The name of True Node in the chart, in the language")
102
- Mean_Node: str = Field(title="Mean Node", description="The name of Mean Node in the chart, in the language")
103
- Chiron: str = Field(title="Chiron", description="The name of Chiron in the chart, in the language")
104
- Ascendant: str = Field(title="Ascendant", description="The name of Ascendant in the chart, in the language")
105
- Descendant: str = Field(title="Descendant", description="The name of Descendant in the chart, in the language")
106
- Medium_Coeli: str = Field(title="Medium Coeli", description="The name of Medium Coeli in the chart, in the language")
107
- Imum_Coeli: str = Field(title="Imum Coeli", description="The name of Imum Coeli in the chart, in the language")
108
- Mean_Lilith: str = Field(title="Mean Lilith", description="The name of Mean Lilith in the chart, in the language")
109
- True_South_Node: str = Field(title="True South Node", description="The name of True South Node in the chart, in the language")
110
- Mean_South_Node: str = Field(title="Mean South Node", description="The name of Mean South Node in the chart, in the language")
111
-
112
-
113
- class KerykeionLanguageModel(SubscriptableBaseModel):
114
- """
115
- This model is used to store the language settings for the chart,
116
- it's used to translate the celestial points and the other labels
117
- """
118
-
119
- info: str
120
- cusp: str
121
- longitude: str
122
- latitude: str
123
- north: str
124
- east: str
125
- south: str
126
- west: str
127
- fire: str
128
- earth: str
129
- air: str
130
- water: str
131
- and_word: str
132
- transits: str
133
- type: str
134
- couple_aspects: str
135
- transit_aspects: str
136
- planets_and_house: str
137
- transit_name: str
138
- lunar_phase: str
139
- day: str
140
- celestial_points: KerykeionLanguageCelestialPointModel
141
- composite_chart: str
142
- midpoints: str
143
- north_letter: str
144
- east_letter: str
145
- south_letter: str
146
- west_letter: str
147
- tropical: str
148
- sidereal: str
149
- zodiac: str
150
- ayanamsa: str
151
- apparent_geocentric: str
152
- heliocentric: str
153
- topocentric: str
154
- true_geocentric: str
155
- new_moon: str
156
- waxing_crescent: str
157
- first_quarter: str
158
- waxing_gibbous: str
159
- full_moon: str
160
- waning_gibbous: str
161
- last_quarter: str
162
- waning_crescent: str
163
- houses: str
164
- houses_system_A: str
165
- houses_system_B: str
166
- houses_system_C: str
167
- houses_system_D: str
168
- houses_system_F: str
169
- houses_system_H: str
170
- houses_system_I: str
171
- houses_system_i: str
172
- houses_system_K: str
173
- houses_system_L: str
174
- houses_system_M: str
175
- houses_system_N: str
176
- houses_system_O: str
177
- houses_system_P: str
178
- houses_system_Q: str
179
- houses_system_R: str
180
- houses_system_S: str
181
- houses_system_T: str
182
- houses_system_U: str
183
- houses_system_V: str
184
- houses_system_W: str
185
- houses_system_X: str
186
- houses_system_Y: str
187
- Natal: str
188
- ExternalNatal: str
189
- Synastry: str
190
- Transit: str
191
- Composite: str
192
-
193
-
194
- class KerykeionGeneralSettingsModel(SubscriptableBaseModel):
195
- axes_orbit: int = Field(title="Axes Orbit", description="The orbit of the axes in the chart")
3
+ Backward compatibility module for settings_models.
196
4
 
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
197
11
 
198
- # Settings Model
199
- class KerykeionSettingsModel(SubscriptableBaseModel):
200
- """
201
- This class is used to define the global settings for the Kerykeion.
202
- """
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
+ )
203
18
 
204
- chart_colors: KerykeionSettingsChartColorsModel = Field(title="Chart Colors", description="The colors of the chart")
205
- celestial_points: List[KerykeionSettingsCelestialPointModel] = Field(title="Celestial Points", description="The list of the celestial points of the chart")
206
- aspects: List[KerykeionSettingsAspectModel] = Field(title="Aspects", description="The list of the aspects of the chart")
207
- language_settings: dict[str, KerykeionLanguageModel] = Field(title="Language Settings", description="The language settings of the chart")
208
- general_settings: KerykeionGeneralSettingsModel = Field(title="General Settings", description="The general 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