kerykeion 4.14.2__py3-none-any.whl → 4.18.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 (34) hide show
  1. kerykeion/__init__.py +2 -1
  2. kerykeion/aspects/aspects_utils.py +33 -117
  3. kerykeion/aspects/natal_aspects.py +26 -25
  4. kerykeion/aspects/synastry_aspects.py +25 -27
  5. kerykeion/astrological_subject.py +145 -189
  6. kerykeion/charts/charts_utils.py +400 -126
  7. kerykeion/charts/draw_planets.py +407 -0
  8. kerykeion/charts/kerykeion_chart_svg.py +502 -770
  9. kerykeion/charts/templates/aspect_grid_only.xml +452 -0
  10. kerykeion/charts/templates/chart.xml +39 -39
  11. kerykeion/charts/templates/wheel_only.xml +499 -0
  12. kerykeion/charts/themes/classic.css +82 -0
  13. kerykeion/charts/themes/dark-high-contrast.css +121 -0
  14. kerykeion/charts/themes/dark.css +121 -0
  15. kerykeion/charts/themes/light.css +117 -0
  16. kerykeion/ephemeris_data.py +22 -18
  17. kerykeion/kr_types/chart_types.py +3 -7
  18. kerykeion/kr_types/kr_literals.py +10 -1
  19. kerykeion/kr_types/kr_models.py +33 -8
  20. kerykeion/kr_types/settings_models.py +1 -10
  21. kerykeion/relationship_score/__init__.py +2 -0
  22. kerykeion/relationship_score/relationship_score.py +175 -0
  23. kerykeion/relationship_score/relationship_score_factory.py +275 -0
  24. kerykeion/report.py +6 -3
  25. kerykeion/settings/kerykeion_settings.py +6 -1
  26. kerykeion/settings/kr.config.json +238 -98
  27. kerykeion/utilities.py +116 -215
  28. {kerykeion-4.14.2.dist-info → kerykeion-4.18.0.dist-info}/METADATA +40 -10
  29. kerykeion-4.18.0.dist-info/RECORD +42 -0
  30. kerykeion/relationship_score.py +0 -205
  31. kerykeion-4.14.2.dist-info/RECORD +0 -33
  32. {kerykeion-4.14.2.dist-info → kerykeion-4.18.0.dist-info}/LICENSE +0 -0
  33. {kerykeion-4.14.2.dist-info → kerykeion-4.18.0.dist-info}/WHEEL +0 -0
  34. {kerykeion-4.14.2.dist-info → kerykeion-4.18.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,82 @@
1
+ :root {
2
+ /* Main Colors */
3
+ --kerykeion-chart-color-paper-0: #000000;
4
+ --kerykeion-chart-color-paper-1: #ffffff;
5
+ --kerykeion-chart-color-zodiac-bg-0: #ff7200;
6
+ --kerykeion-chart-color-zodiac-bg-1: #6b3d00;
7
+ --kerykeion-chart-color-zodiac-bg-2: #69acf1;
8
+ --kerykeion-chart-color-zodiac-bg-3: #2b4972;
9
+ --kerykeion-chart-color-zodiac-bg-4: #ff7200;
10
+ --kerykeion-chart-color-zodiac-bg-5: #6b3d00;
11
+ --kerykeion-chart-color-zodiac-bg-6: #69acf1;
12
+ --kerykeion-chart-color-zodiac-bg-7: #2b4972;
13
+ --kerykeion-chart-color-zodiac-bg-8: #ff7200;
14
+ --kerykeion-chart-color-zodiac-bg-9: #6b3d00;
15
+ --kerykeion-chart-color-zodiac-bg-10: #69acf1;
16
+ --kerykeion-chart-color-zodiac-bg-11: #2b4972;
17
+ --kerykeion-chart-color-zodiac-icon-0: #ff7200;
18
+ --kerykeion-chart-color-zodiac-icon-1: #6b3d00;
19
+ --kerykeion-chart-color-zodiac-icon-2: #69acf1;
20
+ --kerykeion-chart-color-zodiac-icon-3: #2b4972;
21
+ --kerykeion-chart-color-zodiac-icon-4: #ff7200;
22
+ --kerykeion-chart-color-zodiac-icon-5: #6b3d00;
23
+ --kerykeion-chart-color-zodiac-icon-6: #69acf1;
24
+ --kerykeion-chart-color-zodiac-icon-7: #2b4972;
25
+ --kerykeion-chart-color-zodiac-icon-8: #ff7200;
26
+ --kerykeion-chart-color-zodiac-icon-9: #6b3d00;
27
+ --kerykeion-chart-color-zodiac-icon-10: #69acf1;
28
+ --kerykeion-chart-color-zodiac-icon-11: #2b4972;
29
+ --kerykeion-chart-color-zodiac-radix-ring-0: #ff0000;
30
+ --kerykeion-chart-color-zodiac-radix-ring-1: #ff0000;
31
+ --kerykeion-chart-color-zodiac-radix-ring-2: #ff0000;
32
+ --kerykeion-chart-color-zodiac-transit-ring-0: #ff0000;
33
+ --kerykeion-chart-color-zodiac-transit-ring-1: #ff0000;
34
+ --kerykeion-chart-color-zodiac-transit-ring-2: #0000ff;
35
+ --kerykeion-chart-color-zodiac-transit-ring-3: #0000ff;
36
+ --kerykeion-chart-color-houses-radix-line: #ff0000;
37
+ --kerykeion-chart-color-houses-transit-line: #0000ff;
38
+ --kerykeion-chart-color-lunar-phase-0: #000000;
39
+ --kerykeion-chart-color-lunar-phase-1: #ffffff;
40
+
41
+ /* Aspects */
42
+ --kerykeion-chart-color-conjunction: #5757e2;
43
+ --kerykeion-chart-color-semi-sextile: #810757;
44
+ --kerykeion-chart-color-semi-square: #b14e58;
45
+ --kerykeion-chart-color-sextile: #d59e28;
46
+ --kerykeion-chart-color-quintile: #1f99b3;
47
+ --kerykeion-chart-color-square: #dc0000;
48
+ --kerykeion-chart-color-trine: #36d100;
49
+ --kerykeion-chart-color-sesquiquadrate: #985a10;
50
+ --kerykeion-chart-color-biquintile: #7a9810;
51
+ --kerykeion-chart-color-quincunx: #26bbcf;
52
+ --kerykeion-chart-color-opposition: #510060;
53
+
54
+ /* Planets */
55
+ --kerykeion-chart-color-sun: #984b00;
56
+ --kerykeion-chart-color-moon: #150052;
57
+ --kerykeion-chart-color-mercury: #520800;
58
+ --kerykeion-chart-color-venus: #400052;
59
+ --kerykeion-chart-color-mars: #540000;
60
+ --kerykeion-chart-color-jupiter: #47133d;
61
+ --kerykeion-chart-color-saturn: #124500;
62
+ --kerykeion-chart-color-uranus: #6f0766;
63
+ --kerykeion-chart-color-neptune: #06537f;
64
+ --kerykeion-chart-color-pluto: #713f04;
65
+ --kerykeion-chart-color-mean-node: #4c1541;
66
+ --kerykeion-chart-color-true-node: #4c1541;
67
+ --kerykeion-chart-color-chiron: #666f06;
68
+ --kerykeion-chart-color-first-house: #ff7e00;
69
+ --kerykeion-chart-color-tenth-house: #ff0000;
70
+ --kerykeion-chart-color-seventh-house: #0000ff;
71
+ --kerykeion-chart-color-fourth-house: #000000;
72
+ --kerykeion-chart-color-mean-lilith: #000000;
73
+
74
+ /* Elements Percentage */
75
+ --kerykeion-chart-color-air-percentage: #6f76d1;
76
+ --kerykeion-chart-color-earth-percentage: #6a2d04;
77
+ --kerykeion-chart-color-fire-percentage: #ff6600;
78
+ --kerykeion-chart-color-water-percentage: #630e73;
79
+
80
+ /* Other */
81
+ --kerykeion-chart-color-house-number: #f00;
82
+ }
@@ -0,0 +1,121 @@
1
+ :root {
2
+ /* -------- */
3
+ /* General */
4
+ /* ------- */
5
+ --kerykeion-color-black: #000000;
6
+ --kerykeion-color-white: #ffffff;
7
+
8
+ --kerykeion-color-neutral-content: #c8cbd0;
9
+ --kerykeion-color-base-content: #ccd0d4;
10
+ --kerykeion-color-primary: #38bdf8;
11
+ --kerykeion-color-secondary: #818cf8;
12
+ --kerykeion-color-accent: #f471b5;
13
+ --kerykeion-color-neutral: #1e293b;
14
+ --kerykeion-color-base-100: #0f172a;
15
+ --kerykeion-color-info: #0ca5e9;
16
+ --kerykeion-color-info-content: #000000;
17
+ --kerykeion-color-success: #2dd4bf;
18
+ --kerykeion-color-warning: #f4bf50;
19
+ --kerykeion-color-error: #fb7085;
20
+
21
+ /* Zodiac */
22
+ --kerykeion-color-base-200: #0a1020;
23
+ --kerykeion-color-base-300: #27303c;
24
+
25
+ /* ----------- */
26
+ /* Chart Color */
27
+ /* ----------- */
28
+
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
+
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
+
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(--kerykeion-color-neutral);
52
+ --kerykeion-chart-color-zodiac-transit-ring-1: var(--kerykeion-color-neutral);
53
+ --kerykeion-chart-color-zodiac-transit-ring-2: var(--kerykeion-color-neutral);
54
+ --kerykeion-chart-color-zodiac-transit-ring-3: var(--kerykeion-color-neutral);
55
+ --kerykeion-chart-color-houses-radix-line: var(
56
+ --kerykeion-color-base-content
57
+ );
58
+ --kerykeion-chart-color-houses-transit-line: var(
59
+ --kerykeion-color-base-content
60
+ );
61
+
62
+ /* Aspects */
63
+ --kerykeion-chart-color-conjunction: var(--kerykeion-color-success);
64
+ --kerykeion-chart-color-semi-sextile: var(--kerykeion-color-success);
65
+ --kerykeion-chart-color-semi-square: var(--kerykeion-color-error);
66
+ --kerykeion-chart-color-sextile: var(--kerykeion-color-success);
67
+ --kerykeion-chart-color-quintile: var(--kerykeion-color-secondary);
68
+ --kerykeion-chart-color-square: var(--kerykeion-color-error);
69
+ --kerykeion-chart-color-trine: var(--kerykeion-color-success);
70
+ --kerykeion-chart-color-sesquiquadrate: var(--kerykeion-color-error);
71
+ --kerykeion-chart-color-biquintile: var(--kerykeion-color-secondary);
72
+ --kerykeion-chart-color-quincunx: var(--kerykeion-color-secondary);
73
+ --kerykeion-chart-color-opposition: var(--kerykeion-color-error);
74
+
75
+ /* Planets */
76
+ --kerykeion-chart-color-sun: var(--kerykeion-color-warning);
77
+ --kerykeion-chart-color-moon: var(--kerykeion-color-secondary);
78
+ --kerykeion-chart-color-mercury: var(--kerykeion-color-primary);
79
+ --kerykeion-chart-color-venus: var(--kerykeion-color-accent);
80
+ --kerykeion-chart-color-mars: var(--kerykeion-color-warning);
81
+ --kerykeion-chart-color-jupiter: var(--kerykeion-color-primary);
82
+ --kerykeion-chart-color-saturn: var(--kerykeion-color-secondary);
83
+ --kerykeion-chart-color-uranus: var(--kerykeion-color-accent);
84
+ --kerykeion-chart-color-neptune: var(--kerykeion-color-primary);
85
+ --kerykeion-chart-color-pluto: var(--kerykeion-color-secondary);
86
+ --kerykeion-chart-color-mean-node: var(--kerykeion-color-warning);
87
+ --kerykeion-chart-color-true-node: var(--kerykeion-color-warning);
88
+ --kerykeion-chart-color-chiron: var(--kerykeion-color-secondary);
89
+ --kerykeion-chart-color-first-house: var(--kerykeion-color-warning);
90
+ --kerykeion-chart-color-tenth-house: var(--kerykeion-color-warning);
91
+ --kerykeion-chart-color-seventh-house: var(--kerykeion-color-warning);
92
+ --kerykeion-chart-color-fourth-house: var(--kerykeion-color-warning);
93
+ --kerykeion-chart-color-mean-lilith: var(--kerykeion-color-secondary);
94
+
95
+ /* Zodiac Signs */
96
+ --kerykeion-chart-color-zodiac-icon-0: var(--kerykeion-color-accent);
97
+ --kerykeion-chart-color-zodiac-icon-1: var(--kerykeion-color-warning);
98
+ --kerykeion-chart-color-zodiac-icon-2: var(--kerykeion-color-primary);
99
+ --kerykeion-chart-color-zodiac-icon-3: var(--kerykeion-color-secondary);
100
+ --kerykeion-chart-color-zodiac-icon-4: var(--kerykeion-color-accent);
101
+ --kerykeion-chart-color-zodiac-icon-5: var(--kerykeion-color-warning);
102
+ --kerykeion-chart-color-zodiac-icon-6: var(--kerykeion-color-primary);
103
+ --kerykeion-chart-color-zodiac-icon-7: var(--kerykeion-color-secondary);
104
+ --kerykeion-chart-color-zodiac-icon-8: var(--kerykeion-color-accent);
105
+ --kerykeion-chart-color-zodiac-icon-9: var(--kerykeion-color-warning);
106
+ --kerykeion-chart-color-zodiac-icon-10: var(--kerykeion-color-primary);
107
+ --kerykeion-chart-color-zodiac-icon-11: var(--kerykeion-color-secondary);
108
+
109
+ /* Elements Percentage */
110
+ --kerykeion-chart-color-air-percentage: var(--kerykeion-color-primary);
111
+ --kerykeion-chart-color-earth-percentage: var(--kerykeion-color-warning);
112
+ --kerykeion-chart-color-fire-percentage: var(--kerykeion-color-accent);
113
+ --kerykeion-chart-color-water-percentage: var(--kerykeion-color-secondary);
114
+
115
+ /* Aspects */
116
+ --kerykeion-chart-color-lunar-phase-0: var(--kerykeion-color-black);
117
+ --kerykeion-chart-color-lunar-phase-1: var(--kerykeion-color-white);
118
+
119
+ /* Houses Numbers */
120
+ --kerykeion-chart-color-house-number: var(--kerykeion-color-base-content);
121
+ }
@@ -0,0 +1,121 @@
1
+ :root {
2
+ /* -------- */
3
+ /* General */
4
+ /* ------- */
5
+ --kerykeion-color-black: #000000;
6
+ --kerykeion-color-white: #ffffff;
7
+
8
+ --kerykeion-color-neutral-content: #c8cbd0;
9
+ --kerykeion-color-base-content: #ccd0d4;
10
+ --kerykeion-color-primary: #38bdf8;
11
+ --kerykeion-color-secondary: #818cf8;
12
+ --kerykeion-color-accent: #f471b5;
13
+ --kerykeion-color-neutral: #1e293b;
14
+ --kerykeion-color-base-100: #0f172a;
15
+ --kerykeion-color-info: #0ca5e9;
16
+ --kerykeion-color-info-content: #000000;
17
+ --kerykeion-color-success: #2dd4bf;
18
+ --kerykeion-color-warning: #f4bf50;
19
+ --kerykeion-color-error: #fb7085;
20
+
21
+ /* Zodiac */
22
+ --kerykeion-color-base-200: #0a1020;
23
+ --kerykeion-color-base-300: #171f2c;
24
+
25
+ /* ----------- */
26
+ /* Chart Color */
27
+ /* ----------- */
28
+
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
+
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
+
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(--kerykeion-color-neutral);
52
+ --kerykeion-chart-color-zodiac-transit-ring-1: var(--kerykeion-color-neutral);
53
+ --kerykeion-chart-color-zodiac-transit-ring-2: var(--kerykeion-color-neutral);
54
+ --kerykeion-chart-color-zodiac-transit-ring-3: var(--kerykeion-color-neutral);
55
+ --kerykeion-chart-color-houses-radix-line: var(
56
+ --kerykeion-color-base-content
57
+ );
58
+ --kerykeion-chart-color-houses-transit-line: var(
59
+ --kerykeion-color-base-content
60
+ );
61
+
62
+ /* Aspects */
63
+ --kerykeion-chart-color-conjunction: var(--kerykeion-color-success);
64
+ --kerykeion-chart-color-semi-sextile: var(--kerykeion-color-success);
65
+ --kerykeion-chart-color-semi-square: var(--kerykeion-color-error);
66
+ --kerykeion-chart-color-sextile: var(--kerykeion-color-success);
67
+ --kerykeion-chart-color-quintile: var(--kerykeion-color-secondary);
68
+ --kerykeion-chart-color-square: var(--kerykeion-color-error);
69
+ --kerykeion-chart-color-trine: var(--kerykeion-color-success);
70
+ --kerykeion-chart-color-sesquiquadrate: var(--kerykeion-color-error);
71
+ --kerykeion-chart-color-biquintile: var(--kerykeion-color-secondary);
72
+ --kerykeion-chart-color-quincunx: var(--kerykeion-color-secondary);
73
+ --kerykeion-chart-color-opposition: var(--kerykeion-color-error);
74
+
75
+ /* Planets */
76
+ --kerykeion-chart-color-sun: var(--kerykeion-color-warning);
77
+ --kerykeion-chart-color-moon: var(--kerykeion-color-secondary);
78
+ --kerykeion-chart-color-mercury: var(--kerykeion-color-primary);
79
+ --kerykeion-chart-color-venus: var(--kerykeion-color-accent);
80
+ --kerykeion-chart-color-mars: var(--kerykeion-color-warning);
81
+ --kerykeion-chart-color-jupiter: var(--kerykeion-color-primary);
82
+ --kerykeion-chart-color-saturn: var(--kerykeion-color-secondary);
83
+ --kerykeion-chart-color-uranus: var(--kerykeion-color-accent);
84
+ --kerykeion-chart-color-neptune: var(--kerykeion-color-primary);
85
+ --kerykeion-chart-color-pluto: var(--kerykeion-color-secondary);
86
+ --kerykeion-chart-color-mean-node: var(--kerykeion-color-warning);
87
+ --kerykeion-chart-color-true-node: var(--kerykeion-color-warning);
88
+ --kerykeion-chart-color-chiron: var(--kerykeion-color-secondary);
89
+ --kerykeion-chart-color-first-house: var(--kerykeion-color-warning);
90
+ --kerykeion-chart-color-tenth-house: var(--kerykeion-color-warning);
91
+ --kerykeion-chart-color-seventh-house: var(--kerykeion-color-warning);
92
+ --kerykeion-chart-color-fourth-house: var(--kerykeion-color-warning);
93
+ --kerykeion-chart-color-mean-lilith: var(--kerykeion-color-secondary);
94
+
95
+ /* Zodiac Signs */
96
+ --kerykeion-chart-color-zodiac-icon-0: var(--kerykeion-color-accent);
97
+ --kerykeion-chart-color-zodiac-icon-1: var(--kerykeion-color-warning);
98
+ --kerykeion-chart-color-zodiac-icon-2: var(--kerykeion-color-primary);
99
+ --kerykeion-chart-color-zodiac-icon-3: var(--kerykeion-color-secondary);
100
+ --kerykeion-chart-color-zodiac-icon-4: var(--kerykeion-color-accent);
101
+ --kerykeion-chart-color-zodiac-icon-5: var(--kerykeion-color-warning);
102
+ --kerykeion-chart-color-zodiac-icon-6: var(--kerykeion-color-primary);
103
+ --kerykeion-chart-color-zodiac-icon-7: var(--kerykeion-color-secondary);
104
+ --kerykeion-chart-color-zodiac-icon-8: var(--kerykeion-color-accent);
105
+ --kerykeion-chart-color-zodiac-icon-9: var(--kerykeion-color-warning);
106
+ --kerykeion-chart-color-zodiac-icon-10: var(--kerykeion-color-primary);
107
+ --kerykeion-chart-color-zodiac-icon-11: var(--kerykeion-color-secondary);
108
+
109
+ /* Elements Percentage */
110
+ --kerykeion-chart-color-air-percentage: var(--kerykeion-color-primary);
111
+ --kerykeion-chart-color-earth-percentage: var(--kerykeion-color-warning);
112
+ --kerykeion-chart-color-fire-percentage: var(--kerykeion-color-accent);
113
+ --kerykeion-chart-color-water-percentage: var(--kerykeion-color-secondary);
114
+
115
+ /* Aspects */
116
+ --kerykeion-chart-color-lunar-phase-0: var(--kerykeion-color-black);
117
+ --kerykeion-chart-color-lunar-phase-1: var(--kerykeion-color-white);
118
+
119
+ /* Houses Numbers */
120
+ --kerykeion-chart-color-house-number: var(--kerykeion-color-base-content);
121
+ }
@@ -0,0 +1,117 @@
1
+ :root {
2
+ /* -------- */
3
+ /* General */
4
+ /* ------- */
5
+ --kerykeion-color-black: #000000;
6
+ --kerykeion-color-white: #ffffff;
7
+
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
+
21
+ /* Zodiac */
22
+ --kerykeion-color-base-200: #d1d1d1;
23
+ --kerykeion-color-base-300: rgb(113 113 122);
24
+
25
+ /* ----------- */
26
+ /* Chart Color */
27
+ /* ----------- */
28
+
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
+
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
+
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(--kerykeion-color-neutral);
52
+ --kerykeion-chart-color-zodiac-transit-ring-1: var(--kerykeion-color-neutral);
53
+ --kerykeion-chart-color-zodiac-transit-ring-2: var(--kerykeion-color-neutral);
54
+ --kerykeion-chart-color-zodiac-transit-ring-3: var(--kerykeion-color-neutral);
55
+ --kerykeion-chart-color-houses-radix-line: var(--kerykeion-color-base-content);
56
+ --kerykeion-chart-color-houses-transit-line: var(--kerykeion-color-base-content);
57
+
58
+ /* Aspects */
59
+ --kerykeion-chart-color-conjunction: var(--kerykeion-color-success);
60
+ --kerykeion-chart-color-semi-sextile: var(--kerykeion-color-success);
61
+ --kerykeion-chart-color-semi-square: var(--kerykeion-color-error);
62
+ --kerykeion-chart-color-sextile: var(--kerykeion-color-success);
63
+ --kerykeion-chart-color-quintile: var(--kerykeion-color-secondary);
64
+ --kerykeion-chart-color-square: var(--kerykeion-color-error);
65
+ --kerykeion-chart-color-trine: var(--kerykeion-color-success);
66
+ --kerykeion-chart-color-sesquiquadrate: var(--kerykeion-color-error);
67
+ --kerykeion-chart-color-biquintile: var(--kerykeion-color-secondary);
68
+ --kerykeion-chart-color-quincunx: var(--kerykeion-color-secondary);
69
+ --kerykeion-chart-color-opposition: var(--kerykeion-color-error);
70
+
71
+ /* Planets */
72
+ --kerykeion-chart-color-sun: var(--kerykeion-color-warning);
73
+ --kerykeion-chart-color-moon: var(--kerykeion-color-secondary);
74
+ --kerykeion-chart-color-mercury: var(--kerykeion-color-primary);
75
+ --kerykeion-chart-color-venus: var(--kerykeion-color-accent);
76
+ --kerykeion-chart-color-mars: var(--kerykeion-color-warning);
77
+ --kerykeion-chart-color-jupiter: var(--kerykeion-color-primary);
78
+ --kerykeion-chart-color-saturn: var(--kerykeion-color-secondary);
79
+ --kerykeion-chart-color-uranus: var(--kerykeion-color-accent);
80
+ --kerykeion-chart-color-neptune: var(--kerykeion-color-primary);
81
+ --kerykeion-chart-color-pluto: var(--kerykeion-color-secondary);
82
+ --kerykeion-chart-color-mean-node: var(--kerykeion-color-warning);
83
+ --kerykeion-chart-color-true-node: var(--kerykeion-color-warning);
84
+ --kerykeion-chart-color-chiron: var(--kerykeion-color-secondary);
85
+ --kerykeion-chart-color-first-house: var(--kerykeion-color-warning);
86
+ --kerykeion-chart-color-tenth-house: var(--kerykeion-color-warning);
87
+ --kerykeion-chart-color-seventh-house: var(--kerykeion-color-warning);
88
+ --kerykeion-chart-color-fourth-house: var(--kerykeion-color-warning);
89
+ --kerykeion-chart-color-mean-lilith: var(--kerykeion-color-secondary);
90
+
91
+ /* Zodiac Signs */
92
+ --kerykeion-chart-color-zodiac-icon-0: var(--kerykeion-color-accent);
93
+ --kerykeion-chart-color-zodiac-icon-1: var(--kerykeion-color-warning);
94
+ --kerykeion-chart-color-zodiac-icon-2: var(--kerykeion-color-primary);
95
+ --kerykeion-chart-color-zodiac-icon-3: var(--kerykeion-color-secondary);
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);
104
+
105
+ /* Elements Percentage */
106
+ --kerykeion-chart-color-air-percentage: var(--kerykeion-color-primary);
107
+ --kerykeion-chart-color-earth-percentage: var(--kerykeion-color-warning);
108
+ --kerykeion-chart-color-fire-percentage: var(--kerykeion-color-accent);
109
+ --kerykeion-chart-color-water-percentage: var(--kerykeion-color-secondary);
110
+
111
+ /* Aspects */
112
+ --kerykeion-chart-color-lunar-phase-0: var(--kerykeion-color-black);
113
+ --kerykeion-chart-color-lunar-phase-1: var(--kerykeion-color-white);
114
+
115
+ /* Houses Numbers */
116
+ --kerykeion-chart-color-house-number: var(--kerykeion-color-base-content);
117
+ }
@@ -1,4 +1,5 @@
1
1
  from kerykeion import AstrologicalSubject
