kerykeion 5.0.0a9__py3-none-any.whl → 5.0.0a11__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 +21 -4
- kerykeion/aspects/__init__.py +7 -2
- kerykeion/aspects/aspects_utils.py +1 -3
- kerykeion/aspects/natal_aspects_factory.py +235 -0
- kerykeion/aspects/synastry_aspects_factory.py +275 -0
- kerykeion/astrological_subject_factory.py +688 -86
- kerykeion/charts/charts_utils.py +12 -12
- kerykeion/charts/draw_planets.py +584 -344
- kerykeion/charts/kerykeion_chart_svg.py +11 -16
- kerykeion/charts/templates/wheel_only.xml +1 -1
- kerykeion/composite_subject_factory.py +229 -10
- kerykeion/ephemeris_data_factory.py +431 -0
- kerykeion/fetch_geonames.py +27 -8
- kerykeion/house_comparison/__init__.py +6 -0
- kerykeion/house_comparison/house_comparison_factory.py +1 -1
- kerykeion/house_comparison/house_comparison_utils.py +0 -1
- kerykeion/kr_types/__init__.py +49 -0
- kerykeion/kr_types/kerykeion_exception.py +6 -0
- kerykeion/kr_types/kr_models.py +84 -2
- kerykeion/kr_types/settings_models.py +9 -1
- kerykeion/planetary_return_factory.py +538 -37
- kerykeion/relationship_score_factory.py +123 -59
- kerykeion/report.py +7 -1
- kerykeion/settings/__init__.py +5 -0
- kerykeion/settings/config_constants.py +20 -6
- kerykeion/settings/kr.config.json +80 -0
- kerykeion/transits_time_range_factory.py +293 -0
- kerykeion/utilities.py +130 -68
- {kerykeion-5.0.0a9.dist-info → kerykeion-5.0.0a11.dist-info}/METADATA +9 -4
- kerykeion-5.0.0a11.dist-info/RECORD +50 -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/enums.py +0 -57
- kerykeion/ephemeris_data.py +0 -238
- kerykeion/transits_time_range.py +0 -128
- 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.0.0a11.dist-info}/WHEEL +0 -0
- {kerykeion-5.0.0a9.dist-info → kerykeion-5.0.0a11.dist-info}/licenses/LICENSE +0 -0
kerykeion/kr_types/kr_models.py
CHANGED
|
@@ -34,19 +34,33 @@ class SubscriptableBaseModel(BaseModel):
|
|
|
34
34
|
"""
|
|
35
35
|
|
|
36
36
|
def __getitem__(self, key):
|
|
37
|
+
"""Get an attribute using dictionary-style access."""
|
|
37
38
|
return getattr(self, key)
|
|
38
39
|
|
|
39
40
|
def __setitem__(self, key, value):
|
|
41
|
+
"""Set an attribute using dictionary-style access."""
|
|
40
42
|
setattr(self, key, value)
|
|
41
43
|
|
|
42
44
|
def __delitem__(self, key):
|
|
45
|
+
"""Delete an attribute using dictionary-style access."""
|
|
43
46
|
delattr(self, key)
|
|
44
47
|
|
|
45
48
|
def get(self, key, default = None):
|
|
49
|
+
"""Get an attribute with a default value if not found."""
|
|
46
50
|
return getattr(self, key, default)
|
|
47
51
|
|
|
48
52
|
|
|
49
53
|
class LunarPhaseModel(SubscriptableBaseModel):
|
|
54
|
+
"""
|
|
55
|
+
Model representing lunar phase information.
|
|
56
|
+
|
|
57
|
+
Attributes:
|
|
58
|
+
degrees_between_s_m: Angular separation between Sun and Moon in degrees.
|
|
59
|
+
moon_phase: Numerical phase identifier for the Moon.
|
|
60
|
+
sun_phase: Numerical phase identifier for the Sun.
|
|
61
|
+
moon_emoji: Emoji representation of the lunar phase.
|
|
62
|
+
moon_phase_name: Text name of the lunar phase.
|
|
63
|
+
"""
|
|
50
64
|
degrees_between_s_m: Union[float, int]
|
|
51
65
|
moon_phase: int
|
|
52
66
|
sun_phase: int
|
|
@@ -56,7 +70,24 @@ class LunarPhaseModel(SubscriptableBaseModel):
|
|
|
56
70
|
|
|
57
71
|
class KerykeionPointModel(SubscriptableBaseModel):
|
|
58
72
|
"""
|
|
59
|
-
|
|
73
|
+
Model representing an astrological celestial point or house cusp.
|
|
74
|
+
|
|
75
|
+
This model contains comprehensive information about celestial objects
|
|
76
|
+
(planets, points) or house cusps including their zodiacal position,
|
|
77
|
+
sign placement, and metadata.
|
|
78
|
+
|
|
79
|
+
Attributes:
|
|
80
|
+
name: The name of the celestial point or house.
|
|
81
|
+
quality: Astrological quality (Cardinal, Fixed, Mutable).
|
|
82
|
+
element: Astrological element (Fire, Earth, Air, Water).
|
|
83
|
+
sign: The zodiac sign the point is located in.
|
|
84
|
+
sign_num: Numerical identifier for the zodiac sign (0-11).
|
|
85
|
+
position: Position within the sign (0-30 degrees).
|
|
86
|
+
abs_pos: Absolute position in the zodiac (0-360 degrees).
|
|
87
|
+
emoji: Unicode emoji representing the point or sign.
|
|
88
|
+
point_type: Type of the celestial point (Planet, House, etc.).
|
|
89
|
+
house: House placement of the point (optional).
|
|
90
|
+
retrograde: Whether the point is in retrograde motion (optional).
|
|
60
91
|
"""
|
|
61
92
|
|
|
62
93
|
name: Union[AstrologicalPoint, Houses]
|
|
@@ -74,7 +105,29 @@ class KerykeionPointModel(SubscriptableBaseModel):
|
|
|
74
105
|
|
|
75
106
|
class AstrologicalBaseModel(SubscriptableBaseModel):
|
|
76
107
|
"""
|
|
77
|
-
Base
|
|
108
|
+
Base model containing common fields for all astrological subjects.
|
|
109
|
+
|
|
110
|
+
This model serves as the foundation for all astrological chart types,
|
|
111
|
+
providing standard location, time, and configuration data. It supports
|
|
112
|
+
both complete charts (with full location/time data) and composite charts
|
|
113
|
+
(where some fields may be optional).
|
|
114
|
+
|
|
115
|
+
Attributes:
|
|
116
|
+
name: Subject identifier or name.
|
|
117
|
+
city: Location city (optional for composite charts).
|
|
118
|
+
nation: Country code (optional for composite charts).
|
|
119
|
+
lng: Longitude coordinate (optional for composite charts).
|
|
120
|
+
lat: Latitude coordinate (optional for composite charts).
|
|
121
|
+
tz_str: Timezone string (optional for composite charts).
|
|
122
|
+
iso_formatted_local_datetime: Local datetime in ISO format (optional).
|
|
123
|
+
iso_formatted_utc_datetime: UTC datetime in ISO format (optional).
|
|
124
|
+
julian_day: Julian day number for astronomical calculations (optional).
|
|
125
|
+
day_of_week: Day of the week (optional).
|
|
126
|
+
zodiac_type: Type of zodiac system used (Tropical or Sidereal).
|
|
127
|
+
sidereal_mode: Sidereal calculation mode (if applicable).
|
|
128
|
+
houses_system_identifier: House system used for calculations.
|
|
129
|
+
perspective_type: Astrological perspective (geocentric, heliocentric, etc.).
|
|
130
|
+
active_points: List of celestial points included in calculations.
|
|
78
131
|
"""
|
|
79
132
|
# Common identification data
|
|
80
133
|
name: str
|
|
@@ -285,6 +338,35 @@ class TransitMomentModel(SubscriptableBaseModel):
|
|
|
285
338
|
aspects: List[AspectModel] = Field(description="List of aspects active at this specific moment.")
|
|
286
339
|
|
|
287
340
|
|
|
341
|
+
class NatalAspectsModel(SubscriptableBaseModel):
|
|
342
|
+
"""
|
|
343
|
+
Model representing all aspects in a natal chart.
|
|
344
|
+
|
|
345
|
+
Contains both all calculated aspects and the filtered relevant aspects
|
|
346
|
+
for an astrological subject.
|
|
347
|
+
"""
|
|
348
|
+
subject: Union["AstrologicalSubjectModel", "CompositeSubjectModel", "PlanetReturnModel"] = Field(description="The astrological subject for which aspects were calculated.")
|
|
349
|
+
all_aspects: List[AspectModel] = Field(description="Complete list of all calculated aspects.")
|
|
350
|
+
relevant_aspects: List[AspectModel] = Field(description="Filtered list of relevant aspects based on orb settings.")
|
|
351
|
+
active_points: List[AstrologicalPoint] = Field(description="List of active points used in the calculation.")
|
|
352
|
+
active_aspects: List["ActiveAspect"] = Field(description="List of active aspects with their orb settings.")
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
class SynastryAspectsModel(SubscriptableBaseModel):
|
|
356
|
+
"""
|
|
357
|
+
Model representing all aspects between two astrological subjects.
|
|
358
|
+
|
|
359
|
+
Contains both all calculated synastry aspects and the filtered relevant aspects
|
|
360
|
+
between two charts.
|
|
361
|
+
"""
|
|
362
|
+
first_subject: Union["AstrologicalSubjectModel", "CompositeSubjectModel", "PlanetReturnModel"] = Field(description="The first astrological subject.")
|
|
363
|
+
second_subject: Union["AstrologicalSubjectModel", "CompositeSubjectModel", "PlanetReturnModel"] = Field(description="The second astrological subject.")
|
|
364
|
+
all_aspects: List[AspectModel] = Field(description="Complete list of all calculated synastry aspects.")
|
|
365
|
+
relevant_aspects: List[AspectModel] = Field(description="Filtered list of relevant synastry aspects based on orb settings.")
|
|
366
|
+
active_points: List[AstrologicalPoint] = Field(description="List of active points used in the calculation.")
|
|
367
|
+
active_aspects: List["ActiveAspect"] = Field(description="List of active aspects with their orb settings.")
|
|
368
|
+
|
|
369
|
+
|
|
288
370
|
class TransitsTimeRangeModel(SubscriptableBaseModel):
|
|
289
371
|
"""
|
|
290
372
|
Model representing a collection of transit moments for an astrological subject.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
from pydantic import Field
|
|
8
|
-
from typing import
|
|
8
|
+
from typing import Optional
|
|
9
9
|
from kerykeion.kr_types.kr_models import SubscriptableBaseModel
|
|
10
10
|
|
|
11
11
|
|
|
@@ -163,6 +163,14 @@ class KerykeionLanguageModel(SubscriptableBaseModel):
|
|
|
163
163
|
return_point: str = Field(title="Return Point", description="The return point label in the chart, in the language")
|
|
164
164
|
natal: str = Field(title="Natal", description="The natal label in the chart, in the language")
|
|
165
165
|
perspective_type: str = Field(title="Perspective Type", description="The perspective type label in the chart, in the language")
|
|
166
|
+
location: str = Field(title="Location", description="The location label in the chart, in the language")
|
|
167
|
+
day_of_week: str = Field(title="Day of Week", description="The day of week label in the chart, in the language")
|
|
168
|
+
elements: str = Field(title="Elements", description="The elements label in the chart, in the language")
|
|
169
|
+
qualities: str = Field(title="Qualities", description="The qualities label in the chart, in the language")
|
|
170
|
+
cardinal: str = Field(title="Cardinal", description="The cardinal quality label in the chart, in the language")
|
|
171
|
+
fixed: str = Field(title="Fixed", description="The fixed quality label in the chart, in the language")
|
|
172
|
+
mutable: str = Field(title="Mutable", description="The mutable quality label in the chart, in the language")
|
|
173
|
+
birth_chart: str = Field(title="Birth Chart", description="The birth chart label in the chart, in the language")
|
|
166
174
|
|
|
167
175
|
# Settings Model
|
|
168
176
|
class KerykeionSettingsModel(SubscriptableBaseModel):
|