kerykeion 5.0.0a11__py3-none-any.whl → 5.0.0b1__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 (56) hide show
  1. kerykeion/__init__.py +32 -9
  2. kerykeion/aspects/__init__.py +2 -4
  3. kerykeion/aspects/aspects_factory.py +530 -0
  4. kerykeion/aspects/aspects_utils.py +75 -6
  5. kerykeion/astrological_subject_factory.py +380 -229
  6. kerykeion/backword.py +680 -0
  7. kerykeion/chart_data_factory.py +484 -0
  8. kerykeion/charts/{kerykeion_chart_svg.py → chart_drawer.py} +612 -439
  9. kerykeion/charts/charts_utils.py +135 -94
  10. kerykeion/charts/draw_planets.py +38 -28
  11. kerykeion/charts/templates/aspect_grid_only.xml +188 -17
  12. kerykeion/charts/templates/chart.xml +104 -28
  13. kerykeion/charts/templates/wheel_only.xml +195 -24
  14. kerykeion/charts/themes/classic.css +11 -0
  15. kerykeion/charts/themes/dark-high-contrast.css +11 -0
  16. kerykeion/charts/themes/dark.css +11 -0
  17. kerykeion/charts/themes/light.css +11 -0
  18. kerykeion/charts/themes/strawberry.css +10 -0
  19. kerykeion/composite_subject_factory.py +4 -4
  20. kerykeion/ephemeris_data_factory.py +12 -9
  21. kerykeion/house_comparison/__init__.py +0 -3
  22. kerykeion/house_comparison/house_comparison_factory.py +51 -18
  23. kerykeion/house_comparison/house_comparison_utils.py +37 -8
  24. kerykeion/planetary_return_factory.py +8 -4
  25. kerykeion/relationship_score_factory.py +5 -5
  26. kerykeion/report.py +748 -67
  27. kerykeion/{kr_types → schemas}/__init__.py +44 -4
  28. kerykeion/schemas/chart_template_model.py +340 -0
  29. kerykeion/{kr_types → schemas}/kr_literals.py +7 -3
  30. kerykeion/{kr_types → schemas}/kr_models.py +247 -21
  31. kerykeion/{kr_types → schemas}/settings_models.py +7 -7
  32. kerykeion/settings/config_constants.py +75 -8
  33. kerykeion/settings/kerykeion_settings.py +1 -1
  34. kerykeion/settings/kr.config.json +130 -40
  35. kerykeion/settings/legacy/legacy_celestial_points_settings.py +8 -8
  36. kerykeion/sweph/ast136/s136108s.se1 +0 -0
  37. kerykeion/sweph/ast136/s136199s.se1 +0 -0
  38. kerykeion/sweph/ast136/s136472s.se1 +0 -0
  39. kerykeion/sweph/ast28/se28978s.se1 +0 -0
  40. kerykeion/sweph/ast50/se50000s.se1 +0 -0
  41. kerykeion/sweph/ast90/se90377s.se1 +0 -0
  42. kerykeion/sweph/ast90/se90482s.se1 +0 -0
  43. kerykeion/sweph/sefstars.txt +1602 -0
  44. kerykeion/transits_time_range_factory.py +11 -11
  45. kerykeion/utilities.py +61 -38
  46. kerykeion-5.0.0b1.dist-info/METADATA +1055 -0
  47. kerykeion-5.0.0b1.dist-info/RECORD +58 -0
  48. kerykeion/aspects/natal_aspects_factory.py +0 -235
  49. kerykeion/aspects/synastry_aspects_factory.py +0 -275
  50. kerykeion/house_comparison/house_comparison_models.py +0 -38
  51. kerykeion/kr_types/chart_types.py +0 -106
  52. kerykeion-5.0.0a11.dist-info/METADATA +0 -641
  53. kerykeion-5.0.0a11.dist-info/RECORD +0 -50
  54. /kerykeion/{kr_types → schemas}/kerykeion_exception.py +0 -0
  55. {kerykeion-5.0.0a11.dist-info → kerykeion-5.0.0b1.dist-info}/WHEEL +0 -0
  56. {kerykeion-5.0.0a11.dist-info → kerykeion-5.0.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -4,9 +4,48 @@
4
4
  """
5
5
 
6
6
  from .kerykeion_exception import KerykeionException
7
- from .kr_literals import *
8
- from .kr_models import *
9
- from .chart_types import ChartTemplateDictionary
7
+ from .kr_literals import (
8
+ ZodiacType,
9
+ Sign,
10
+ SignNumbers,
11
+ AspectMovementType,
12
+ Houses,
13
+ HouseNumbers,
14
+ AstrologicalPoint,
15
+ Element,
16
+ Quality,
17
+ ChartType,
18
+ PointType,
19
+ LunarPhaseEmoji,
20
+ LunarPhaseName,
21
+ SiderealMode,
22
+ HousesSystemIdentifier,
23
+ PerspectiveType,
24
+ SignsEmoji,
25
+ KerykeionChartTheme,
26
+ KerykeionChartLanguage,
27
+ RelationshipScoreDescription,
28
+ CompositeChartType,
29
+ AspectName,
30
+ )
31
+ from .kr_models import (
32
+ SubscriptableBaseModel,
33
+ LunarPhaseModel,
34
+ KerykeionPointModel,
35
+ AstrologicalBaseModel,
36
+ AstrologicalSubjectModel,
37
+ CompositeSubjectModel,
38
+ PlanetReturnModel,
39
+ EphemerisDictModel,
40
+ AspectModel,
41
+ ZodiacSignModel,
42
+ RelationshipScoreAspectModel,
43
+ RelationshipScoreModel,
44
+ ActiveAspect,
45
+ TransitMomentModel,
46
+ TransitsTimeRangeModel,
47
+ )
48
+ from .chart_template_model import ChartTemplateModel
10
49
  from .settings_models import KerykeionSettingsModel
11
50
 
12
51
  __all__ = [
@@ -14,13 +53,14 @@ __all__ = [
14
53
  "KerykeionException",
15
54
 
16
55
  # Settings and Chart Types
17
- "ChartTemplateDictionary",
56
+ "ChartTemplateModel",
18
57
  "KerykeionSettingsModel",
19
58
 
20
59
  # Main Literal Types (from kr_literals)
21
60
  "ZodiacType",
22
61
  "Sign",
23
62
  "SignNumbers",
63
+ "AspectMovementType",
24
64
  "Houses",
25
65
  "HouseNumbers",
26
66
  "AstrologicalPoint",
@@ -0,0 +1,340 @@
1
+ from .kr_models import SubscriptableBaseModel
2
+
3
+
4
+ class ChartTemplateModel(SubscriptableBaseModel):
5
+ """
6
+ Pydantic model for chart template variables used in SVG generation.
7
+
8
+ This model contains all the template variables required to render
9
+ astrological charts, including colors, dimensions, and SVG components.
10
+ """
11
+
12
+ transitRing: str
13
+ """SVG markup for the transit ring"""
14
+
15
+ degreeRing: str
16
+ """SVG markup for the degree ring"""
17
+
18
+ background_circle: str
19
+ """SVG markup for the background circle"""
20
+
21
+ first_circle: str
22
+ """SVG markup for the first circle"""
23
+
24
+ second_circle: str
25
+ """SVG markup for the second circle"""
26
+
27
+ third_circle: str
28
+ """SVG markup for the third circle"""
29
+
30
+ makeAspects: str
31
+ """SVG markup for aspects"""
32
+
33
+ makeAspectGrid: str
34
+ """SVG markup for aspect grid"""
35
+
36
+ makeDoubleChartAspectList: str
37
+ """SVG markup for double chart aspect list"""
38
+
39
+ makeHouseComparisonGrid: str
40
+ """SVG markup for house comparison grid"""
41
+
42
+ chart_height: float
43
+ """Chart height in pixels"""
44
+
45
+ chart_width: float
46
+ """Chart width in pixels"""
47
+
48
+ viewbox: str
49
+ """SVG viewBox attribute value"""
50
+
51
+ stringTitle: str
52
+ """Chart title string"""
53
+
54
+ top_left_0: str
55
+ """Top left panel content - line 0"""
56
+
57
+ bottom_left_0: str
58
+ """Bottom left panel content - line 0"""
59
+
60
+ bottom_left_1: str
61
+ """Bottom left panel content - line 1"""
62
+
63
+ bottom_left_2: str
64
+ """Bottom left panel content - line 2"""
65
+
66
+ bottom_left_3: str
67
+ """Bottom left panel content - line 3"""
68
+
69
+ bottom_left_4: str
70
+ """Bottom left panel content - line 4"""
71
+
72
+ top_left_1: str
73
+ """Top left panel content - line 1"""
74
+
75
+ top_left_2: str
76
+ """Top left panel content - line 2"""
77
+
78
+ top_left_3: str
79
+ """Top left panel content - line 3"""
80
+
81
+ top_left_4: str
82
+ """Top left panel content - line 4"""
83
+
84
+ top_left_5: str
85
+ """Top left panel content - line 5"""
86
+
87
+ paper_color_0: str
88
+ """Font color"""
89
+
90
+ background_color: str
91
+ """Dynamic background color (can be transparent or theme color)"""
92
+
93
+ planets_color_0: str
94
+ """Planet color for Sun (index 0)"""
95
+
96
+ planets_color_1: str
97
+ """Planet color for Moon (index 1)"""
98
+
99
+ planets_color_2: str
100
+ """Planet color for Mercury (index 2)"""
101
+
102
+ planets_color_3: str
103
+ """Planet color for Venus (index 3)"""
104
+
105
+ planets_color_4: str
106
+ """Planet color for Mars (index 4)"""
107
+
108
+ planets_color_5: str
109
+ """Planet color for Jupiter (index 5)"""
110
+
111
+ planets_color_6: str
112
+ """Planet color for Saturn (index 6)"""
113
+
114
+ planets_color_7: str
115
+ """Planet color for Uranus (index 7)"""
116
+
117
+ planets_color_8: str
118
+ """Planet color for Neptune (index 8)"""
119
+
120
+ planets_color_9: str
121
+ """Planet color for Pluto (index 9)"""
122
+
123
+ planets_color_10: str
124
+ """Planet color for North Node (index 10)"""
125
+
126
+ planets_color_11: str
127
+ """Planet color for South Node (index 11)"""
128
+
129
+ planets_color_12: str
130
+ """Planet color for Chiron (index 12)"""
131
+
132
+ planets_color_13: str
133
+ """Planet color for Ceres (index 13)"""
134
+
135
+ planets_color_14: str
136
+ """Planet color for Pallas (index 14)"""
137
+
138
+ planets_color_15: str
139
+ """Planet color for Juno (index 15)"""
140
+
141
+ planets_color_16: str
142
+ """Planet color for Vesta (index 16)"""
143
+
144
+ planets_color_17: str
145
+ """Planet color for Pars Fortunae (index 17)"""
146
+
147
+ planets_color_18: str
148
+ """Planet color for Draconic Moon (index 18)"""
149
+
150
+ planets_color_19: str
151
+ """Planet color for additional celestial point (index 19)"""
152
+
153
+ planets_color_20: str
154
+ """Planet color for celestial point (index 20)"""
155
+
156
+ planets_color_21: str
157
+ """Planet color for celestial point (index 21)"""
158
+
159
+ planets_color_22: str
160
+ """Planet color for celestial point (index 22)"""
161
+
162
+ planets_color_23: str
163
+ """Planet color for celestial point (index 23)"""
164
+
165
+ planets_color_24: str
166
+ """Planet color for celestial point (index 24)"""
167
+
168
+ planets_color_25: str
169
+ """Planet color for celestial point (index 25)"""
170
+
171
+ planets_color_26: str
172
+ """Planet color for celestial point (index 26)"""
173
+
174
+ planets_color_27: str
175
+ """Planet color for celestial point (index 27)"""
176
+
177
+ planets_color_28: str
178
+ """Planet color for celestial point (index 28)"""
179
+
180
+ planets_color_29: str
181
+ """Planet color for celestial point (index 29)"""
182
+
183
+ planets_color_30: str
184
+ """Planet color for celestial point (index 30)"""
185
+
186
+ planets_color_31: str
187
+ """Planet color for celestial point (index 31)"""
188
+
189
+ planets_color_32: str
190
+ """Planet color for celestial point (index 32)"""
191
+
192
+ planets_color_33: str
193
+ """Planet color for celestial point (index 33)"""
194
+
195
+ planets_color_34: str
196
+ """Planet color for celestial point (index 34)"""
197
+
198
+ planets_color_35: str
199
+ """Planet color for celestial point (index 35)"""
200
+
201
+ planets_color_36: str
202
+ """Planet color for celestial point (index 36)"""
203
+
204
+ planets_color_37: str
205
+ """Planet color for celestial point (index 37)"""
206
+
207
+ planets_color_38: str
208
+ """Planet color for celestial point (index 38)"""
209
+
210
+ planets_color_39: str
211
+ """Planet color for celestial point (index 39)"""
212
+
213
+ planets_color_40: str
214
+ """Planet color for celestial point (index 40)"""
215
+
216
+ planets_color_41: str
217
+ """Planet color for celestial point (index 41)"""
218
+
219
+ zodiac_color_0: str
220
+ """Zodiac color for Aries (index 0)"""
221
+
222
+ zodiac_color_1: str
223
+ """Zodiac color for Taurus (index 1)"""
224
+
225
+ zodiac_color_2: str
226
+ """Zodiac color for Gemini (index 2)"""
227
+
228
+ zodiac_color_3: str
229
+ """Zodiac color for Cancer (index 3)"""
230
+
231
+ zodiac_color_4: str
232
+ """Zodiac color for Leo (index 4)"""
233
+
234
+ zodiac_color_5: str
235
+ """Zodiac color for Virgo (index 5)"""
236
+
237
+ zodiac_color_6: str
238
+ """Zodiac color for Libra (index 6)"""
239
+
240
+ zodiac_color_7: str
241
+ """Zodiac color for Scorpio (index 7)"""
242
+
243
+ zodiac_color_8: str
244
+ """Zodiac color for Sagittarius (index 8)"""
245
+
246
+ zodiac_color_9: str
247
+ """Zodiac color for Capricorn (index 9)"""
248
+
249
+ zodiac_color_10: str
250
+ """Zodiac color for Aquarius (index 10)"""
251
+
252
+ zodiac_color_11: str
253
+ """Zodiac color for Pisces (index 11)"""
254
+
255
+ orb_color_0: str
256
+ """Aspect color for conjunction (0°)"""
257
+
258
+ orb_color_30: str
259
+ """Aspect color for semi-sextile (30°)"""
260
+
261
+ orb_color_45: str
262
+ """Aspect color for semi-square (45°)"""
263
+
264
+ orb_color_60: str
265
+ """Aspect color for sextile (60°)"""
266
+
267
+ orb_color_72: str
268
+ """Aspect color for quintile (72°)"""
269
+
270
+ orb_color_90: str
271
+ """Aspect color for square (90°)"""
272
+
273
+ orb_color_120: str
274
+ """Aspect color for trine (120°)"""
275
+
276
+ orb_color_135: str
277
+ """Aspect color for sesqui-quadrate (135°)"""
278
+
279
+ orb_color_144: str
280
+ """Aspect color for bi-quintile (144°)"""
281
+
282
+ orb_color_150: str
283
+ """Aspect color for quincunx (150°)"""
284
+
285
+ orb_color_180: str
286
+ """Aspect color for opposition (180°)"""
287
+
288
+ makeZodiac: str
289
+ """SVG markup for zodiac signs"""
290
+
291
+ makeHouses: str
292
+ """SVG markup for houses"""
293
+
294
+ makePlanets: str
295
+ """SVG markup for planets"""
296
+
297
+ makeMainPlanetGrid: str
298
+ """SVG markup for main planet grid"""
299
+
300
+ makeSecondaryPlanetGrid: str
301
+ """SVG markup for secondary planet grid"""
302
+
303
+ makeMainHousesGrid: str
304
+ """SVG markup for main houses grid"""
305
+
306
+ makeSecondaryHousesGrid: str
307
+ """SVG markup for secondary houses grid"""
308
+
309
+ color_style_tag: str
310
+ """CSS color style tag"""
311
+
312
+ elements_string: str
313
+ """Elements header string"""
314
+
315
+ fire_string: str
316
+ """Fire element string with percentage"""
317
+
318
+ earth_string: str
319
+ """Earth element string with percentage"""
320
+
321
+ air_string: str
322
+ """Air element string with percentage"""
323
+
324
+ water_string: str
325
+ """Water element string with percentage"""
326
+
327
+ qualities_string: str
328
+ """Qualities header string"""
329
+
330
+ cardinal_string: str
331
+ """Cardinal quality string with percentage"""
332
+
333
+ fixed_string: str
334
+ """Fixed quality string with percentage"""
335
+
336
+ mutable_string: str
337
+ """Mutable quality string with percentage"""
338
+
339
+ makeLunarPhase: str
340
+ """SVG markup for lunar phase"""
@@ -17,6 +17,10 @@ SignNumbers = Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
17
17
  """Literal type for Zodiac Sign Numbers, the signs are numbered in order starting from Aries (0) to Pis (11)"""
18
18
 
19
19
 
20
+ AspectMovementType = Literal["Applying", "Separating", "Exact"]
21
+ """Literal type for Aspect Movement: Applying (planets moving toward exact aspect), Separating (planets moving away), or Exact (within tight orb)"""
22
+
23
+
20
24
  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
25
  """Literal type for Houses"""
22
26
 
@@ -29,8 +33,8 @@ AstrologicalPoint = Literal[
29
33
  # Main Planets
30
34
  "Sun", "Moon", "Mercury", "Venus", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto",
31
35
 
32
- # Nodes
33
- "Mean_Node", "True_Node", "Mean_South_Node", "True_South_Node",
36
+ # Lunar Nodes
37
+ "Mean_North_Lunar_Node", "True_North_Lunar_Node", "Mean_South_Lunar_Node", "True_South_Lunar_Node",
34
38
 
35
39
  # Special Points
36
40
  "Chiron", "Mean_Lilith", "True_Lilith", "Earth", "Pholus",
@@ -65,7 +69,7 @@ Quality = Literal["Cardinal", "Fixed", "Mutable"]
65
69
  """Literal type for Qualities"""
66
70
 
67
71
 
68
- ChartType = Literal["Natal", "ExternalNatal", "Synastry", "Transit", "Composite", "Return", "SingleWheelReturn"]
72
+ ChartType = Literal["Natal", "Synastry", "Transit", "Composite", "DualReturnChart", "SingleReturnChart"]
69
73
  """Literal type for Chart Types"""
70
74
 
71
75