2
+ from kerykeion.utilities import get_houses_list, get_available_planets_list
2
3
  from kerykeion.astrological_subject import DEFAULT_HOUSES_SYSTEM_IDENTIFIER, DEFAULT_PERSPECTIVE_TYPE, DEFAULT_ZODIAC_TYPE
3
4
  from kerykeion.kr_types import EphemerisDictModel
4
5
  from kerykeion.kr_types import SiderealMode, HousesSystemIdentifier, PerspectiveType, ZodiacType
@@ -52,9 +53,9 @@ class EphemerisDataFactory:
52
53
  sidereal_mode: Union[SiderealMode, None] = None,
53
54
  houses_system_identifier: HousesSystemIdentifier = DEFAULT_HOUSES_SYSTEM_IDENTIFIER,
54
55
  perspective_type: PerspectiveType = DEFAULT_PERSPECTIVE_TYPE,
55
- max_days: int = 730,
56
- max_hours: int = 8760,
57
- max_minutes: int = 525600,
56
+ max_days: Union[int, None] = 730,
57
+ max_hours: Union[int, None] = 8760,
58
+ max_minutes: Union[int, None] = 525600,
58
59
  ):
59
60
  self.start_datetime = start_datetime
60
61
  self.end_datetime = end_datetime
@@ -98,18 +99,25 @@ class EphemerisDataFactory:
98
99
  if len(self.dates_list) > 1000:
