kerykeion 4.26.2__py3-none-any.whl → 5.0.0a1__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 +8 -5
- kerykeion/aspects/aspects_utils.py +14 -8
- kerykeion/aspects/natal_aspects.py +26 -17
- kerykeion/aspects/synastry_aspects.py +32 -15
- kerykeion/aspects/transits_time_range.py +2 -2
- kerykeion/astrological_subject_factory.py +1132 -0
- kerykeion/charts/charts_utils.py +583 -85
- kerykeion/charts/draw_planets.py +9 -8
- kerykeion/charts/draw_planets_v2.py +639 -0
- kerykeion/charts/kerykeion_chart_svg.py +1289 -592
- kerykeion/charts/templates/chart.xml +178 -79
- kerykeion/charts/templates/wheel_only.xml +13 -12
- kerykeion/charts/themes/classic.css +91 -76
- kerykeion/charts/themes/dark-high-contrast.css +129 -107
- kerykeion/charts/themes/dark.css +130 -107
- kerykeion/charts/themes/light.css +130 -103
- kerykeion/charts/themes/strawberry.css +143 -0
- kerykeion/composite_subject_factory.py +26 -43
- kerykeion/ephemeris_data.py +6 -10
- kerykeion/house_comparison/__init__.py +3 -0
- kerykeion/house_comparison/house_comparison_factory.py +70 -0
- kerykeion/house_comparison/house_comparison_models.py +38 -0
- kerykeion/house_comparison/house_comparison_utils.py +98 -0
- kerykeion/kr_types/chart_types.py +9 -3
- kerykeion/kr_types/kr_literals.py +34 -6
- kerykeion/kr_types/kr_models.py +122 -160
- kerykeion/kr_types/settings_models.py +107 -143
- kerykeion/planetary_return_factory.py +299 -0
- kerykeion/relationship_score/relationship_score.py +3 -3
- kerykeion/relationship_score/relationship_score_factory.py +9 -12
- kerykeion/report.py +4 -4
- kerykeion/settings/config_constants.py +35 -6
- kerykeion/settings/kerykeion_settings.py +1 -0
- kerykeion/settings/kr.config.json +1301 -1255
- kerykeion/settings/legacy/__init__.py +0 -0
- kerykeion/settings/legacy/legacy_celestial_points_settings.py +299 -0
- kerykeion/settings/legacy/legacy_chart_aspects_settings.py +71 -0
- kerykeion/settings/legacy/legacy_color_settings.py +42 -0
- kerykeion/transits_time_range.py +13 -9
- kerykeion/utilities.py +228 -31
- {kerykeion-4.26.2.dist-info → kerykeion-5.0.0a1.dist-info}/METADATA +3 -3
- kerykeion-5.0.0a1.dist-info/RECORD +56 -0
- {kerykeion-4.26.2.dist-info → kerykeion-5.0.0a1.dist-info}/WHEEL +1 -1
- kerykeion/astrological_subject.py +0 -841
- kerykeion-4.26.2.dist-info/LICENSE +0 -661
- kerykeion-4.26.2.dist-info/RECORD +0 -46
- /LICENSE → /kerykeion-5.0.0a1.dist-info/LICENSE +0 -0
- {kerykeion-4.26.2.dist-info → kerykeion-5.0.0a1.dist-info}/entry_points.txt +0 -0
|
@@ -1,117 +1,144 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
/* -------- */
|
|
3
|
+
/* General */
|
|
4
|
+
/* ------- */
|
|
5
|
+
--kerykeion-color-black: #000000;
|
|
6
|
+
--kerykeion-color-white: #ffffff;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
--kerykeion-color-neutral-content: #333c4d;
|
|
9
|
+
--kerykeion-color-base-content: #333c4d;
|
|
10
|
+
--kerykeion-color-primary: #65cc8a;
|
|
11
|
+
--kerykeion-color-secondary: #367bfb;
|
|
12
|
+
--kerykeion-color-accent: #f68067;
|
|
13
|
+
--kerykeion-color-neutral: #333c4d;
|
|
14
|
+
--kerykeion-color-base-100: #ffffff;
|
|
15
|
+
--kerykeion-color-info: #00b5ff;
|
|
16
|
+
--kerykeion-color-info-content: #000000;
|
|
17
|
+
--kerykeion-color-success: #00a96e;
|
|
18
|
+
--kerykeion-color-warning: #ffbe00;
|
|
19
|
+
--kerykeion-color-error: #ff5761;
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
/* Zodiac */
|
|
22
|
+
--kerykeion-color-base-200: #d1d1d1;
|
|
23
|
+
--kerykeion-color-base-300: rgb(113 113 122);
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
/* ----------- */
|
|
26
|
+
/* Chart Color */
|
|
27
|
+
/* ----------- */
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
/* Main colors */
|
|
30
|
+
--kerykeion-chart-color-paper-0: var(--kerykeion-color-neutral-content);
|
|
31
|
+
--kerykeion-chart-color-paper-1: var(--kerykeion-color-base-100);
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
33
|
+
/* Zodiac Sign Sectors */
|
|
34
|
+
--kerykeion-chart-color-zodiac-bg-0: var(--kerykeion-color-base-200);
|
|
35
|
+
--kerykeion-chart-color-zodiac-bg-1: var(--kerykeion-color-base-300);
|
|
36
|
+
--kerykeion-chart-color-zodiac-bg-2: var(--kerykeion-color-base-200);
|
|
37
|
+
--kerykeion-chart-color-zodiac-bg-3: var(--kerykeion-color-base-300);
|
|
38
|
+
--kerykeion-chart-color-zodiac-bg-4: var(--kerykeion-color-base-200);
|
|
39
|
+
--kerykeion-chart-color-zodiac-bg-5: var(--kerykeion-color-base-300);
|
|
40
|
+
--kerykeion-chart-color-zodiac-bg-6: var(--kerykeion-color-base-200);
|
|
41
|
+
--kerykeion-chart-color-zodiac-bg-7: var(--kerykeion-color-base-300);
|
|
42
|
+
--kerykeion-chart-color-zodiac-bg-8: var(--kerykeion-color-base-200);
|
|
43
|
+
--kerykeion-chart-color-zodiac-bg-9: var(--kerykeion-color-base-300);
|
|
44
|
+
--kerykeion-chart-color-zodiac-bg-10: var(--kerykeion-color-base-200);
|
|
45
|
+
--kerykeion-chart-color-zodiac-bg-11: var(--kerykeion-color-base-300);
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
/* Zodiac Sign Rings */
|
|
48
|
+
--kerykeion-chart-color-zodiac-radix-ring-0: var(--kerykeion-color-neutral);
|
|
49
|
+
--kerykeion-chart-color-zodiac-radix-ring-1: var(--kerykeion-color-neutral);
|
|
50
|
+
--kerykeion-chart-color-zodiac-radix-ring-2: var(--kerykeion-color-neutral);
|
|
51
|
+
--kerykeion-chart-color-zodiac-transit-ring-0: var(
|
|
52
|
+
--kerykeion-color-neutral
|
|
53
|
+
);
|
|
54
|
+
--kerykeion-chart-color-zodiac-transit-ring-1: var(
|
|
55
|
+
--kerykeion-color-neutral
|
|
56
|
+
);
|
|
57
|
+
--kerykeion-chart-color-zodiac-transit-ring-2: var(
|
|
58
|
+
--kerykeion-color-neutral
|
|
59
|
+
);
|
|
60
|
+
--kerykeion-chart-color-zodiac-transit-ring-3: var(
|
|
61
|
+
--kerykeion-color-neutral
|
|
62
|
+
);
|
|
63
|
+
--kerykeion-chart-color-houses-radix-line: var(
|
|
64
|
+
--kerykeion-color-base-content
|
|
65
|
+
);
|
|
66
|
+
--kerykeion-chart-color-houses-transit-line: var(
|
|
67
|
+
--kerykeion-color-base-content
|
|
68
|
+
);
|
|
57
69
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
/* Aspects */
|
|
71
|
+
--kerykeion-chart-color-conjunction: var(--kerykeion-color-success);
|
|
72
|
+
--kerykeion-chart-color-semi-sextile: var(--kerykeion-color-success);
|
|
73
|
+
--kerykeion-chart-color-semi-square: var(--kerykeion-color-error);
|
|
74
|
+
--kerykeion-chart-color-sextile: var(--kerykeion-color-success);
|
|
75
|
+
--kerykeion-chart-color-quintile: var(--kerykeion-color-secondary);
|
|
76
|
+
--kerykeion-chart-color-square: var(--kerykeion-color-error);
|
|
77
|
+
--kerykeion-chart-color-trine: var(--kerykeion-color-success);
|
|
78
|
+
--kerykeion-chart-color-sesquiquadrate: var(--kerykeion-color-error);
|
|
79
|
+
--kerykeion-chart-color-biquintile: var(--kerykeion-color-secondary);
|
|
80
|
+
--kerykeion-chart-color-quincunx: var(--kerykeion-color-secondary);
|
|
81
|
+
--kerykeion-chart-color-opposition: var(--kerykeion-color-error);
|
|
70
82
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
83
|
+
/* Planets */
|
|
84
|
+
--kerykeion-chart-color-sun: var(--kerykeion-color-warning);
|
|
85
|
+
--kerykeion-chart-color-moon: var(--kerykeion-color-secondary);
|
|
86
|
+
--kerykeion-chart-color-mercury: var(--kerykeion-color-primary);
|
|
87
|
+
--kerykeion-chart-color-venus: var(--kerykeion-color-accent);
|
|
88
|
+
--kerykeion-chart-color-mars: var(--kerykeion-color-warning);
|
|
89
|
+
--kerykeion-chart-color-jupiter: var(--kerykeion-color-primary);
|
|
90
|
+
--kerykeion-chart-color-saturn: var(--kerykeion-color-secondary);
|
|
91
|
+
--kerykeion-chart-color-uranus: var(--kerykeion-color-accent);
|
|
92
|
+
--kerykeion-chart-color-neptune: var(--kerykeion-color-primary);
|
|
93
|
+
--kerykeion-chart-color-pluto: var(--kerykeion-color-secondary);
|
|
94
|
+
--kerykeion-chart-color-true-node: var(--kerykeion-color-warning);
|
|
95
|
+
--kerykeion-chart-color-mean-node: var(--kerykeion-color-warning);
|
|
96
|
+
--kerykeion-chart-color-chiron: var(--kerykeion-color-secondary);
|
|
97
|
+
--kerykeion-chart-color-first-house: var(--kerykeion-color-warning);
|
|
98
|
+
--kerykeion-chart-color-tenth-house: var(--kerykeion-color-warning);
|
|
99
|
+
--kerykeion-chart-color-seventh-house: var(--kerykeion-color-warning);
|
|
100
|
+
--kerykeion-chart-color-fourth-house: var(--kerykeion-color-warning);
|
|
101
|
+
--kerykeion-chart-color-mean-lilith: var(--kerykeion-color-secondary);
|
|
102
|
+
--kerykeion-chart-color-true-lilith: var(--kerykeion-color-secondary);
|
|
103
|
+
--kerykeion-chart-color-ceres: var(--kerykeion-color-accent);
|
|
104
|
+
--kerykeion-chart-color-pallas: var(--kerykeion-color-primary);
|
|
105
|
+
--kerykeion-chart-color-juno: var(--kerykeion-color-accent);
|
|
106
|
+
--kerykeion-chart-color-vesta: var(--kerykeion-color-warning);
|
|
107
|
+
--kerykeion-chart-color-pars-fortunae: var(--kerykeion-color-success);
|
|
108
|
+
--kerykeion-chart-color-vertex: var(--kerykeion-color-secondary);
|
|
109
|
+
--kerykeion-chart-color-east-point: var(--kerykeion-color-primary);
|
|
110
|
+
--kerykeion-chart-color-eris: var(--kerykeion-color-error);
|
|
90
111
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
--kerykeion-chart-color-zodiac-icon-4: var(--kerykeion-color-accent);
|
|
97
|
-
--kerykeion-chart-color-zodiac-icon-5: var(--kerykeion-color-warning);
|
|
98
|
-
--kerykeion-chart-color-zodiac-icon-6: var(--kerykeion-color-primary);
|
|
99
|
-
--kerykeion-chart-color-zodiac-icon-7: var(--kerykeion-color-secondary);
|
|
100
|
-
--kerykeion-chart-color-zodiac-icon-8: var(--kerykeion-color-accent);
|
|
101
|
-
--kerykeion-chart-color-zodiac-icon-9: var(--kerykeion-color-warning);
|
|
102
|
-
--kerykeion-chart-color-zodiac-icon-10: var(--kerykeion-color-primary);
|
|
103
|
-
--kerykeion-chart-color-zodiac-icon-11: var(--kerykeion-color-secondary);
|
|
112
|
+
/* Arab Parts */
|
|
113
|
+
--kerykeion-chart-color-pars-spiritus: var(--kerykeion-color-success);
|
|
114
|
+
--kerykeion-chart-color-pars-amoris: var(--kerykeion-color-accent);
|
|
115
|
+
--kerykeion-chart-color-pars-fortunae: var(--kerykeion-color-success);
|
|
116
|
+
--kerykeion-chart-color-pars-fidei: var(--kerykeion-color-success);
|
|
104
117
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
118
|
+
/* Zodiac Signs */
|
|
119
|
+
--kerykeion-chart-color-zodiac-icon-0: var(--kerykeion-color-accent);
|
|
120
|
+
--kerykeion-chart-color-zodiac-icon-1: var(--kerykeion-color-warning);
|
|
121
|
+
--kerykeion-chart-color-zodiac-icon-2: var(--kerykeion-color-primary);
|
|
122
|
+
--kerykeion-chart-color-zodiac-icon-3: var(--kerykeion-color-secondary);
|
|
123
|
+
--kerykeion-chart-color-zodiac-icon-4: var(--kerykeion-color-accent);
|
|
124
|
+
--kerykeion-chart-color-zodiac-icon-5: var(--kerykeion-color-warning);
|
|
125
|
+
--kerykeion-chart-color-zodiac-icon-6: var(--kerykeion-color-primary);
|
|
126
|
+
--kerykeion-chart-color-zodiac-icon-7: var(--kerykeion-color-secondary);
|
|
127
|
+
--kerykeion-chart-color-zodiac-icon-8: var(--kerykeion-color-accent);
|
|
128
|
+
--kerykeion-chart-color-zodiac-icon-9: var(--kerykeion-color-warning);
|
|
129
|
+
--kerykeion-chart-color-zodiac-icon-10: var(--kerykeion-color-primary);
|
|
130
|
+
--kerykeion-chart-color-zodiac-icon-11: var(--kerykeion-color-secondary);
|
|
110
131
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
132
|
+
/* Elements Percentage */
|
|
133
|
+
--kerykeion-chart-color-air-percentage: var(--kerykeion-color-primary);
|
|
134
|
+
--kerykeion-chart-color-earth-percentage: var(--kerykeion-color-warning);
|
|
135
|
+
--kerykeion-chart-color-fire-percentage: var(--kerykeion-color-accent);
|
|
136
|
+
--kerykeion-chart-color-water-percentage: var(--kerykeion-color-secondary);
|
|
114
137
|
|
|
115
|
-
|
|
116
|
-
|
|
138
|
+
/* Aspects */
|
|
139
|
+
--kerykeion-chart-color-lunar-phase-0: var(--kerykeion-color-black);
|
|
140
|
+
--kerykeion-chart-color-lunar-phase-1: var(--kerykeion-color-white);
|
|
141
|
+
|
|
142
|
+
/* Houses Numbers */
|
|
143
|
+
--kerykeion-chart-color-house-number: var(--kerykeion-color-base-content);
|
|
117
144
|
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* -------- */
|
|
3
|
+
/* General */
|
|
4
|
+
/* ------- */
|
|
5
|
+
--kerykeion-color-black: #141012; /* quasi nero con traccia impercettibile di rosa */
|
|
6
|
+
--kerykeion-color-white: #fef5f9; /* rosa tenue */
|
|
7
|
+
--kerykeion-color-neutral-content: #5c2d41; /* oklch(25% 0.08 330) - rosa scuro */
|
|
8
|
+
--kerykeion-color-base-content: #5c2d41; /* stessa di neutral-content */
|
|
9
|
+
--kerykeion-color-primary: #d91aa6; /* oklch(55% 0.35 320) - rosa magenta vibrante */
|
|
10
|
+
--kerykeion-color-secondary: #ff1b6b; /* oklch(70% 0.35 340) - rosa fucsia brillante */
|
|
11
|
+
--kerykeion-color-accent: #ff4dd2; /* oklch(80% 0.3 330) - rosa elettrico */
|
|
12
|
+
--kerykeion-color-neutral: #3d1f2a; /* oklch(16% 0.05 330) - rosa scuro */
|
|
13
|
+
--kerykeion-color-base-100: #fef0f5; /* oklch(96% 0.03 330) - sfondo rosa chiaro */
|
|
14
|
+
--kerykeion-color-info: #e056f2; /* oklch(74% 0.3 310) - rosa-viola brillante */
|
|
15
|
+
--kerykeion-color-info-content: #6b2e5d; /* oklch(32% 0.12 310) */
|
|
16
|
+
--kerykeion-color-success: #4fdc9a; /* oklch(78% 0.18 130) - verde con base rosa */
|
|
17
|
+
--kerykeion-color-warning: #ff8a6c; /* oklch(80% 0.25 50) - arancione rosato */
|
|
18
|
+
--kerykeion-color-error: #ff4f9a; /* oklch(73% 0.28 340) - rosa error vibrante */
|
|
19
|
+
/* Zodiac */
|
|
20
|
+
--kerykeion-color-base-200: #fce8f1; /* oklch(93% 0.05 330) - rosa delicato evidente */
|
|
21
|
+
--kerykeion-color-base-300: #f5d1e3; /* rosa chiaro invece di grigio */
|
|
22
|
+
|
|
23
|
+
/* ----------- */
|
|
24
|
+
/* Chart Color */
|
|
25
|
+
/* ----------- */
|
|
26
|
+
|
|
27
|
+
/* Main colors */
|
|
28
|
+
--kerykeion-chart-color-paper-0: var(--kerykeion-color-neutral-content);
|
|
29
|
+
--kerykeion-chart-color-paper-1: var(--kerykeion-color-base-100);
|
|
30
|
+
|
|
31
|
+
/* Zodiac Sign Sectors */
|
|
32
|
+
--kerykeion-chart-color-zodiac-bg-0: var(--kerykeion-color-base-200);
|
|
33
|
+
--kerykeion-chart-color-zodiac-bg-1: var(--kerykeion-color-base-300);
|
|
34
|
+
--kerykeion-chart-color-zodiac-bg-2: var(--kerykeion-color-base-200);
|
|
35
|
+
--kerykeion-chart-color-zodiac-bg-3: var(--kerykeion-color-base-300);
|
|
36
|
+
--kerykeion-chart-color-zodiac-bg-4: var(--kerykeion-color-base-200);
|
|
37
|
+
--kerykeion-chart-color-zodiac-bg-5: var(--kerykeion-color-base-300);
|
|
38
|
+
--kerykeion-chart-color-zodiac-bg-6: var(--kerykeion-color-base-200);
|
|
39
|
+
--kerykeion-chart-color-zodiac-bg-7: var(--kerykeion-color-base-300);
|
|
40
|
+
--kerykeion-chart-color-zodiac-bg-8: var(--kerykeion-color-base-200);
|
|
41
|
+
--kerykeion-chart-color-zodiac-bg-9: var(--kerykeion-color-base-300);
|
|
42
|
+
--kerykeion-chart-color-zodiac-bg-10: var(--kerykeion-color-base-200);
|
|
43
|
+
--kerykeion-chart-color-zodiac-bg-11: var(--kerykeion-color-base-300);
|
|
44
|
+
|
|
45
|
+
/* Zodiac Sign Rings */
|
|
46
|
+
--kerykeion-chart-color-zodiac-radix-ring-0: var(--kerykeion-color-neutral);
|
|
47
|
+
--kerykeion-chart-color-zodiac-radix-ring-1: var(--kerykeion-color-neutral);
|
|
48
|
+
--kerykeion-chart-color-zodiac-radix-ring-2: var(--kerykeion-color-neutral);
|
|
49
|
+
--kerykeion-chart-color-zodiac-transit-ring-0: var(
|
|
50
|
+
--kerykeion-color-neutral
|
|
51
|
+
);
|
|
52
|
+
--kerykeion-chart-color-zodiac-transit-ring-1: var(
|
|
53
|
+
--kerykeion-color-neutral
|
|
54
|
+
);
|
|
55
|
+
--kerykeion-chart-color-zodiac-transit-ring-2: var(
|
|
56
|
+
--kerykeion-color-neutral
|
|
57
|
+
);
|
|
58
|
+
--kerykeion-chart-color-zodiac-transit-ring-3: var(
|
|
59
|
+
--kerykeion-color-neutral
|
|
60
|
+
);
|
|
61
|
+
--kerykeion-chart-color-houses-radix-line: var(
|
|
62
|
+
--kerykeion-color-base-content
|
|
63
|
+
);
|
|
64
|
+
--kerykeion-chart-color-houses-transit-line: var(
|
|
65
|
+
--kerykeion-color-base-content
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
/* Aspects */
|
|
69
|
+
--kerykeion-chart-color-conjunction: var(--kerykeion-color-success);
|
|
70
|
+
--kerykeion-chart-color-semi-sextile: var(--kerykeion-color-success);
|
|
71
|
+
--kerykeion-chart-color-semi-square: var(--kerykeion-color-error);
|
|
72
|
+
--kerykeion-chart-color-sextile: var(--kerykeion-color-success);
|
|
73
|
+
--kerykeion-chart-color-quintile: var(--kerykeion-color-secondary);
|
|
74
|
+
--kerykeion-chart-color-square: var(--kerykeion-color-error);
|
|
75
|
+
--kerykeion-chart-color-trine: var(--kerykeion-color-success);
|
|
76
|
+
--kerykeion-chart-color-sesquiquadrate: var(--kerykeion-color-error);
|
|
77
|
+
--kerykeion-chart-color-biquintile: var(--kerykeion-color-secondary);
|
|
78
|
+
--kerykeion-chart-color-quincunx: var(--kerykeion-color-secondary);
|
|
79
|
+
--kerykeion-chart-color-opposition: var(--kerykeion-color-error);
|
|
80
|
+
|
|
81
|
+
/* Planets */
|
|
82
|
+
--kerykeion-chart-color-sun: var(--kerykeion-color-warning);
|
|
83
|
+
--kerykeion-chart-color-moon: var(--kerykeion-color-secondary);
|
|
84
|
+
--kerykeion-chart-color-mercury: var(--kerykeion-color-primary);
|
|
85
|
+
--kerykeion-chart-color-venus: var(--kerykeion-color-accent);
|
|
86
|
+
--kerykeion-chart-color-mars: var(--kerykeion-color-warning);
|
|
87
|
+
--kerykeion-chart-color-jupiter: var(--kerykeion-color-primary);
|
|
88
|
+
--kerykeion-chart-color-saturn: var(--kerykeion-color-secondary);
|
|
89
|
+
--kerykeion-chart-color-uranus: var(--kerykeion-color-accent);
|
|
90
|
+
--kerykeion-chart-color-neptune: var(--kerykeion-color-primary);
|
|
91
|
+
--kerykeion-chart-color-pluto: var(--kerykeion-color-secondary);
|
|
92
|
+
--kerykeion-chart-color-true-node: var(--kerykeion-color-warning);
|
|
93
|
+
--kerykeion-chart-color-mean-node: var(--kerykeion-color-warning);
|
|
94
|
+
--kerykeion-chart-color-chiron: var(--kerykeion-color-secondary);
|
|
95
|
+
--kerykeion-chart-color-first-house: var(--kerykeion-color-warning);
|
|
96
|
+
--kerykeion-chart-color-tenth-house: var(--kerykeion-color-warning);
|
|
97
|
+
--kerykeion-chart-color-seventh-house: var(--kerykeion-color-warning);
|
|
98
|
+
--kerykeion-chart-color-fourth-house: var(--kerykeion-color-warning);
|
|
99
|
+
--kerykeion-chart-color-mean-lilith: var(--kerykeion-color-secondary);
|
|
100
|
+
--kerykeion-chart-color-true-lilith: var(--kerykeion-color-secondary);
|
|
101
|
+
--kerykeion-chart-color-ceres: var(--kerykeion-color-accent);
|
|
102
|
+
--kerykeion-chart-color-pallas: var(--kerykeion-color-primary);
|
|
103
|
+
--kerykeion-chart-color-juno: var(--kerykeion-color-accent);
|
|
104
|
+
--kerykeion-chart-color-vesta: var(--kerykeion-color-warning);
|
|
105
|
+
--kerykeion-chart-color-pars-fortunae: var(--kerykeion-color-success);
|
|
106
|
+
--kerykeion-chart-color-vertex: var(--kerykeion-color-secondary);
|
|
107
|
+
--kerykeion-chart-color-east-point: var(--kerykeion-color-primary);
|
|
108
|
+
--kerykeion-chart-color-eris: var(--kerykeion-color-error);
|
|
109
|
+
--kerykeion-chart-color-earth: var(--kerykeion-color-warning);
|
|
110
|
+
|
|
111
|
+
/* Arab Parts */
|
|
112
|
+
--kerykeion-chart-color-pars-spiritus: var(--kerykeion-color-success);
|
|
113
|
+
--kerykeion-chart-color-pars-amoris: var(--kerykeion-color-accent);
|
|
114
|
+
--kerykeion-chart-color-pars-fortunae: var(--kerykeion-color-success);
|
|
115
|
+
--kerykeion-chart-color-pars-fidei: var(--kerykeion-color-success);
|
|
116
|
+
|
|
117
|
+
/* Zodiac Signs */
|
|
118
|
+
--kerykeion-chart-color-zodiac-icon-0: var(--kerykeion-color-accent);
|
|
119
|
+
--kerykeion-chart-color-zodiac-icon-1: var(--kerykeion-color-warning);
|
|
120
|
+
--kerykeion-chart-color-zodiac-icon-2: var(--kerykeion-color-primary);
|
|
121
|
+
--kerykeion-chart-color-zodiac-icon-3: var(--kerykeion-color-secondary);
|
|
122
|
+
--kerykeion-chart-color-zodiac-icon-4: var(--kerykeion-color-accent);
|
|
123
|
+
--kerykeion-chart-color-zodiac-icon-5: var(--kerykeion-color-warning);
|
|
124
|
+
--kerykeion-chart-color-zodiac-icon-6: var(--kerykeion-color-primary);
|
|
125
|
+
--kerykeion-chart-color-zodiac-icon-7: var(--kerykeion-color-secondary);
|
|
126
|
+
--kerykeion-chart-color-zodiac-icon-8: var(--kerykeion-color-accent);
|
|
127
|
+
--kerykeion-chart-color-zodiac-icon-9: var(--kerykeion-color-warning);
|
|
128
|
+
--kerykeion-chart-color-zodiac-icon-10: var(--kerykeion-color-primary);
|
|
129
|
+
--kerykeion-chart-color-zodiac-icon-11: var(--kerykeion-color-secondary);
|
|
130
|
+
|
|
131
|
+
/* Elements Percentage */
|
|
132
|
+
--kerykeion-chart-color-air-percentage: var(--kerykeion-color-primary);
|
|
133
|
+
--kerykeion-chart-color-earth-percentage: var(--kerykeion-color-warning);
|
|
134
|
+
--kerykeion-chart-color-fire-percentage: var(--kerykeion-color-accent);
|
|
135
|
+
--kerykeion-chart-color-water-percentage: var(--kerykeion-color-secondary);
|
|
136
|
+
|
|
137
|
+
/* Aspects */
|
|
138
|
+
--kerykeion-chart-color-lunar-phase-0: var(--kerykeion-color-black);
|
|
139
|
+
--kerykeion-chart-color-lunar-phase-1: var(--kerykeion-color-white);
|
|
140
|
+
|
|
141
|
+
/* Houses Numbers */
|
|
142
|
+
--kerykeion-chart-color-house-number: var(--kerykeion-color-base-content);
|
|
143
|
+
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
from typing import Union
|
|
1
|
+
from typing import Union, TYPE_CHECKING
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
from kerykeion import
|
|
3
|
+
# Fix the circular import by changing this import
|
|
4
|
+
from kerykeion.astrological_subject_factory import AstrologicalSubjectFactory
|
|
5
|
+
from kerykeion.kr_types.kerykeion_exception import KerykeionException
|
|
5
6
|
from kerykeion.kr_types.kr_models import CompositeSubjectModel, AstrologicalSubjectModel
|
|
6
|
-
from kerykeion.kr_types.kr_literals import ZodiacType, PerspectiveType, HousesSystemIdentifier, SiderealMode,
|
|
7
|
+
from kerykeion.kr_types.kr_literals import ZodiacType, PerspectiveType, HousesSystemIdentifier, SiderealMode, AstrologicalPoint, Houses, CompositeChartType
|
|
7
8
|
from kerykeion.utilities import (
|
|
8
9
|
get_kerykeion_point_from_degree,
|
|
9
10
|
get_planet_house,
|
|
10
11
|
circular_mean,
|
|
11
12
|
calculate_moon_phase,
|
|
12
|
-
circular_sort
|
|
13
|
+
circular_sort,
|
|
14
|
+
find_common_active_points
|
|
13
15
|
)
|
|
14
16
|
|
|
15
17
|
|
|
@@ -36,26 +38,24 @@ class CompositeSubjectFactory:
|
|
|
36
38
|
houses_system_identifier: HousesSystemIdentifier
|
|
37
39
|
houses_system_name: str
|
|
38
40
|
perspective_type: PerspectiveType
|
|
39
|
-
planets_names_list: list[Planet]
|
|
40
41
|
houses_names_list: list[Houses]
|
|
41
|
-
|
|
42
|
+
active_points: list[AstrologicalPoint]
|
|
42
43
|
|
|
43
44
|
def __init__(
|
|
44
45
|
self,
|
|
45
|
-
first_subject:
|
|
46
|
-
second_subject:
|
|
46
|
+
first_subject: AstrologicalSubjectModel,
|
|
47
|
+
second_subject: AstrologicalSubjectModel,
|
|
47
48
|
chart_name: Union[str, None] = None
|
|
48
49
|
):
|
|
49
50
|
self.model: Union[CompositeSubjectModel, None] = None
|
|
50
51
|
self.composite_chart_type = "Midpoint"
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
self.second_subject = second_subject
|
|
53
|
+
self.first_subject = first_subject
|
|
54
|
+
self.second_subject = second_subject
|
|
55
|
+
self.active_points = find_common_active_points(
|
|
56
|
+
first_subject.active_points,
|
|
57
|
+
second_subject.active_points
|
|
58
|
+
)
|
|
59
59
|
|
|
60
60
|
# Name
|
|
61
61
|
if chart_name is None:
|
|
@@ -93,17 +93,14 @@ class CompositeSubjectFactory:
|
|
|
93
93
|
self.perspective_type = first_subject.perspective_type
|
|
94
94
|
|
|
95
95
|
# Planets Names List
|
|
96
|
-
self.
|
|
97
|
-
for planet in first_subject.
|
|
98
|
-
if planet in second_subject.
|
|
99
|
-
self.
|
|
96
|
+
self.active_points = []
|
|
97
|
+
for planet in first_subject.active_points:
|
|
98
|
+
if planet in second_subject.active_points:
|
|
99
|
+
self.active_points.append(planet)
|
|
100
100
|
|
|
101
101
|
# Houses Names List
|
|
102
102
|
self.houses_names_list = self.first_subject.houses_names_list
|
|
103
103
|
|
|
104
|
-
# Axial Cusps Names List
|
|
105
|
-
self.axial_cusps_names_list = self.first_subject.axial_cusps_names_list
|
|
106
|
-
|
|
107
104
|
def __str__(self):
|
|
108
105
|
return f"Composite Chart Data for {self.name}"
|
|
109
106
|
|
|
@@ -152,8 +149,8 @@ class CompositeSubjectFactory:
|
|
|
152
149
|
|
|
153
150
|
# Planets
|
|
154
151
|
common_planets = []
|
|
155
|
-
for planet in self.first_subject.
|
|
156
|
-
if planet in self.second_subject.
|
|
152
|
+
for planet in self.first_subject.active_points:
|
|
153
|
+
if planet in self.second_subject.active_points:
|
|
157
154
|
common_planets.append(planet)
|
|
158
155
|
|
|
159
156
|
planets = {}
|
|
@@ -164,23 +161,9 @@ class CompositeSubjectFactory:
|
|
|
164
161
|
self.first_subject[planet_lower]["abs_pos"],
|
|
165
162
|
self.second_subject[planet_lower]["abs_pos"]
|
|
166
163
|
)
|
|
167
|
-
self[planet_lower] = get_kerykeion_point_from_degree(planets[planet_lower]["abs_pos"], planet, "
|
|
164
|
+
self[planet_lower] = get_kerykeion_point_from_degree(planets[planet_lower]["abs_pos"], planet, "AstrologicalPoint")
|
|
168
165
|
self[planet_lower]["house"] = get_planet_house(self[planet_lower]['abs_pos'], house_degree_list_ut)
|
|
169
166
|
|
|
170
|
-
|
|
171
|
-
# Axial Cusps
|
|
172
|
-
for cusp in self.first_subject.axial_cusps_names_list:
|
|
173
|
-
cusp_lower = cusp.lower()
|
|
174
|
-
self[cusp_lower] = get_kerykeion_point_from_degree(
|
|
175
|
-
circular_mean(
|
|
176
|
-
self.first_subject[cusp_lower]["abs_pos"],
|
|
177
|
-
self.second_subject[cusp_lower]["abs_pos"]
|
|
178
|
-
),
|
|
179
|
-
cusp,
|
|
180
|
-
"AxialCusps"
|
|
181
|
-
)
|
|
182
|
-
self[cusp_lower]["house"] = get_planet_house(self[cusp_lower]['abs_pos'], house_degree_list_ut)
|
|
183
|
-
|
|
184
167
|
def _calculate_composite_lunar_phase(self):
|
|
185
168
|
self.lunar_phase = calculate_moon_phase(
|
|
186
169
|
self['moon'].abs_pos,
|
|
@@ -197,10 +180,10 @@ class CompositeSubjectFactory:
|
|
|
197
180
|
|
|
198
181
|
|
|
199
182
|
if __name__ == "__main__":
|
|
200
|
-
from kerykeion.
|
|
183
|
+
from kerykeion.astrological_subject_factory import AstrologicalSubjectFactory
|
|
201
184
|
|
|
202
|
-
first =
|
|
203
|
-
second =
|
|
185
|
+
first = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
|
|
186
|
+
second = AstrologicalSubjectFactory.from_birth_data("Paul McCartney", 1942, 6, 18, 15, 30, "Liverpool", "GB")
|
|
204
187
|
|
|
205
188
|
composite_chart = CompositeSubjectFactory(first, second)
|
|
206
189
|
print(composite_chart.get_midpoint_composite_subject_model().model_dump_json(indent=4))
|
kerykeion/ephemeris_data.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
from kerykeion import
|
|
1
|
+
from kerykeion import AstrologicalSubjectFactory
|
|
2
|
+
from kerykeion.kr_types.kr_models import AstrologicalSubjectModel
|
|
2
3
|
from kerykeion.utilities import get_houses_list, get_available_astrological_points_list
|
|
3
|
-
from kerykeion.
|
|
4
|
+
from kerykeion.astrological_subject_factory import DEFAULT_HOUSES_SYSTEM_IDENTIFIER, DEFAULT_PERSPECTIVE_TYPE, DEFAULT_ZODIAC_TYPE
|
|
4
5
|
from kerykeion.kr_types import EphemerisDictModel
|
|
5
6
|
from kerykeion.kr_types import SiderealMode, HousesSystemIdentifier, PerspectiveType, ZodiacType
|
|
6
7
|
from datetime import datetime, timedelta
|
|
@@ -21,7 +22,6 @@ class EphemerisDataFactory:
|
|
|
21
22
|
- lng: float representing the longitude. Default is 0.0005 (Greenwich).
|
|
22
23
|
- tz_str: string representing the timezone. Default is "Etc/UTC".
|
|
23
24
|
- is_dst: boolean representing if daylight saving time is active. Default is False.
|
|
24
|
-
- disable_chiron_and_lilith: boolean representing if Chiron and Lilith should be disabled. Default is False.
|
|
25
25
|
- zodiac_type: ZodiacType object representing the zodiac type. Default is DEFAULT_ZODIAC_TYPE.
|
|
26
26
|
- sidereal_mode: SiderealMode object representing the sidereal mode. Default is None.
|
|
27
27
|
- houses_system_identifier: HousesSystemIdentifier object representing the houses system identifier. Default is DEFAULT_HOUSES_SYSTEM_IDENTIFIER.
|
|
@@ -48,7 +48,6 @@ class EphemerisDataFactory:
|
|
|
48
48
|
lng: float = 0.0005,
|
|
49
49
|
tz_str: str = "Etc/UTC",
|
|
50
50
|
is_dst: bool = False,
|
|
51
|
-
disable_chiron_and_lilith: bool = False,
|
|
52
51
|
zodiac_type: ZodiacType = DEFAULT_ZODIAC_TYPE,
|
|
53
52
|
sidereal_mode: Union[SiderealMode, None] = None,
|
|
54
53
|
houses_system_identifier: HousesSystemIdentifier = DEFAULT_HOUSES_SYSTEM_IDENTIFIER,
|
|
@@ -65,7 +64,6 @@ class EphemerisDataFactory:
|
|
|
65
64
|
self.lng = lng
|
|
66
65
|
self.tz_str = tz_str
|
|
67
66
|
self.is_dst = is_dst
|
|
68
|
-
self.disable_chiron_and_lilith = disable_chiron_and_lilith
|
|
69
67
|
self.zodiac_type = zodiac_type
|
|
70
68
|
self.sidereal_mode = sidereal_mode
|
|
71
69
|
self.houses_system_identifier = houses_system_identifier
|
|
@@ -123,7 +121,7 @@ class EphemerisDataFactory:
|
|
|
123
121
|
"""
|
|
124
122
|
ephemeris_data_list = []
|
|
125
123
|
for date in self.dates_list:
|
|
126
|
-
subject =
|
|
124
|
+
subject = AstrologicalSubjectFactory.from_birth_data(
|
|
127
125
|
year=date.year,
|
|
128
126
|
month=date.month,
|
|
129
127
|
day=date.day,
|
|
@@ -135,7 +133,6 @@ class EphemerisDataFactory:
|
|
|
135
133
|
city="Placeholder",
|
|
136
134
|
nation="Placeholder",
|
|
137
135
|
online=False,
|
|
138
|
-
disable_chiron_and_lilith=self.disable_chiron_and_lilith,
|
|
139
136
|
zodiac_type=self.zodiac_type,
|
|
140
137
|
sidereal_mode=self.sidereal_mode,
|
|
141
138
|
houses_system_identifier=self.houses_system_identifier,
|
|
@@ -153,7 +150,7 @@ class EphemerisDataFactory:
|
|
|
153
150
|
|
|
154
151
|
return ephemeris_data_list
|
|
155
152
|
|
|
156
|
-
def get_ephemeris_data_as_astrological_subjects(self, as_model: bool = False) -> List[
|
|
153
|
+
def get_ephemeris_data_as_astrological_subjects(self, as_model: bool = False) -> List[AstrologicalSubjectModel]:
|
|
157
154
|
"""
|
|
158
155
|
Generate ephemeris data for the specified date range as AstrologicalSubject instances.
|
|
159
156
|
|
|
@@ -175,7 +172,7 @@ class EphemerisDataFactory:
|
|
|
175
172
|
"""
|
|
176
173
|
subjects_list = []
|
|
177
174
|
for date in self.dates_list:
|
|
178
|
-
subject =
|
|
175
|
+
subject = AstrologicalSubjectFactory.from_birth_data(
|
|
179
176
|
year=date.year,
|
|
180
177
|
month=date.month,
|
|
181
178
|
day=date.day,
|
|
@@ -187,7 +184,6 @@ class EphemerisDataFactory:
|
|
|
187
184
|
city="Placeholder",
|
|
188
185
|
nation="Placeholder",
|
|
189
186
|
online=False,
|
|
190
|
-
disable_chiron_and_lilith=self.disable_chiron_and_lilith,
|
|
191
187
|
zodiac_type=self.zodiac_type,
|
|
192
188
|
sidereal_mode=self.sidereal_mode,
|
|
193
189
|
houses_system_identifier=self.houses_system_identifier,
|