kerykeion 5.0.0b1__py3-none-any.whl → 5.0.0b4__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 (30) hide show
  1. kerykeion/__init__.py +3 -2
  2. kerykeion/aspects/aspects_factory.py +60 -21
  3. kerykeion/aspects/aspects_utils.py +1 -1
  4. kerykeion/backword.py +111 -18
  5. kerykeion/chart_data_factory.py +72 -7
  6. kerykeion/charts/chart_drawer.py +601 -206
  7. kerykeion/charts/charts_utils.py +440 -255
  8. kerykeion/charts/templates/aspect_grid_only.xml +269 -312
  9. kerykeion/charts/templates/chart.xml +302 -328
  10. kerykeion/charts/templates/wheel_only.xml +271 -312
  11. kerykeion/charts/themes/black-and-white.css +148 -0
  12. kerykeion/relationship_score_factory.py +12 -2
  13. kerykeion/schemas/chart_template_model.py +27 -0
  14. kerykeion/schemas/kr_literals.py +1 -1
  15. kerykeion/settings/__init__.py +16 -2
  16. kerykeion/settings/chart_defaults.py +444 -0
  17. kerykeion/settings/config_constants.py +0 -5
  18. kerykeion/settings/kerykeion_settings.py +31 -74
  19. kerykeion/settings/translation_strings.py +1479 -0
  20. kerykeion/settings/translations.py +74 -0
  21. kerykeion/transits_time_range_factory.py +10 -1
  22. {kerykeion-5.0.0b1.dist-info → kerykeion-5.0.0b4.dist-info}/METADATA +304 -204
  23. {kerykeion-5.0.0b1.dist-info → kerykeion-5.0.0b4.dist-info}/RECORD +25 -26
  24. kerykeion/settings/kr.config.json +0 -1474
  25. kerykeion/settings/legacy/__init__.py +0 -0
  26. kerykeion/settings/legacy/legacy_celestial_points_settings.py +0 -299
  27. kerykeion/settings/legacy/legacy_chart_aspects_settings.py +0 -71
  28. kerykeion/settings/legacy/legacy_color_settings.py +0 -42
  29. {kerykeion-5.0.0b1.dist-info → kerykeion-5.0.0b4.dist-info}/WHEEL +0 -0
  30. {kerykeion-5.0.0b1.dist-info → kerykeion-5.0.0b4.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,148 @@
1
+ :root {
2
+ /* -------- */
3
+ /* General */
4
+ /* ------- */
5
+ --kerykeion-color-black: #000000;
6
+ --kerykeion-color-white: #ffffff;
7
+
8
+ --kerykeion-color-neutral-content: #111111;
9
+ --kerykeion-color-base-content: #111111;
10
+ --kerykeion-color-primary: #222222;
11
+ --kerykeion-color-secondary: #444444;
12
+ --kerykeion-color-accent: #666666;
13
+ --kerykeion-color-neutral: #1a1a1a;
14
+ --kerykeion-color-base-100: #ffffff;
15
+ --kerykeion-color-info: #222222;
16
+ --kerykeion-color-info-content: #ffffff;
17
+ --kerykeion-color-success: #333333;
18
+ --kerykeion-color-warning: #555555;
19
+ --kerykeion-color-error: #777777;
20
+
21
+ /* Zodiac */
22
+ --kerykeion-color-base-200: #f0f0f0;
23
+ --kerykeion-color-base-300: #d9d9d9;
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-black);
49
+ --kerykeion-chart-color-zodiac-radix-ring-1: var(--kerykeion-color-black);
50
+ --kerykeion-chart-color-zodiac-radix-ring-2: var(--kerykeion-color-black);
51
+ --kerykeion-chart-color-zodiac-transit-ring-0: var(--kerykeion-color-black);
52
+ --kerykeion-chart-color-zodiac-transit-ring-1: var(--kerykeion-color-black);
53
+ --kerykeion-chart-color-zodiac-transit-ring-2: var(--kerykeion-color-black);
54
+ --kerykeion-chart-color-zodiac-transit-ring-3: var(--kerykeion-color-black);
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: #222222;
60
+ --kerykeion-chart-color-semi-sextile: #333333;
61
+ --kerykeion-chart-color-semi-square: #444444;
62
+ --kerykeion-chart-color-sextile: #333333;
63
+ --kerykeion-chart-color-quintile: #555555;
64
+ --kerykeion-chart-color-square: #000000;
65
+ --kerykeion-chart-color-trine: #222222;
66
+ --kerykeion-chart-color-sesquiquadrate: #444444;
67
+ --kerykeion-chart-color-biquintile: #555555;
68
+ --kerykeion-chart-color-quincunx: #444444;
69
+ --kerykeion-chart-color-opposition: #000000;
70
+
71
+ /* Planets */
72
+ --kerykeion-chart-color-sun: #000000;
73
+ --kerykeion-chart-color-moon: #000000;
74
+ --kerykeion-chart-color-mercury: #000000;
75
+ --kerykeion-chart-color-venus: #000000;
76
+ --kerykeion-chart-color-mars: #000000;
77
+ --kerykeion-chart-color-jupiter: #000000;
78
+ --kerykeion-chart-color-saturn: #000000;
79
+ --kerykeion-chart-color-uranus: #000000;
80
+ --kerykeion-chart-color-neptune: #000000;
81
+ --kerykeion-chart-color-pluto: #000000;
82
+ --kerykeion-chart-color-true-node: #000000;
83
+ --kerykeion-chart-color-mean-node: #000000;
84
+ --kerykeion-chart-color-chiron: #000000;
85
+ --kerykeion-chart-color-first-house: #000000;
86
+ --kerykeion-chart-color-tenth-house: #000000;
87
+ --kerykeion-chart-color-seventh-house: #000000;
88
+ --kerykeion-chart-color-fourth-house: #000000;
89
+ --kerykeion-chart-color-mean-lilith: #000000;
90
+ --kerykeion-chart-color-true-lilith: #000000;
91
+ --kerykeion-chart-color-ceres: #000000;
92
+ --kerykeion-chart-color-pallas: #000000;
93
+ --kerykeion-chart-color-juno: #000000;
94
+ --kerykeion-chart-color-vesta: #000000;
95
+ --kerykeion-chart-color-pars-fortunae: #000000;
96
+ --kerykeion-chart-color-vertex: #000000;
97
+ --kerykeion-chart-color-east-point: #000000;
98
+ --kerykeion-chart-color-eris: #000000;
99
+ --kerykeion-chart-color-earth: #000000;
100
+ --kerykeion-chart-color-pholus: #000000;
101
+ --kerykeion-chart-color-sedna: #000000;
102
+ --kerykeion-chart-color-haumea: #000000;
103
+ --kerykeion-chart-color-makemake: #000000;
104
+ --kerykeion-chart-color-ixion: #000000;
105
+ --kerykeion-chart-color-orcus: #000000;
106
+ --kerykeion-chart-color-quaoar: #000000;
107
+ --kerykeion-chart-color-regulus: #000000;
108
+ --kerykeion-chart-color-spica: #000000;
109
+ --kerykeion-chart-color-anti-vertex: #000000;
110
+
111
+ /* Arab Parts */
112
+ --kerykeion-chart-color-pars-spiritus: #000000;
113
+ --kerykeion-chart-color-pars-amoris: #000000;
114
+ --kerykeion-chart-color-pars-fortunae: #000000;
115
+ --kerykeion-chart-color-pars-fidei: #000000;
116
+
117
+ /* Zodiac Signs */
118
+ --kerykeion-chart-color-zodiac-icon-0: #000000;
119
+ --kerykeion-chart-color-zodiac-icon-1: #000000;
120
+ --kerykeion-chart-color-zodiac-icon-2: #000000;
121
+ --kerykeion-chart-color-zodiac-icon-3: #000000;
122
+ --kerykeion-chart-color-zodiac-icon-4: #000000;
123
+ --kerykeion-chart-color-zodiac-icon-5: #000000;
124
+ --kerykeion-chart-color-zodiac-icon-6: #000000;
125
+ --kerykeion-chart-color-zodiac-icon-7: #000000;
126
+ --kerykeion-chart-color-zodiac-icon-8: #000000;
127
+ --kerykeion-chart-color-zodiac-icon-9: #000000;
128
+ --kerykeion-chart-color-zodiac-icon-10: #000000;
129
+ --kerykeion-chart-color-zodiac-icon-11: #000000;
130
+
131
+ /* Elements Percentage */
132
+ --kerykeion-chart-color-air-percentage: #111111;
133
+ --kerykeion-chart-color-earth-percentage: #333333;
134
+ --kerykeion-chart-color-fire-percentage: #555555;
135
+ --kerykeion-chart-color-water-percentage: #777777;
136
+
137
+ /* Modalities Percentage */
138
+ --kerykeion-chart-color-cardinal-percentage: #222222;
139
+ --kerykeion-chart-color-fixed-percentage: #444444;
140
+ --kerykeion-chart-color-mutable-percentage: #666666;
141
+
142
+ /* Aspects */
143
+ --kerykeion-chart-color-lunar-phase-0: var(--kerykeion-color-black);
144
+ --kerykeion-chart-color-lunar-phase-1: var(--kerykeion-color-white);
145
+
146
+ /* Houses Numbers */
147
+ --kerykeion-chart-color-house-number: #000000;
148
+ }
@@ -41,9 +41,11 @@ Copyright: (C) 2025 Kerykeion Project
41
41
  License: AGPL-3.0