99
100
  logging.warning(f"Large number of dates: {len(self.dates_list)}. The calculation may take a while.")
100
101
 
101
- def get_ephemeris_data(self) -> list:
102
+ def get_ephemeris_data(self, as_model: bool = False) -> list:
102
103
  """
103
104
  Generate ephemeris data for the specified date range.
104
105
  The data is structured as a list of dictionaries, where each dictionary contains the date, planets, and houses data.
105
- Eg. [{"date": "2020-01-01T00:00:00", "planets": [{...}, {...}, ...], "houses": [{...}, {...}, ...]}, ...]
106
+ Example:
107
+ [
108
+ {
109
+ "date": "2020-01-01T00:00:00",
110
+ "planets": [{...}, {...}, ...],
111
+ "houses": [{...}, {...}, ...]
112
+ },
113
+ ...
114
+ ]
106
115
 
107
116
  Args:
108
- - as_model: boolean representing if the ephemeris data should be returned as model instances. Default is False.
109
- - as_dict: boolean representing if the ephemeris data should be returned as dictionaries. Default is False.
117
+ - as_model (bool): If True, the ephemeris data will be returned as model instances. Default is False.
110
118
 
111
119
  Returns:
112
- - list of dictionaries representing the ephemeris data.
120
+ - list: A list of dictionaries representing the ephemeris data. If as_model is True, a list of EphemerisDictModel instances is returned.
113
121
  """
