kerykeion 5.1.0__py3-none-any.whl → 5.1.1__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/chart_data_factory.py +9 -6
- kerykeion/charts/chart_drawer.py +6 -6
- kerykeion/report.py +1 -2
- kerykeion/schemas/kr_models.py +2 -2
- {kerykeion-5.1.0.dist-info → kerykeion-5.1.1.dist-info}/METADATA +2 -2
- {kerykeion-5.1.0.dist-info → kerykeion-5.1.1.dist-info}/RECORD +8 -8
- {kerykeion-5.1.0.dist-info → kerykeion-5.1.1.dist-info}/WHEEL +0 -0
- {kerykeion-5.1.0.dist-info → kerykeion-5.1.1.dist-info}/licenses/LICENSE +0 -0
kerykeion/chart_data_factory.py
CHANGED
|
@@ -159,10 +159,10 @@ class ChartDataFactory:
|
|
|
159
159
|
)
|
|
160
160
|
|
|
161
161
|
# Calculate aspects based on chart type
|
|
162
|
-
|
|
162
|
+
aspects_model: Union[SingleChartAspectsModel, DualChartAspectsModel]
|
|
163
163
|
if chart_type in ["Natal", "Composite", "SingleReturnChart"]:
|
|
164
164
|
# Single chart aspects
|
|
165
|
-
|
|
165
|
+
aspects_model = AspectsFactory.single_chart_aspects(
|
|
166
166
|
first_subject,
|
|
167
167
|
active_points=effective_active_points,
|
|
168
168
|
active_aspects=active_aspects,
|
|
@@ -172,7 +172,7 @@ class ChartDataFactory:
|
|
|
172
172
|
# Dual chart aspects - second_subject is guaranteed to exist here due to validation above
|
|
173
173
|
if second_subject is None:
|
|
174
174
|
raise KerykeionException(f"Second subject is required for {chart_type} charts.")
|
|
175
|
-
|
|
175
|
+
aspects_model = AspectsFactory.dual_chart_aspects(
|
|
176
176
|
first_subject,
|
|
177
177
|
second_subject,
|
|
178
178
|
active_points=effective_active_points,
|
|
@@ -301,7 +301,7 @@ class ChartDataFactory:
|
|
|
301
301
|
return SingleChartDataModel(
|
|
302
302
|
chart_type=cast(Literal["Natal", "Composite", "SingleReturnChart"], chart_type),
|
|
303
303
|
subject=first_subject,
|
|
304
|
-
aspects=cast(SingleChartAspectsModel, aspects
|
|
304
|
+
aspects=cast(SingleChartAspectsModel, aspects_model).aspects,
|
|
305
305
|
element_distribution=element_distribution,
|
|
306
306
|
quality_distribution=quality_distribution,
|
|
307
307
|
active_points=effective_active_points,
|
|
@@ -315,7 +315,7 @@ class ChartDataFactory:
|
|
|
315
315
|
chart_type=cast(Literal["Transit", "Synastry", "DualReturnChart"], chart_type),
|
|
316
316
|
first_subject=first_subject,
|
|
317
317
|
second_subject=second_subject,
|
|
318
|
-
aspects=cast(DualChartAspectsModel, aspects
|
|
318
|
+
aspects=cast(DualChartAspectsModel, aspects_model).aspects,
|
|
319
319
|
house_comparison=house_comparison,
|
|
320
320
|
relationship_score=relationship_score,
|
|
321
321
|
element_distribution=element_distribution,
|
|
@@ -542,8 +542,11 @@ if __name__ == "__main__":
|
|
|
542
542
|
|
|
543
543
|
print(f"Chart Type: {natal_data.chart_type}")
|
|
544
544
|
print(f"Active Points: {len(natal_data.active_points)}")
|
|
545
|
-
print(f"Aspects: {len(natal_data.aspects
|
|
545
|
+
print(f"Aspects: {len(natal_data.aspects)}")
|
|
546
546
|
print(f"Fire: {natal_data.element_distribution.fire_percentage}%")
|
|
547
547
|
print(f"Earth: {natal_data.element_distribution.earth_percentage}%")
|
|
548
548
|
print(f"Air: {natal_data.element_distribution.air_percentage}%")
|
|
549
549
|
print(f"Water: {natal_data.element_distribution.water_percentage}%")
|
|
550
|
+
|
|
551
|
+
print("\n---\n")
|
|
552
|
+
print(natal_data.model_dump_json(indent=4))
|
kerykeion/charts/chart_drawer.py
CHANGED
|
@@ -343,7 +343,7 @@ class ChartDrawer:
|
|
|
343
343
|
# --- NATAL CHART SETUP ---
|
|
344
344
|
|
|
345
345
|
# Extract aspects from pre-computed chart data
|
|
346
|
-
self.aspects_list = chart_data.aspects
|
|
346
|
+
self.aspects_list = chart_data.aspects
|
|
347
347
|
|
|
348
348
|
# Screen size
|
|
349
349
|
self.height = self._DEFAULT_HEIGHT
|
|
@@ -366,7 +366,7 @@ class ChartDrawer:
|
|
|
366
366
|
# --- COMPOSITE CHART SETUP ---
|
|
367
367
|
|
|
368
368
|
# Extract aspects from pre-computed chart data
|
|
369
|
-
self.aspects_list = chart_data.aspects
|
|
369
|
+
self.aspects_list = chart_data.aspects
|
|
370
370
|
|
|
371
371
|
# Screen size
|
|
372
372
|
self.height = self._DEFAULT_HEIGHT
|
|
@@ -384,7 +384,7 @@ class ChartDrawer:
|
|
|
384
384
|
# --- TRANSIT CHART SETUP ---
|
|
385
385
|
|
|
386
386
|
# Extract aspects from pre-computed chart data
|
|
387
|
-
self.aspects_list = chart_data.aspects
|
|
387
|
+
self.aspects_list = chart_data.aspects
|
|
388
388
|
|
|
389
389
|
# Screen size
|
|
390
390
|
self.height = self._DEFAULT_HEIGHT
|
|
@@ -405,7 +405,7 @@ class ChartDrawer:
|
|
|
405
405
|
# --- SYNASTRY CHART SETUP ---
|
|
406
406
|
|
|
407
407
|
# Extract aspects from pre-computed chart data
|
|
408
|
-
self.aspects_list = chart_data.aspects
|
|
408
|
+
self.aspects_list = chart_data.aspects
|
|
409
409
|
|
|
410
410
|
# Screen size
|
|
411
411
|
self.height = self._DEFAULT_HEIGHT
|
|
@@ -423,7 +423,7 @@ class ChartDrawer:
|
|
|
423
423
|
# --- RETURN CHART SETUP ---
|
|
424
424
|
|
|
425
425
|
# Extract aspects from pre-computed chart data
|
|
426
|
-
self.aspects_list = chart_data.aspects
|
|
426
|
+
self.aspects_list = chart_data.aspects
|
|
427
427
|
|
|
428
428
|
# Screen size
|
|
429
429
|
self.height = self._DEFAULT_HEIGHT
|
|
@@ -441,7 +441,7 @@ class ChartDrawer:
|
|
|
441
441
|
# --- SINGLE WHEEL RETURN CHART SETUP ---
|
|
442
442
|
|
|
443
443
|
# Extract aspects from pre-computed chart data
|
|
444
|
-
self.aspects_list = chart_data.aspects
|
|
444
|
+
self.aspects_list = chart_data.aspects
|
|
445
445
|
|
|
446
446
|
# Screen size
|
|
447
447
|
self.height = self._DEFAULT_HEIGHT
|
kerykeion/report.py
CHANGED
|
@@ -510,8 +510,7 @@ class ReportGenerator:
|
|
|
510
510
|
if not self._chart_data or not getattr(self._chart_data, "aspects", None):
|
|
511
511
|
return ""
|
|
512
512
|
|
|
513
|
-
|
|
514
|
-
aspects_list = list(getattr(aspects_model, "aspects", []))
|
|
513
|
+
aspects_list = list(self._chart_data.aspects)
|
|
515
514
|
|
|
516
515
|
if not aspects_list:
|
|
517
516
|
return "No aspects data available."
|
kerykeion/schemas/kr_models.py
CHANGED
|
@@ -536,7 +536,7 @@ class SingleChartDataModel(SubscriptableBaseModel):
|
|
|
536
536
|
subject: Union["AstrologicalSubjectModel", "CompositeSubjectModel", "PlanetReturnModel"]
|
|
537
537
|
|
|
538
538
|
# Internal aspects analysis
|
|
539
|
-
aspects:
|
|
539
|
+
aspects: List[AspectModel]
|
|
540
540
|
|
|
541
541
|
# Element and quality distributions
|
|
542
542
|
element_distribution: "ElementDistributionModel"
|
|
@@ -582,7 +582,7 @@ class DualChartDataModel(SubscriptableBaseModel):
|
|
|
582
582
|
second_subject: Union["AstrologicalSubjectModel", "PlanetReturnModel"]
|
|
583
583
|
|
|
584
584
|
# Inter-chart aspects analysis
|
|
585
|
-
aspects:
|
|
585
|
+
aspects: List[AspectModel]
|
|
586
586
|
|
|
587
587
|
# House comparison analysis
|
|
588
588
|
house_comparison: Optional["HouseComparisonModel"] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kerykeion
|
|
3
|
-
Version: 5.1.
|
|
3
|
+
Version: 5.1.1
|
|
4
4
|
Summary: A Python library for astrological calculations, including natal charts, houses, planetary aspects, and SVG chart generation.
|
|
5
5
|
Project-URL: Homepage, https://www.kerykeion.net/
|
|
6
6
|
Project-URL: Repository, https://github.com/g-battaglia/kerykeion
|
|
@@ -1336,7 +1336,7 @@ All data structures are now strongly typed Pydantic models:
|
|
|
1336
1336
|
|
|
1337
1337
|
- **`AstrologicalSubjectModel`**: Subject data with full validation
|
|
1338
1338
|
- **`ChartDataModel`**: Enriched chart data with elements, qualities, aspects
|
|
1339
|
-
- **`
|
|
1339
|
+
- **`AspectModel` list**: Raw aspect entries directly on `ChartDataModel.aspects`
|
|
1340
1340
|
- **`PlanetReturnModel`**: Planetary return data
|
|
1341
1341
|
- **`ElementDistributionModel`**: Element statistics (fire, earth, air, water)
|
|
1342
1342
|
- **`QualityDistributionModel`**: Quality statistics (cardinal, fixed, mutable)
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
kerykeion/__init__.py,sha256=7gI_kWXhsmEK4SvNV6CkRmI0yjA3r7EO8UfQc_44UZU,1963
|
|
2
2
|
kerykeion/astrological_subject_factory.py,sha256=KaNuPSgVOgAva9z83fTuCpvIfEm3hsJro-z_mFPU1Q4,94604
|
|
3
3
|
kerykeion/backword.py,sha256=zqsFWE0xI7vwXnFT2vngufFaJueI3qCIDCVgG-alzCM,32860
|
|
4
|
-
kerykeion/chart_data_factory.py,sha256=
|
|
4
|
+
kerykeion/chart_data_factory.py,sha256=gtAlZs_IjPMUJUitLjkRFCESmAj-wEOlYdCPQ2b8XwA,25123
|
|
5
5
|
kerykeion/composite_subject_factory.py,sha256=eUtjThDlYr6SQsEi02_CgO1kEMUMYgQGzR5rX91GEwY,17120
|
|
6
6
|
kerykeion/ephemeris_data_factory.py,sha256=uwEhVqqkB56HbxKueMAvSAbEKkYTJ9GH3mVLDNxIQnc,20358
|
|
7
7
|
kerykeion/fetch_geonames.py,sha256=SPI4fSvD59C-IVpaoeOHuD7_kjGbTLo2fypO2x57-p4,5432
|
|
8
8
|
kerykeion/planetary_return_factory.py,sha256=bIVPqa2gs7hYHi8aaMfVr4U99xWZk3LmYqZI9KG6ACo,37572
|
|
9
9
|
kerykeion/relationship_score_factory.py,sha256=pVrsRlFs__bfVe8K3cOirsnRtdBOW2DbnKqPa7jCWF0,11396
|
|
10
|
-
kerykeion/report.py,sha256=
|
|
10
|
+
kerykeion/report.py,sha256=MK5_E_DkG09kEdFMueyQ45J_6JJg3QvkYSA0tywehx4,31414
|
|
11
11
|
kerykeion/transits_time_range_factory.py,sha256=YRSFVa2MIZFQMPbEL2njKd-P7p431zoAsINrddZz5Yw,13934
|
|
12
12
|
kerykeion/utilities.py,sha256=LKljXx0HSjlT5pspvG4VIY1po_xG1dLGNNfEWg0G5Fs,24391
|
|
13
13
|
kerykeion/aspects/__init__.py,sha256=csJmxvLdBu-bHuW676f3dpY__Qyc6LwRyrpWVTh3n1A,287
|
|
14
14
|
kerykeion/aspects/aspects_factory.py,sha256=XCuOOpo0ZW7sihYT2f50bLVpebEk19b9EtEjXonwte0,24156
|
|
15
15
|
kerykeion/aspects/aspects_utils.py,sha256=00-MMLEGChpceab8sHKB1_qg6EG4ycTG2u2vYZcyLmQ,5784
|
|
16
16
|
kerykeion/charts/__init__.py,sha256=i9NMZ7LdkllPlqQSi1or9gTobHbROGDKmJhBDO4R0mA,128
|
|
17
|
-
kerykeion/charts/chart_drawer.py,sha256=
|
|
17
|
+
kerykeion/charts/chart_drawer.py,sha256=VCk2s6kUT2AhNWhVdepuhp2_6qHk3Fiq0d4EMq0pvZQ,122240
|
|
18
18
|
kerykeion/charts/charts_utils.py,sha256=JzPnbZJnH4lrIENb5saRtbHn_GbyaElXVBwKdyP90Dg,70110
|
|
19
19
|
kerykeion/charts/draw_planets.py,sha256=tIj3FeLLomVSbCaZUxfw_qBEB3pxi4EIEhqaeTgTyTY,29061
|
|
20
20
|
kerykeion/charts/templates/aspect_grid_only.xml,sha256=v3QtNMjk-kBdUTfB0r6thg--Ta_tNFdRQCzdk5PAycY,86429
|
|
@@ -39,7 +39,7 @@ kerykeion/schemas/__init__.py,sha256=EcwbnoYPKLq3m7n5s2cEZ8UyWpxdmHXbvM23hLNBNBI
|
|
|
39
39
|
kerykeion/schemas/chart_template_model.py,sha256=fQ_EZ8ccOgNd4gXu5KilF1dUH9B2RVCDLHc09YkYLyY,8978
|
|
40
40
|
kerykeion/schemas/kerykeion_exception.py,sha256=vTYdwj_mL-Q-MqHJvEzzBXxQ5YI2kAwUC6ImoWxMKXc,454
|
|
41
41
|
kerykeion/schemas/kr_literals.py,sha256=p0lm598ut0GyeT-sRzWNcp5BFk9-FdYme4XjEUFJ3cA,5656
|
|
42
|
-
kerykeion/schemas/kr_models.py,sha256=
|
|
42
|
+
kerykeion/schemas/kr_models.py,sha256=e1PQxUqC437IWIVKrOi71NVR5bEV7KGhF_JAaxs9zN0,21945
|
|
43
43
|
kerykeion/schemas/settings_models.py,sha256=NlOW9T7T5kD5Dzna1UOdb7XPQeQnzMOu0y4-ApERxPw,17619
|
|
44
44
|
kerykeion/settings/__init__.py,sha256=IJUqkYTpvmbKecVeCbsiL1qU_4xWc78u4OrvN_T3ZAI,624
|
|
45
45
|
kerykeion/settings/chart_defaults.py,sha256=TSm2hXCxym3I7XpIqIMBLWM253Z0dCGbhPi2MpWbD_0,12490
|
|
@@ -57,7 +57,7 @@ kerykeion/sweph/ast28/se28978s.se1,sha256=nU2Qp-ELc_tzFnRc1QT6uVueWXEipvhYDgfQRX
|
|
|
57
57
|
kerykeion/sweph/ast50/se50000s.se1,sha256=9jTrPlIrZMOBWC9cNgwzcfz0KBHdXFZoY9-NZ_HtECo,15748
|
|
58
58
|
kerykeion/sweph/ast90/se90377s.se1,sha256=bto2x4LtBv8b1ej1XhVFYq-kfHO9cczbKV9U1f9UVu4,10288
|
|
59
59
|
kerykeion/sweph/ast90/se90482s.se1,sha256=uHxz6bP4K8zgtQFrlWFwxrYfmqm5kXxsg6OYhAIUbAA,16173
|
|
60
|
-
kerykeion-5.1.
|
|
61
|
-
kerykeion-5.1.
|
|
62
|
-
kerykeion-5.1.
|
|
63
|
-
kerykeion-5.1.
|
|
60
|
+
kerykeion-5.1.1.dist-info/METADATA,sha256=Ec1Bzr2pPHj_k2Y_1QpZVIE0bHRRHFmJgQCvK3FgFpg,61445
|
|
61
|
+
kerykeion-5.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
62
|
+
kerykeion-5.1.1.dist-info/licenses/LICENSE,sha256=UTLH8EdbAsgQei4PA2PnBCPGLSZkq5J-dhkyJuXgWQU,34273
|
|
63
|
+
kerykeion-5.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|