42
42
  """
43
43
 
44
+ import logging
45
+ from typing import Optional
46
+
44
47
  from kerykeion import AstrologicalSubjectFactory
45
48
  from kerykeion.aspects import AspectsFactory
46
- import logging
47
49
  from kerykeion.schemas.kr_models import AstrologicalSubjectModel, RelationshipScoreAspectModel, RelationshipScoreModel
48
50
  from kerykeion.schemas.kr_literals import RelationshipScoreDescription
49
51
 
@@ -77,6 +79,8 @@ class RelationshipScoreFactory:
77
79
  first_subject (AstrologicalSubjectModel): First astrological subject
78
80
  second_subject (AstrologicalSubjectModel): Second astrological subject
79
81
  use_only_major_aspects (bool, optional): Filter to major aspects only. Defaults to True.
82
+ axis_orb_limit (float | None, optional): Optional orb threshold for chart axes
83
+ filtering during aspect calculation.
80
84
 
81
85
  Reference:
82
86
  http://www.cirodiscepolo.it/Articoli/Discepoloele.htm
@@ -98,6 +102,8 @@ class RelationshipScoreFactory:
98
102
  first_subject: AstrologicalSubjectModel,
99
103
  second_subject: AstrologicalSubjectModel,
100
104
  use_only_major_aspects: bool = True,
105
+ *,
106
+ axis_orb_limit: Optional[float] = None,
101
107
  ):
102
108
  self.use_only_major_aspects = use_only_major_aspects
103
109
  self.first_subject: AstrologicalSubjectModel = first_subject
@@ -107,7 +113,11 @@ class RelationshipScoreFactory:
107
113
  self.relationship_score_description: RelationshipScoreDescription = "Minimal"
108
114
  self.is_destiny_sign = False
109
115
  self.relationship_score_aspects: list[RelationshipScoreAspectModel] = []
110
- self._synastry_aspects = AspectsFactory.dual_chart_aspects(self.first_subject, self.second_subject).all_aspects
116
+ self._synastry_aspects = AspectsFactory.dual_chart_aspects(
117
+ self.first_subject,
118
+ self.second_subject,
119
+ axis_orb_limit=axis_orb_limit,
120
+ ).all_aspects
111
121
 
112
122
  def _evaluate_destiny_sign(self):
113
123
  """