114
122
  ephemeris_data_list = []
115
123
  for date in self.dates_list:
@@ -133,19 +141,15 @@ class EphemerisDataFactory:
133
141
  is_dst=self.is_dst,
134
142
  )
135
143
 
136
- ephemeris_data_list.append({"date": date.isoformat(), "planets": subject.planets_list, "houses": subject.houses_list})
144
+ houses_list = get_houses_list(subject)
145
+ available_planets = get_available_planets_list(subject)
137
146
 
138
- return ephemeris_data_list
147
+ ephemeris_data_list.append({"date": date.isoformat(), "planets": available_planets, "houses": houses_list})
139
148
 
140
- def get_ephemeris_data_as_model(self) -> list[EphemerisDictModel]:
141
- """
142
- Generate ephemeris data as model instances for the specified date range.
143
- The data is structured as a list of EphemerisDictModel instances.
149
+ if as_model:
150
+ return [EphemerisDictModel(**data) for data in ephemeris_data_list]
144
151
 
145
- Returns:
146
- - list of EphemerisDictModel instances representing the ephemeris data.
147
- """
148
- return [EphemerisDictModel(**data) for data in self.get_ephemeris_data()]
152
+ return ephemeris_data_list
149
153
 
150
154
 
151
155
  if "__main__" == __name__:
