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.
- kerykeion/__init__.py +50 -9
- kerykeion/aspects/__init__.py +5 -2
- kerykeion/aspects/aspects_factory.py +568 -0
- kerykeion/aspects/aspects_utils.py +78 -11
- kerykeion/astrological_subject_factory.py +1032 -275
- kerykeion/backword.py +820 -0
- kerykeion/chart_data_factory.py +552 -0
- kerykeion/charts/chart_drawer.py +2661 -0
- kerykeion/charts/charts_utils.py +652 -399
- kerykeion/charts/draw_planets.py +603 -353
- kerykeion/charts/templates/aspect_grid_only.xml +326 -198
- kerykeion/charts/templates/chart.xml +306 -256
- kerykeion/charts/templates/wheel_only.xml +330 -200
- kerykeion/charts/themes/black-and-white.css +148 -0
- kerykeion/charts/themes/classic.css +11 -0
- kerykeion/charts/themes/dark-high-contrast.css +11 -0
- kerykeion/charts/themes/dark.css +11 -0
- kerykeion/charts/themes/light.css +11 -0
- kerykeion/charts/themes/strawberry.css +10 -0
- kerykeion/composite_subject_factory.py +232 -13
- kerykeion/ephemeris_data_factory.py +443 -0
- kerykeion/fetch_geonames.py +78 -21
- kerykeion/house_comparison/__init__.py +4 -1
- kerykeion/house_comparison/house_comparison_factory.py +52 -19
- kerykeion/house_comparison/house_comparison_utils.py +37 -9
- kerykeion/kr_types/__init__.py +66 -6
- kerykeion/kr_types/chart_template_model.py +20 -0
- kerykeion/kr_types/kerykeion_exception.py +15 -9
- kerykeion/kr_types/kr_literals.py +14 -160
- kerykeion/kr_types/kr_models.py +14 -291
- kerykeion/kr_types/settings_models.py +15 -167
- kerykeion/planetary_return_factory.py +545 -40
- kerykeion/relationship_score_factory.py +137 -63
- kerykeion/report.py +749 -64
- kerykeion/schemas/__init__.py +106 -0
- kerykeion/schemas/chart_template_model.py +367 -0
- kerykeion/schemas/kerykeion_exception.py +20 -0
- kerykeion/schemas/kr_literals.py +181 -0
- kerykeion/schemas/kr_models.py +603 -0
- kerykeion/schemas/settings_models.py +188 -0
- kerykeion/settings/__init__.py +20 -1
- kerykeion/settings/chart_defaults.py +444 -0
- kerykeion/settings/config_constants.py +88 -12
- kerykeion/settings/kerykeion_settings.py +32 -75
- kerykeion/settings/translation_strings.py +1499 -0
- kerykeion/settings/translations.py +74 -0
- kerykeion/sweph/ast136/s136108s.se1 +0 -0
- kerykeion/sweph/ast136/s136199s.se1 +0 -0
- kerykeion/sweph/ast136/s136472s.se1 +0 -0
- kerykeion/sweph/ast28/se28978s.se1 +0 -0
- kerykeion/sweph/ast50/se50000s.se1 +0 -0
- kerykeion/sweph/ast90/se90377s.se1 +0 -0
- kerykeion/sweph/ast90/se90482s.se1 +0 -0
- kerykeion/sweph/sefstars.txt +1602 -0
- kerykeion/transits_time_range_factory.py +302 -0
- kerykeion/utilities.py +289 -204
- kerykeion-5.1.8.dist-info/METADATA +1793 -0
- kerykeion-5.1.8.dist-info/RECORD +63 -0
- kerykeion/aspects/natal_aspects.py +0 -181
- kerykeion/aspects/synastry_aspects.py +0 -141
- kerykeion/aspects/transits_time_range.py +0 -41
- kerykeion/charts/draw_planets_v2.py +0 -649
- kerykeion/charts/draw_planets_v3.py +0 -679
- kerykeion/charts/kerykeion_chart_svg.py +0 -2038
- kerykeion/enums.py +0 -57
- kerykeion/ephemeris_data.py +0 -238
- kerykeion/house_comparison/house_comparison_models.py +0 -38
- kerykeion/kr_types/chart_types.py +0 -106
- kerykeion/settings/kr.config.json +0 -1304
- kerykeion/settings/legacy/__init__.py +0 -0
- kerykeion/settings/legacy/legacy_celestial_points_settings.py +0 -299
- kerykeion/settings/legacy/legacy_chart_aspects_settings.py +0 -71
- kerykeion/settings/legacy/legacy_color_settings.py +0 -42
- kerykeion/transits_time_range.py +0 -128
- kerykeion-5.0.0a9.dist-info/METADATA +0 -636
- kerykeion-5.0.0a9.dist-info/RECORD +0 -55
- kerykeion-5.0.0a9.dist-info/entry_points.txt +0 -2
- {kerykeion-5.0.0a9.dist-info → kerykeion-5.1.8.dist-info}/WHEEL +0 -0
- {kerykeion-5.0.0a9.dist-info → kerykeion-5.1.8.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
This is part of Kerykeion (C) 2025 Giacomo Battaglia
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from .kerykeion_exception import KerykeionException
|
|
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
|
+
# Deprecated aliases
|
|
31
|
+
Planet,
|
|
32
|
+
AxialCusps,
|
|
33
|
+
)
|
|
34
|
+
from .kr_models import (
|
|
35
|
+
SubscriptableBaseModel,
|
|
36
|
+
LunarPhaseModel,
|
|
37
|
+
KerykeionPointModel,
|
|
38
|
+
AstrologicalBaseModel,
|
|
39
|
+
AstrologicalSubjectModel,
|
|
40
|
+
CompositeSubjectModel,
|
|
41
|
+
PlanetReturnModel,
|
|
42
|
+
EphemerisDictModel,
|
|
43
|
+
AspectModel,
|
|
44
|
+
ZodiacSignModel,
|
|
45
|
+
RelationshipScoreAspectModel,
|
|
46
|
+
RelationshipScoreModel,
|
|
47
|
+
ActiveAspect,
|
|
48
|
+
TransitMomentModel,
|
|
49
|
+
TransitsTimeRangeModel,
|
|
50
|
+
)
|
|
51
|
+
from .chart_template_model import ChartTemplateModel
|
|
52
|
+
from .settings_models import KerykeionSettingsModel
|
|
53
|
+
|
|
54
|
+
__all__ = [
|
|
55
|
+
# Exceptions
|
|
56
|
+
"KerykeionException",
|
|
57
|
+
|
|
58
|
+
# Settings and Chart Types
|
|
59
|
+
"ChartTemplateModel",
|
|
60
|
+
"KerykeionSettingsModel",
|
|
61
|
+
|
|
62
|
+
# Main Literal Types (from kr_literals)
|
|
63
|
+
"ZodiacType",
|
|
64
|
+
"Sign",
|
|
65
|
+
"SignNumbers",
|
|
66
|
+
"AspectMovementType",
|
|
67
|
+
"Houses",
|
|
68
|
+
"HouseNumbers",
|
|
69
|
+
"AstrologicalPoint",
|
|
70
|
+
"Element",
|
|
71
|
+
"Quality",
|
|
72
|
+
"ChartType",
|
|
73
|
+
"PointType",
|
|
74
|
+
"LunarPhaseEmoji",
|
|
75
|
+
"LunarPhaseName",
|
|
76
|
+
"SiderealMode",
|
|
77
|
+
"HousesSystemIdentifier",
|
|
78
|
+
"PerspectiveType",
|
|
79
|
+
"SignsEmoji",
|
|
80
|
+
"KerykeionChartTheme",
|
|
81
|
+
"KerykeionChartLanguage",
|
|
82
|
+
"RelationshipScoreDescription",
|
|
83
|
+
"CompositeChartType",
|
|
84
|
+
"AspectName",
|
|
85
|
+
|
|
86
|
+
# Deprecated aliases (for v4.x compatibility, will be removed in v6.0)
|
|
87
|
+
"Planet",
|
|
88
|
+
"AxialCusps",
|
|
89
|
+
|
|
90
|
+
# Main Model Classes (from kr_models)
|
|
91
|
+
"SubscriptableBaseModel",
|
|
92
|
+
"LunarPhaseModel",
|
|
93
|
+
"KerykeionPointModel",
|
|
94
|
+
"AstrologicalBaseModel",
|
|
95
|
+
"AstrologicalSubjectModel",
|
|
96
|
+
"CompositeSubjectModel",
|
|
97
|
+
"PlanetReturnModel",
|
|
98
|
+
"EphemerisDictModel",
|
|
99
|
+
"AspectModel",
|
|
100
|
+
"ZodiacSignModel",
|
|
101
|
+
"RelationshipScoreAspectModel",
|
|
102
|
+
"RelationshipScoreModel",
|
|
103
|
+
"ActiveAspect",
|
|
104
|
+
"TransitMomentModel",
|
|
105
|
+
"TransitsTimeRangeModel",
|
|
106
|
+
]
|
|
@@ -0,0 +1,367 @@
|
|
|
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
|
+
full_wheel_translate_y: int
|
|
43
|
+
"""Vertical translation for the full wheel group"""
|
|
44
|
+
|
|
45
|
+
houses_and_planets_translate_y: int
|
|
46
|
+
"""Vertical translation for the houses and planets grid group"""
|
|
47
|
+
|
|
48
|
+
aspect_grid_translate_y: int
|
|
49
|
+
"""Vertical translation for the aspect grid group"""
|
|
50
|
+
|
|
51
|
+
aspect_list_translate_y: int
|
|
52
|
+
"""Vertical translation for the aspect list group"""
|
|
53
|
+
|
|
54
|
+
title_translate_y: int
|
|
55
|
+
"""Vertical translation for the title and top-left text block"""
|
|
56
|
+
|
|
57
|
+
elements_translate_y: int
|
|
58
|
+
"""Vertical translation for the elements summary block"""
|
|
59
|
+
|
|
60
|
+
qualities_translate_y: int
|
|
61
|
+
"""Vertical translation for the qualities summary block"""
|
|
62
|
+
|
|
63
|
+
lunar_phase_translate_y: int
|
|
64
|
+
"""Vertical translation for the lunar phase block"""
|
|
65
|
+
|
|
66
|
+
bottom_left_translate_y: int
|
|
67
|
+
"""Vertical translation for the bottom-left info block"""
|
|
68
|
+
|
|
69
|
+
chart_height: float
|
|
70
|
+
"""Chart height in pixels"""
|
|
71
|
+
|
|
72
|
+
chart_width: float
|
|
73
|
+
"""Chart width in pixels"""
|
|
74
|
+
|
|
75
|
+
viewbox: str
|
|
76
|
+
"""SVG viewBox attribute value"""
|
|
77
|
+
|
|
78
|
+
stringTitle: str
|
|
79
|
+
"""Chart title string"""
|
|
80
|
+
|
|
81
|
+
top_left_0: str
|
|
82
|
+
"""Top left panel content - line 0"""
|
|
83
|
+
|
|
84
|
+
bottom_left_0: str
|
|
85
|
+
"""Bottom left panel content - line 0"""
|
|
86
|
+
|
|
87
|
+
bottom_left_1: str
|
|
88
|
+
"""Bottom left panel content - line 1"""
|
|
89
|
+
|
|
90
|
+
bottom_left_2: str
|
|
91
|
+
"""Bottom left panel content - line 2"""
|
|
92
|
+
|
|
93
|
+
bottom_left_3: str
|
|
94
|
+
"""Bottom left panel content - line 3"""
|
|
95
|
+
|
|
96
|
+
bottom_left_4: str
|
|
97
|
+
"""Bottom left panel content - line 4"""
|
|
98
|
+
|
|
99
|
+
top_left_1: str
|
|
100
|
+
"""Top left panel content - line 1"""
|
|
101
|
+
|
|
102
|
+
top_left_2: str
|
|
103
|
+
"""Top left panel content - line 2"""
|
|
104
|
+
|
|
105
|
+
top_left_3: str
|
|
106
|
+
"""Top left panel content - line 3"""
|
|
107
|
+
|
|
108
|
+
top_left_4: str
|
|
109
|
+
"""Top left panel content - line 4"""
|
|
110
|
+
|
|
111
|
+
top_left_5: str
|
|
112
|
+
"""Top left panel content - line 5"""
|
|
113
|
+
|
|
114
|
+
paper_color_0: str
|
|
115
|
+
"""Font color"""
|
|
116
|
+
|
|
117
|
+
background_color: str
|
|
118
|
+
"""Dynamic background color (can be transparent or theme color)"""
|
|
119
|
+
|
|
120
|
+
planets_color_0: str
|
|
121
|
+
"""Planet color for Sun (index 0)"""
|
|
122
|
+
|
|
123
|
+
planets_color_1: str
|
|
124
|
+
"""Planet color for Moon (index 1)"""
|
|
125
|
+
|
|
126
|
+
planets_color_2: str
|
|
127
|
+
"""Planet color for Mercury (index 2)"""
|
|
128
|
+
|
|
129
|
+
planets_color_3: str
|
|
130
|
+
"""Planet color for Venus (index 3)"""
|
|
131
|
+
|
|
132
|
+
planets_color_4: str
|
|
133
|
+
"""Planet color for Mars (index 4)"""
|
|
134
|
+
|
|
135
|
+
planets_color_5: str
|
|
136
|
+
"""Planet color for Jupiter (index 5)"""
|
|
137
|
+
|
|
138
|
+
planets_color_6: str
|
|
139
|
+
"""Planet color for Saturn (index 6)"""
|
|
140
|
+
|
|
141
|
+
planets_color_7: str
|
|
142
|
+
"""Planet color for Uranus (index 7)"""
|
|
143
|
+
|
|
144
|
+
planets_color_8: str
|
|
145
|
+
"""Planet color for Neptune (index 8)"""
|
|
146
|
+
|
|
147
|
+
planets_color_9: str
|
|
148
|
+
"""Planet color for Pluto (index 9)"""
|
|
149
|
+
|
|
150
|
+
planets_color_10: str
|
|
151
|
+
"""Planet color for North Node (index 10)"""
|
|
152
|
+
|
|
153
|
+
planets_color_11: str
|
|
154
|
+
"""Planet color for South Node (index 11)"""
|
|
155
|
+
|
|
156
|
+
planets_color_12: str
|
|
157
|
+
"""Planet color for Chiron (index 12)"""
|
|
158
|
+
|
|
159
|
+
planets_color_13: str
|
|
160
|
+
"""Planet color for Ceres (index 13)"""
|
|
161
|
+
|
|
162
|
+
planets_color_14: str
|
|
163
|
+
"""Planet color for Pallas (index 14)"""
|
|
164
|
+
|
|
165
|
+
planets_color_15: str
|
|
166
|
+
"""Planet color for Juno (index 15)"""
|
|
167
|
+
|
|
168
|
+
planets_color_16: str
|
|
169
|
+
"""Planet color for Vesta (index 16)"""
|
|
170
|
+
|
|
171
|
+
planets_color_17: str
|
|
172
|
+
"""Planet color for Pars Fortunae (index 17)"""
|
|
173
|
+
|
|
174
|
+
planets_color_18: str
|
|
175
|
+
"""Planet color for Draconic Moon (index 18)"""
|
|
176
|
+
|
|
177
|
+
planets_color_19: str
|
|
178
|
+
"""Planet color for additional celestial point (index 19)"""
|
|
179
|
+
|
|
180
|
+
planets_color_20: str
|
|
181
|
+
"""Planet color for celestial point (index 20)"""
|
|
182
|
+
|
|
183
|
+
planets_color_21: str
|
|
184
|
+
"""Planet color for celestial point (index 21)"""
|
|
185
|
+
|
|
186
|
+
planets_color_22: str
|
|
187
|
+
"""Planet color for celestial point (index 22)"""
|
|
188
|
+
|
|
189
|
+
planets_color_23: str
|
|
190
|
+
"""Planet color for celestial point (index 23)"""
|
|
191
|
+
|
|
192
|
+
planets_color_24: str
|
|
193
|
+
"""Planet color for celestial point (index 24)"""
|
|
194
|
+
|
|
195
|
+
planets_color_25: str
|
|
196
|
+
"""Planet color for celestial point (index 25)"""
|
|
197
|
+
|
|
198
|
+
planets_color_26: str
|
|
199
|
+
"""Planet color for celestial point (index 26)"""
|
|
200
|
+
|
|
201
|
+
planets_color_27: str
|
|
202
|
+
"""Planet color for celestial point (index 27)"""
|
|
203
|
+
|
|
204
|
+
planets_color_28: str
|
|
205
|
+
"""Planet color for celestial point (index 28)"""
|
|
206
|
+
|
|
207
|
+
planets_color_29: str
|
|
208
|
+
"""Planet color for celestial point (index 29)"""
|
|
209
|
+
|
|
210
|
+
planets_color_30: str
|
|
211
|
+
"""Planet color for celestial point (index 30)"""
|
|
212
|
+
|
|
213
|
+
planets_color_31: str
|
|
214
|
+
"""Planet color for celestial point (index 31)"""
|
|
215
|
+
|
|
216
|
+
planets_color_32: str
|
|
217
|
+
"""Planet color for celestial point (index 32)"""
|
|
218
|
+
|
|
219
|
+
planets_color_33: str
|
|
220
|
+
"""Planet color for celestial point (index 33)"""
|
|
221
|
+
|
|
222
|
+
planets_color_34: str
|
|
223
|
+
"""Planet color for celestial point (index 34)"""
|
|
224
|
+
|
|
225
|
+
planets_color_35: str
|
|
226
|
+
"""Planet color for celestial point (index 35)"""
|
|
227
|
+
|
|
228
|
+
planets_color_36: str
|
|
229
|
+
"""Planet color for celestial point (index 36)"""
|
|
230
|
+
|
|
231
|
+
planets_color_37: str
|
|
232
|
+
"""Planet color for celestial point (index 37)"""
|
|
233
|
+
|
|
234
|
+
planets_color_38: str
|
|
235
|
+
"""Planet color for celestial point (index 38)"""
|
|
236
|
+
|
|
237
|
+
planets_color_39: str
|
|
238
|
+
"""Planet color for celestial point (index 39)"""
|
|
239
|
+
|
|
240
|
+
planets_color_40: str
|
|
241
|
+
"""Planet color for celestial point (index 40)"""
|
|
242
|
+
|
|
243
|
+
planets_color_41: str
|
|
244
|
+
"""Planet color for celestial point (index 41)"""
|
|
245
|
+
|
|
246
|
+
zodiac_color_0: str
|
|
247
|
+
"""Zodiac color for Aries (index 0)"""
|
|
248
|
+
|
|
249
|
+
zodiac_color_1: str
|
|
250
|
+
"""Zodiac color for Taurus (index 1)"""
|
|
251
|
+
|
|
252
|
+
zodiac_color_2: str
|
|
253
|
+
"""Zodiac color for Gemini (index 2)"""
|
|
254
|
+
|
|
255
|
+
zodiac_color_3: str
|
|
256
|
+
"""Zodiac color for Cancer (index 3)"""
|
|
257
|
+
|
|
258
|
+
zodiac_color_4: str
|
|
259
|
+
"""Zodiac color for Leo (index 4)"""
|
|
260
|
+
|
|
261
|
+
zodiac_color_5: str
|
|
262
|
+
"""Zodiac color for Virgo (index 5)"""
|
|
263
|
+
|
|
264
|
+
zodiac_color_6: str
|
|
265
|
+
"""Zodiac color for Libra (index 6)"""
|
|
266
|
+
|
|
267
|
+
zodiac_color_7: str
|
|
268
|
+
"""Zodiac color for Scorpio (index 7)"""
|
|
269
|
+
|
|
270
|
+
zodiac_color_8: str
|
|
271
|
+
"""Zodiac color for Sagittarius (index 8)"""
|
|
272
|
+
|
|
273
|
+
zodiac_color_9: str
|
|
274
|
+
"""Zodiac color for Capricorn (index 9)"""
|
|
275
|
+
|
|
276
|
+
zodiac_color_10: str
|
|
277
|
+
"""Zodiac color for Aquarius (index 10)"""
|
|
278
|
+
|
|
279
|
+
zodiac_color_11: str
|
|
280
|
+
"""Zodiac color for Pisces (index 11)"""
|
|
281
|
+
|
|
282
|
+
orb_color_0: str
|
|
283
|
+
"""Aspect color for conjunction (0°)"""
|
|
284
|
+
|
|
285
|
+
orb_color_30: str
|
|
286
|
+
"""Aspect color for semi-sextile (30°)"""
|
|
287
|
+
|
|
288
|
+
orb_color_45: str
|
|
289
|
+
"""Aspect color for semi-square (45°)"""
|
|
290
|
+
|
|
291
|
+
orb_color_60: str
|
|
292
|
+
"""Aspect color for sextile (60°)"""
|
|
293
|
+
|
|
294
|
+
orb_color_72: str
|
|
295
|
+
"""Aspect color for quintile (72°)"""
|
|
296
|
+
|
|
297
|
+
orb_color_90: str
|
|
298
|
+
"""Aspect color for square (90°)"""
|
|
299
|
+
|
|
300
|
+
orb_color_120: str
|
|
301
|
+
"""Aspect color for trine (120°)"""
|
|
302
|
+
|
|
303
|
+
orb_color_135: str
|
|
304
|
+
"""Aspect color for sesqui-quadrate (135°)"""
|
|
305
|
+
|
|
306
|
+
orb_color_144: str
|
|
307
|
+
"""Aspect color for bi-quintile (144°)"""
|
|
308
|
+
|
|
309
|
+
orb_color_150: str
|
|
310
|
+
"""Aspect color for quincunx (150°)"""
|
|
311
|
+
|
|
312
|
+
orb_color_180: str
|
|
313
|
+
"""Aspect color for opposition (180°)"""
|
|
314
|
+
|
|
315
|
+
makeZodiac: str
|
|
316
|
+
"""SVG markup for zodiac signs"""
|
|
317
|
+
|
|
318
|
+
makeHouses: str
|
|
319
|
+
"""SVG markup for houses"""
|
|
320
|
+
|
|
321
|
+
makePlanets: str
|
|
322
|
+
"""SVG markup for planets"""
|
|
323
|
+
|
|
324
|
+
makeMainPlanetGrid: str
|
|
325
|
+
"""SVG markup for main planet grid"""
|
|
326
|
+
|
|
327
|
+
makeSecondaryPlanetGrid: str
|
|
328
|
+
"""SVG markup for secondary planet grid"""
|
|
329
|
+
|
|
330
|
+
makeMainHousesGrid: str
|
|
331
|
+
"""SVG markup for main houses grid"""
|
|
332
|
+
|
|
333
|
+
makeSecondaryHousesGrid: str
|
|
334
|
+
"""SVG markup for secondary houses grid"""
|
|
335
|
+
|
|
336
|
+
color_style_tag: str
|
|
337
|
+
"""CSS color style tag"""
|
|
338
|
+
|
|
339
|
+
elements_string: str
|
|
340
|
+
"""Elements header string"""
|
|
341
|
+
|
|
342
|
+
fire_string: str
|
|
343
|
+
"""Fire element string with percentage"""
|
|
344
|
+
|
|
345
|
+
earth_string: str
|
|
346
|
+
"""Earth element string with percentage"""
|
|
347
|
+
|
|
348
|
+
air_string: str
|
|
349
|
+
"""Air element string with percentage"""
|
|
350
|
+
|
|
351
|
+
water_string: str
|
|
352
|
+
"""Water element string with percentage"""
|
|
353
|
+
|
|
354
|
+
qualities_string: str
|
|
355
|
+
"""Qualities header string"""
|
|
356
|
+
|
|
357
|
+
cardinal_string: str
|
|
358
|
+
"""Cardinal quality string with percentage"""
|
|
359
|
+
|
|
360
|
+
fixed_string: str
|
|
361
|
+
"""Fixed quality string with percentage"""
|
|
362
|
+
|
|
363
|
+
mutable_string: str
|
|
364
|
+
"""Mutable quality string with percentage"""
|
|
365
|
+
|
|
366
|
+
makeLunarPhase: str
|
|
367
|
+
"""SVG markup for lunar phase"""
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
This is part of Kerykeion (C) 2025 Giacomo Battaglia
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class KerykeionException(Exception):
|
|
8
|
+
"""
|
|
9
|
+
Custom Kerykeion Exception
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, message):
|
|
13
|
+
"""
|
|
14
|
+
Initialize a new KerykeionException.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
message: The error message to be displayed.
|
|
18
|
+
"""
|
|
19
|
+
# Call the base class constructor with the parameters it needs
|
|
20
|
+
super().__init__(message)
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
This is part of Kerykeion (C) 2025 Giacomo Battaglia
|
|
4
|
+
"""
|
|
5
|
+
from typing import Literal
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
ZodiacType = Literal["Tropical", "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
|
+
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
|
+
|
|
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"]
|
|
25
|
+
"""Literal type for Houses"""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
HouseNumbers = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
|
|
29
|
+
"""Literal type for House Numbers, starting from the First House (1) to the Twelfth House (12)"""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
AstrologicalPoint = Literal[
|
|
33
|
+
# Main Planets
|
|
34
|
+
"Sun", "Moon", "Mercury", "Venus", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto",
|
|
35
|
+
|
|
36
|
+
# Lunar Nodes
|
|
37
|
+
"Mean_North_Lunar_Node", "True_North_Lunar_Node", "Mean_South_Lunar_Node", "True_South_Lunar_Node",
|
|
38
|
+
|
|
39
|
+
# Special Points
|
|
40
|
+
"Chiron", "Mean_Lilith", "True_Lilith", "Earth", "Pholus",
|
|
41
|
+
|
|
42
|
+
# Asteroids
|
|
43
|
+
"Ceres", "Pallas", "Juno", "Vesta",
|
|
44
|
+
|
|
45
|
+
# Trans-Neptunian Objects
|
|
46
|
+
"Eris", "Sedna", "Haumea", "Makemake", "Ixion", "Orcus", "Quaoar",
|
|
47
|
+
|
|
48
|
+
# Fixed Stars
|
|
49
|
+
"Regulus", "Spica",
|
|
50
|
+
|
|
51
|
+
# Arabic Parts
|
|
52
|
+
"Pars_Fortunae", "Pars_Spiritus", "Pars_Amoris", "Pars_Fidei",
|
|
53
|
+
|
|
54
|
+
# Special Points
|
|
55
|
+
"Vertex", "Anti_Vertex",
|
|
56
|
+
|
|
57
|
+
# Axial Cusps
|
|
58
|
+
"Ascendant", "Medium_Coeli", "Descendant", "Imum_Coeli",
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
"""Literal type for Axial Cusps"""
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
Element = Literal["Air", "Fire", "Earth", "Water"]
|
|
65
|
+
"""Literal type for Elements"""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
Quality = Literal["Cardinal", "Fixed", "Mutable"]
|
|
69
|
+
"""Literal type for Qualities"""
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
ChartType = Literal["Natal", "Synastry", "Transit", "Composite", "DualReturnChart", "SingleReturnChart"]
|
|
73
|
+
"""Literal type for Chart Types"""
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
PointType = Literal["AstrologicalPoint", "House"]
|
|
77
|
+
"""Literal type for Point Types"""
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
LunarPhaseEmoji = Literal["🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"]
|
|
81
|
+
"""Literal type for Lunar Phases Emoji"""
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
LunarPhaseName = Literal["New Moon", "Waxing Crescent", "First Quarter", "Waxing Gibbous", "Full Moon", "Waning Gibbous", "Last Quarter", "Waning Crescent"]
|
|
85
|
+
"""Literal type for Lunar Phases Name"""
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
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"]
|
|
89
|
+
"""Literal type for Sidereal Modes, as known as Ayanamsa"""
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
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"]
|
|
93
|
+
"""
|
|
94
|
+
Literal type for Houses Systems:
|
|
95
|
+
|
|
96
|
+
A = equal
|
|
97
|
+
B = Alcabitius
|
|
98
|
+
C = Campanus
|
|
99
|
+
D = equal (MC)
|
|
100
|
+
F = Carter poli-equ.
|
|
101
|
+
H = horizon/azimut
|
|
102
|
+
I = Sunshine
|
|
103
|
+
i = Sunshine/alt.
|
|
104
|
+
K = Koch
|
|
105
|
+
L = Pullen SD
|
|
106
|
+
M = Morinus
|
|
107
|
+
N = equal/1=Aries
|
|
108
|
+
O = Porphyry
|
|
109
|
+
P = Placidus
|
|
110
|
+
Q = Pullen SR
|
|
111
|
+
R = Regiomontanus
|
|
112
|
+
S = Sripati
|
|
113
|
+
T = Polich/Page
|
|
114
|
+
U = Krusinski-Pisa-Goelzer
|
|
115
|
+
V = equal/Vehlow
|
|
116
|
+
W = equal/whole sign
|
|
117
|
+
X = axial rotation system/Meridian houses
|
|
118
|
+
Y = APC houses
|
|
119
|
+
|
|
120
|
+
Usually the standard is Placidus (P)
|
|
121
|
+
"""
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
PerspectiveType = Literal["Apparent Geocentric", "Heliocentric", "Topocentric", "True Geocentric"]
|
|
125
|
+
"""
|
|
126
|
+
Literal type for perspective types.
|
|
127
|
+
- "Apparent Geocentric": Earth-centered, apparent positions.
|
|
128
|
+
- "Heliocentric": Sun-centered.
|
|
129
|
+
- "Topocentric": Observer's location on Earth's surface.
|
|
130
|
+
- "True Geocentric": Earth-centered, true positions.
|
|
131
|
+
|
|
132
|
+
Usually the standard is "Apparent Geocentric"
|
|
133
|
+
"""
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
SignsEmoji = Literal["♈️", "♉️", "♊️", "♋️", "♌️", "♍️", "♎️", "♏️", "♐️", "♑️", "♒️", "♓️"]
|
|
137
|
+
"""Literal type for Zodiac Signs Emoji"""
|
|
138
|
+
|
|
139
|
+
KerykeionChartTheme = Literal["light", "dark", "dark-high-contrast", "classic", "strawberry", "black-and-white"]
|
|
140
|
+
"""Literal type for Kerykeion Chart Themes"""
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
KerykeionChartLanguage = Literal["EN", "FR", "PT", "IT", "CN", "ES", "RU", "TR", "DE", "HI"]
|
|
144
|
+
"""Literal type for Kerykeion Chart Languages"""
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
RelationshipScoreDescription = Literal["Minimal", "Medium", "Important", "Very Important", "Exceptional", "Rare Exceptional"]
|
|
148
|
+
"""Literal type for Relationship Score Description"""
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
CompositeChartType = Literal["Midpoint"]
|
|
152
|
+
"""Literal type for Composite Chart Types"""
|
|
153
|
+
|
|
154
|
+
AspectName = Literal[
|
|
155
|
+
"conjunction",
|
|
156
|
+
"semi-sextile",
|
|
157
|
+
"semi-square",
|
|
158
|
+
"sextile",
|
|
159
|
+
"quintile",
|
|
160
|
+
"square",
|
|
161
|
+
"trine",
|
|
162
|
+
"sesquiquadrate",
|
|
163
|
+
"biquintile",
|
|
164
|
+
"quincunx",
|
|
165
|
+
"opposition"
|
|
166
|
+
]
|
|
167
|
+
"""Literal type for all the available aspects names"""
|
|
168
|
+
|
|
169
|
+
ReturnType = Literal["Lunar", "Solar"]
|
|
170
|
+
"""Literal type for Return Types"""
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
# ---------------------------------------------------------------------------
|
|
174
|
+
# Deprecated aliases for backward compatibility with Kerykeion v4.x
|
|
175
|
+
# ---------------------------------------------------------------------------
|
|
176
|
+
# These will be removed in v6.0 - migrate to AstrologicalPoint
|
|
177
|
+
Planet = AstrologicalPoint
|
|
178
|
+
"""DEPRECATED: Use AstrologicalPoint instead. This alias will be removed in v6.0."""
|
|
179
|
+
|
|
180
|
+
AxialCusps = AstrologicalPoint
|
|
181
|
+
"""DEPRECATED: Use AstrologicalPoint instead. This alias will be removed in v6.0."""
|