@@ -39,6 +39,33 @@ class ChartTemplateModel(SubscriptableBaseModel):
39
39
  makeHouseComparisonGrid: str
40
40
  """SVG markup for house comparison grid"""
41
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
+
42
69
  chart_height: float
43
70
  """Chart height in pixels"""
44
71
 
@@ -136,7 +136,7 @@ Usually the standard is "Apparent Geocentric"
136
136
  SignsEmoji = Literal["♈️", "♉️", "♊️", "♋️", "♌️", "♍️", "♎️", "♏️", "♐️", "♑️", "♒️", "♓️"]
137
137
  """Literal type for Zodiac Signs Emoji"""
138
138
 
139
- KerykeionChartTheme = Literal["light", "dark", "dark-high-contrast", "classic", "strawberry"]
139
+ KerykeionChartTheme = Literal["light", "dark", "dark-high-contrast", "classic", "strawberry", "black-and-white"]
140
140
  """Literal type for Kerykeion Chart Themes"""
141
141
 
142
142
 
@@ -1,6 +1,20 @@
1
- from .kerykeion_settings import KerykeionSettingsModel, get_settings
1
+ from kerykeion.schemas import KerykeionSettingsModel
2
+ from .chart_defaults import (
3
+ DEFAULT_CHART_COLORS,
4
+ DEFAULT_CELESTIAL_POINTS_SETTINGS,
5
+ DEFAULT_CHART_ASPECTS_SETTINGS,
6
+ )
7
+ from .kerykeion_settings import LANGUAGE_SETTINGS, SettingsSource, load_settings_mapping
8
+ from .translations import get_translations, load_language_settings
2
9
 
3
10
  __all__ = [
4
11
  "KerykeionSettingsModel",
5
- "get_settings",
12
+ "DEFAULT_CHART_COLORS",
13
+ "DEFAULT_CELESTIAL_POINTS_SETTINGS",
14
+ "DEFAULT_CHART_ASPECTS_SETTINGS",
15
+ "LANGUAGE_SETTINGS",
16
+ "load_settings_mapping",
17
+ "load_language_settings",
18
+ "get_translations",
19
+ "SettingsSource",
6
20
  ]