@@ -19,12 +19,7 @@ class ChartTemplateDictionary(TypedDict):
19
19
  bottomLeft2: str
20
20
  bottomLeft3: str
21
21
  bottomLeft4: str
22
- lunar_phase_fg: str
23
- lunar_phase_bg: str
24
- lunar_phase_cx: int
25
- lunar_phase_r: int
26
- lunar_phase_outline: str
27
- lunar_phase_rotate: float
22
+ moon_phase: str
28
23
  stringLocation: str
29
24
  stringDateTime: str
30
25
  stringLat: str
@@ -82,7 +77,6 @@ class ChartTemplateDictionary(TypedDict):
82
77
  orb_color_150: str
83
78
  orb_color_180: str
84
79
 
85
- cfgRotate: str
86
80
  cfgTranslate: str
87
81
  makeZodiac: str
88
82
  makeHouses: str
@@ -90,3 +84,5 @@ class ChartTemplateDictionary(TypedDict):
90
84
  elements_percentages: str
91
85
  makePlanetGrid: str
92
86
  makeHousesGrid: str
87
+
88
+ color_style_tag: str
@@ -14,7 +14,7 @@ Sign = Literal["Ari", "Tau", "Gem", "Can", "Leo", "Vir", "Lib", "Sco", "Sag", "C
14
14
 
15
15
 
16
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 Pisces (11)"""
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
20
  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"]
@@ -99,3 +99,12 @@ Literal type for perspective types.
99
99
 
100
100
  Usually the standard is "Apparent Geocentric"
101
101
  """
102
+
103
+
104
+ SignsEmoji = Literal["♈️", "♉️", "♊️", "♋️", "♌️", "♍️", "♎️", "♏️", "♐️", "♑️", "♒️", "♓️"]
105
+
106
+
107
+ KerykeionChartTheme = Literal["light", "dark", "dark-high-contrast", "classic"]
108
+
109
+
110
+ RelationshipScoreDescription = Literal["Minimal", "Medium", "Important", "Very Important", "Exceptional", "Rare Exceptional"]
@@ -17,11 +17,12 @@ from kerykeion.kr_types import (
17
17
  Sign,
18
18
  ZodiacType,
19
19
  SignNumbers,
20
- HouseNumbers,
21
20
  PointType,
22
21
  SiderealMode,
23
22
  HousesSystemIdentifier,
24
23
  Houses,
24
+ SignsEmoji,
25
+ RelationshipScoreDescription
25
26
  )
26
27
 
27
28
 
@@ -39,7 +40,7 @@ class SubscriptableBaseModel(BaseModel):
39
40
  def __delitem__(self, key):
40
41
  delattr(self, key)
41
42
 
42
- def get(self, key, default):
43
+ def get(self, key, default = None):
43
44
  return getattr(self, key, default)
44
45
 
45
46
 
@@ -130,14 +131,14 @@ class AstrologicalSubjectModel(SubscriptableBaseModel):
130
131
  mean_node: KerykeionPointModel
131
132
  true_node: KerykeionPointModel
132
133
 
133
- # Lunar Phase
134
134
  lunar_phase: LunarPhaseModel
135
+ """Lunar phase model"""
136
+
137
+ planets_names_list: list[Planet]
138
+ """Ordered list of available planets names"""
135
139
 
136
- # Lists
137
- # houses_list: list[KerykeionPointModel]
138
- # planets_list: list[KerykeionPointModel]
139
- # planets_degrees_ut: list[float]
140
- # houses_degree_ut: list[float]
140
+ houses_names_list: list[Houses]
141
+ """Ordered list of houses names"""
141
142
 
142
143
 
143
144
  class EphemerisDictModel(SubscriptableBaseModel):
@@ -158,3 +159,27 @@ class AspectModel(SubscriptableBaseModel):
158
159
  diff: float
159
160
  p1: int
160
161
  p2: int
162
+ is_major: bool
163
+
164
+
165
+ class ZodiacSignModel(SubscriptableBaseModel):
166
+ sign: Sign
167
+ quality: Quality
168
+ element: Element
169
+ emoji: SignsEmoji
170
+ sign_num: SignNumbers
171
+
172
+
173
+ class RelationshipScoreAspectModel(SubscriptableBaseModel):
174
+ p1_name: str
175
+ p2_name: str
176
+ aspect: str
177
+ orbit: float
178
+
179
+
180
+ class RelationshipScoreModel(SubscriptableBaseModel):
181
+ score_value: int
182
+ score_description: RelationshipScoreDescription
183
+ is_destiny_sign: bool
184
+ aspects: list[RelationshipScoreAspectModel]
185
+ subjects: list[AstrologicalSubjectModel]