kerykeion 4.5.0__py3-none-any.whl → 4.6.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.

kerykeion/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
 
5
5
  Kerykeion is a python library for Astrology.
6
6
  It can calculate all the planet and house position,
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
 
5
5
  The aspects module contains the classes and functions for calculating
6
6
  aspects between planets and points in a chart.
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
  # TODO: Better documentation and unit tests
6
6
 
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
  from pathlib import Path
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
  from kerykeion import AstrologicalSubject
@@ -1,9 +1,8 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
- import math
7
6
  import pytz
8
7
  import swisseph as swe
9
8
  import logging
@@ -17,7 +16,13 @@ from kerykeion.kr_types import (
17
16
  LunarPhaseModel,
18
17
  KerykeionPointModel,
19
18
  )
20
- from kerykeion.utilities import get_number_from_name, calculate_position
19
+ from kerykeion.utilities import (
20
+ get_number_from_name,
21
+ calculate_position,
22
+ get_planet_house,
23
+ get_moon_emoji_from_phase_int,
24
+ get_moon_phase_name_from_phase_int,
25
+ )
21
26
  from pathlib import Path
22
27
  from typing import Union, Literal
23
28
 
@@ -93,7 +98,7 @@ class AstrologicalSubject:
93
98
  pluto: KerykeionPointModel
94
99
  true_node: KerykeionPointModel
95
100
  mean_node: KerykeionPointModel
96
- chiron: KerykeionPointModel | None
101
+ chiron: Union[KerykeionPointModel, None]
97
102
 
98
103
  # Houses
99
104
  first_house: KerykeionPointModel
@@ -431,64 +436,21 @@ class AstrologicalSubject:
431
436
  """Calculates the house of the planet and updates
432
437
  the planets dictionary."""
433
438
 
434
- def for_every_planet(planet, planet_deg):
435
- """Function to do the calculation.
436
- Args: planet dictionary, planet degree"""
437
-
438
- def point_between(p1, p2, p3):
439
- """Finds if a point is between two other in a circle
440
- args: first point, second point, point in the middle"""
441
- p1_p2 = math.fmod(p2 - p1 + 360, 360)
442
- p1_p3 = math.fmod(p3 - p1 + 360, 360)
443
- if (p1_p2 <= 180) != (p1_p3 > p1_p2):
444
- return True
445
- else:
446
- return False
447
-
448
- if point_between(self.houses_degree_ut[0], self.houses_degree_ut[1], planet_deg) == True:
449
- planet["house"] = "First_House"
450
- elif point_between(self.houses_degree_ut[1], self.houses_degree_ut[2], planet_deg) == True:
451
- planet["house"] = "Second_House"
452
- elif point_between(self.houses_degree_ut[2], self.houses_degree_ut[3], planet_deg) == True:
453
- planet["house"] = "Third_House"
454
- elif point_between(self.houses_degree_ut[3], self.houses_degree_ut[4], planet_deg) == True:
455
- planet["house"] = "Fourth_House"
456
- elif point_between(self.houses_degree_ut[4], self.houses_degree_ut[5], planet_deg) == True:
457
- planet["house"] = "Fifth_House"
458
- elif point_between(self.houses_degree_ut[5], self.houses_degree_ut[6], planet_deg) == True:
459
- planet["house"] = "Sixth_House"
460
- elif point_between(self.houses_degree_ut[6], self.houses_degree_ut[7], planet_deg) == True:
461
- planet["house"] = "Seventh_House"
462
- elif point_between(self.houses_degree_ut[7], self.houses_degree_ut[8], planet_deg) == True:
463
- planet["house"] = "Eighth_House"
464
- elif point_between(self.houses_degree_ut[8], self.houses_degree_ut[9], planet_deg) == True:
465
- planet["house"] = "Ninth_House"
466
- elif point_between(self.houses_degree_ut[9], self.houses_degree_ut[10], planet_deg) == True:
467
- planet["house"] = "Tenth_House"
468
- elif point_between(self.houses_degree_ut[10], self.houses_degree_ut[11], planet_deg) == True:
469
- planet["house"] = "Eleventh_House"
470
- elif point_between(self.houses_degree_ut[11], self.houses_degree_ut[0], planet_deg) == True:
471
- planet["house"] = "Twelfth_House"
472
- else:
473
- planet["house"] = "error!"
474
-
475
- return planet
476
-
477
- self.sun = for_every_planet(self.sun, self.planets_degrees_ut[0])
478
- self.moon = for_every_planet(self.moon, self.planets_degrees_ut[1])
479
- self.mercury = for_every_planet(self.mercury, self.planets_degrees_ut[2])
480
- self.venus = for_every_planet(self.venus, self.planets_degrees_ut[3])
481
- self.mars = for_every_planet(self.mars, self.planets_degrees_ut[4])
482
- self.jupiter = for_every_planet(self.jupiter, self.planets_degrees_ut[5])
483
- self.saturn = for_every_planet(self.saturn, self.planets_degrees_ut[6])
484
- self.uranus = for_every_planet(self.uranus, self.planets_degrees_ut[7])
485
- self.neptune = for_every_planet(self.neptune, self.planets_degrees_ut[8])
486
- self.pluto = for_every_planet(self.pluto, self.planets_degrees_ut[9])
487
- self.mean_node = for_every_planet(self.mean_node, self.planets_degrees_ut[10])
488
- self.true_node = for_every_planet(self.true_node, self.planets_degrees_ut[11])
439
+ self.sun.house = get_planet_house(self.planets_degrees_ut[0], self.houses_degree_ut)
440
+ self.moon.house = get_planet_house(self.planets_degrees_ut[1], self.houses_degree_ut)
441
+ self.mercury.house = get_planet_house(self.planets_degrees_ut[2], self.houses_degree_ut)
442
+ self.venus.house = get_planet_house(self.planets_degrees_ut[3], self.houses_degree_ut)
443
+ self.mars.house = get_planet_house(self.planets_degrees_ut[4], self.houses_degree_ut)
444
+ self.jupiter.house = get_planet_house(self.planets_degrees_ut[5], self.houses_degree_ut)
445
+ self.saturn.house = get_planet_house(self.planets_degrees_ut[6], self.houses_degree_ut)
446
+ self.uranus.house = get_planet_house(self.planets_degrees_ut[7], self.houses_degree_ut)
447
+ self.neptune.house = get_planet_house(self.planets_degrees_ut[8], self.houses_degree_ut)
448
+ self.pluto.house = get_planet_house(self.planets_degrees_ut[9], self.houses_degree_ut)
449
+ self.mean_node.house = get_planet_house(self.planets_degrees_ut[10], self.houses_degree_ut)
450
+ self.true_node.house = get_planet_house(self.planets_degrees_ut[11], self.houses_degree_ut)
489
451
 
490
452
  if not self.disable_chiron:
491
- self.chiron = for_every_planet(self.chiron, self.planets_degrees_ut[12])
453
+ self.chiron.house = get_planet_house(self.planets_degrees_ut[12], self.houses_degree_ut)
492
454
  else:
493
455
  self.chiron = None
494
456
 
@@ -583,33 +545,12 @@ class AstrologicalSubject:
583
545
  if degrees_between >= low and degrees_between < high:
584
546
  sun_phase = x + 1
585
547
 
586
- def moon_emoji(phase):
587
- if phase == 1:
588
- result = "🌑"
589
- elif phase < 7:
590
- result = "🌒"
591
- elif 7 <= phase <= 9:
592
- result = "🌓"
593
- elif phase < 14:
594
- result = "🌔"
595
- elif phase == 14:
596
- result = "🌕"
597
- elif phase < 20:
598
- result = "🌖"
599
- elif 20 <= phase <= 22:
600
- result = "🌗"
601
- elif phase <= 28:
602
- result = "🌘"
603
- else:
604
- result = phase
605
-
606
- return result
607
-
608
548
  lunar_phase_dictionary = {
609
549
  "degrees_between_s_m": degrees_between,
610
550
  "moon_phase": moon_phase,
611
551
  "sun_phase": sun_phase,
612
- "moon_emoji": moon_emoji(moon_phase),
552
+ "moon_emoji": get_moon_emoji_from_phase_int(moon_phase),
553
+ "moon_phase_name": get_moon_phase_name_from_phase_int(moon_phase)
613
554
  }
614
555
 
615
556
  self.lunar_phase = LunarPhaseModel(**lunar_phase_dictionary)
@@ -1,5 +1,5 @@
1
1
  """
2
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
2
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
3
3
 
4
4
  This modules contains the charts logic for the Kerykeion project.
5
5
  """
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
 
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
 
@@ -1,3 +1,8 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
+ """
5
+
1
6
  from .kerykeion_exception import KerykeionException
2
7
  from .kr_literals import *
3
8
  from .kr_models import *
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
 
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
 
@@ -56,3 +56,13 @@ Quality = Literal[
56
56
  ChartType = Literal["Natal", "ExternalNatal", "Synastry", "Transit"]
57
57
 
58
58
  LunarPhaseEmoji = Literal["🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"]
59
+ LunarPhaseName = Literal[
60
+ "New Moon",
61
+ "Waxing Crescent",
62
+ "First Quarter",
63
+ "Waxing Gibbous",
64
+ "Full Moon",
65
+ "Waning Gibbous",
66
+ "Last Quarter",
67
+ "Waning Crescent"
68
+ ]
@@ -1,13 +1,13 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
 
7
7
  from typing import Literal, Union, Optional
8
8
  from pydantic import BaseModel
9
9
 
10
- from .kr_literals import *
10
+ from kerykeion.kr_types import LunarPhaseEmoji, LunarPhaseName, Planet, Houses, Quality, Element, Sign, ZodiacType
11
11
 
12
12
 
13
13
  class LunarPhaseModel(BaseModel):
@@ -15,11 +15,12 @@ class LunarPhaseModel(BaseModel):
15
15
  moon_phase: int
16
16
  sun_phase: int
17
17
  moon_emoji: LunarPhaseEmoji
18
+ moon_phase_name: LunarPhaseName
18
19
 
19
20
  def __str__(self):
20
21
  return (
21
22
  super()
22
- .dict(
23
+ .model_dump(
23
24
  exclude_none=True,
24
25
  exclude_unset=True,
25
26
  exclude_defaults=True,
@@ -73,7 +74,7 @@ class KerykeionPointModel(BaseModel):
73
74
  def __str__(self):
74
75
  return (
75
76
  super()
76
- .dict(
77
+ .model_dump(
77
78
  exclude_none=True,
78
79
  exclude_unset=True,
79
80
  exclude_defaults=True,
@@ -85,7 +86,7 @@ class KerykeionPointModel(BaseModel):
85
86
  def __repr__(self):
86
87
  return (
87
88
  super()
88
- .dict(
89
+ .model_dump(
89
90
  exclude_none=True,
90
91
  exclude_unset=True,
91
92
  exclude_defaults=True,
@@ -136,7 +137,7 @@ class AstrologicalSubjectModel(BaseModel):
136
137
  uranus: KerykeionPointModel
137
138
  neptune: KerykeionPointModel
138
139
  pluto: KerykeionPointModel
139
- chiron: KerykeionPointModel | None
140
+ chiron: Union[KerykeionPointModel, None]
140
141
 
141
142
  # Houses
142
143
  first_house: KerykeionPointModel
@@ -162,6 +163,7 @@ class AstrologicalSubjectModel(BaseModel):
162
163
 
163
164
  if __name__ == "__main__":
164
165
  from kerykeion.utilities import setup_logging
166
+
165
167
  setup_logging(level="debug")
166
168
 
167
169
  sun = KerykeionPointModel(
@@ -176,5 +178,5 @@ if __name__ == "__main__":
176
178
  point_type="Planet",
177
179
  )
178
180
 
179
- print(sun.json())
181
+ print(sun.model_dump_json())
180
182
  print(sun)
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
 
@@ -22,7 +22,7 @@ class CustomBaseModel(BaseModel):
22
22
  return getattr(self, item)
23
23
 
24
24
  def __str__(self) -> str:
25
- return str(self.dict())
25
+ return str(self.model_dump())
26
26
 
27
27
  def get(self, item, default=None):
28
28
  return getattr(self, item, default)
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
  from kerykeion import AstrologicalSubject
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- This is part of Kerykeion (C) 2023 Giacomo Battaglia
3
+ This is part of Kerykeion (C) 2024 Giacomo Battaglia
4
4
  """
5
5
 
6
6
 
@@ -60,7 +60,7 @@ def merge_settings(settings: KerykeionSettingsModel, new_settings: Dict) -> Kery
60
60
  Returns:
61
61
  KerykeionSettingsModel: The new settings
62
62
  """
63
- new_settings_dict = settings.dict() | new_settings
63
+ new_settings_dict = settings.model_dump() | new_settings
64
64
  return KerykeionSettingsModel(**new_settings_dict)
65
65
 
66
66
 
kerykeion/utilities.py CHANGED
@@ -1,6 +1,9 @@
1
1
  from kerykeion.kr_types import KerykeionPointModel, KerykeionException, KerykeionSettingsModel, AstrologicalSubjectModel
2
+ from kerykeion.kr_types.kr_literals import LunarPhaseEmoji, LunarPhaseName
2
3
  from typing import Union, Literal
3
4
  import logging
5
+ import math
6
+
4
7
 
5
8
 
6
9
  def get_number_from_name(name: str) -> int:
@@ -220,3 +223,135 @@ def setup_logging(level: str) -> None:
220
223
  format: str = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
221
224
  loglevel: int = logopt.get(level, logging.INFO)
222
225
  logging.basicConfig(format=format, level=loglevel)
226
+
227
+ def check_if_point_between(
228
+ start_point: Union[int, float], end_point: Union[int, float], evaluated_point: Union[int, float]
229
+ ) -> bool:
230
+ """
231
+ Finds if a point is between two other in a circle.
232
+
233
+ Args:
234
+ - start_point: The first point
235
+ - end_point: The second point
236
+ - point: The point to check if it is between start_point and end_point
237
+
238
+ Returns:
239
+ - True if point is between start_point and end_point, False otherwise
240
+ """
241
+
242
+ p1_p2 = math.fmod(end_point - start_point + 360, 360)
243
+ p1_p3 = math.fmod(evaluated_point - start_point + 360, 360)
244
+
245
+ if (p1_p2 <= 180) != (p1_p3 > p1_p2):
246
+ return True
247
+ else:
248
+ return False
249
+
250
+
251
+ def get_planet_house(planet_position_degree: Union[int, float], houses_degree_ut_list: list) -> str:
252
+ """
253
+ Returns the house in which a planet is located.
254
+
255
+ Args:
256
+ - planet_position_degree: The position of the planet in degrees
257
+ - houses_degree_ut_list: A list of the houses in degrees (0-360)
258
+
259
+ Returns:
260
+ - The house in which the planet is located
261
+ """
262
+
263
+ house = None
264
+ if check_if_point_between(houses_degree_ut_list[0], houses_degree_ut_list[1], planet_position_degree) == True:
265
+ house = "First_House"
266
+ elif check_if_point_between(houses_degree_ut_list[1], houses_degree_ut_list[2], planet_position_degree) == True:
267
+ house = "Second_House"
268
+ elif check_if_point_between(houses_degree_ut_list[2], houses_degree_ut_list[3], planet_position_degree) == True:
269
+ house = "Third_House"
270
+ elif check_if_point_between(houses_degree_ut_list[3], houses_degree_ut_list[4], planet_position_degree) == True:
271
+ house = "Fourth_House"
272
+ elif check_if_point_between(houses_degree_ut_list[4], houses_degree_ut_list[5], planet_position_degree) == True:
273
+ house = "Fifth_House"
274
+ elif check_if_point_between(houses_degree_ut_list[5], houses_degree_ut_list[6], planet_position_degree) == True:
275
+ house = "Sixth_House"
276
+ elif check_if_point_between(houses_degree_ut_list[6], houses_degree_ut_list[7], planet_position_degree) == True:
277
+ house = "Seventh_House"
278
+ elif check_if_point_between(houses_degree_ut_list[7], houses_degree_ut_list[8], planet_position_degree) == True:
279
+ house = "Eighth_House"
280
+ elif check_if_point_between(houses_degree_ut_list[8], houses_degree_ut_list[9], planet_position_degree) == True:
281
+ house = "Ninth_House"
282
+ elif check_if_point_between(houses_degree_ut_list[9], houses_degree_ut_list[10], planet_position_degree) == True:
283
+ house = "Tenth_House"
284
+ elif check_if_point_between(houses_degree_ut_list[10], houses_degree_ut_list[11], planet_position_degree) == True:
285
+ house = "Eleventh_House"
286
+ elif check_if_point_between(houses_degree_ut_list[11], houses_degree_ut_list[0], planet_position_degree) == True:
287
+ house = "Twelfth_House"
288
+ else:
289
+ raise ValueError("Error in house calculation, planet: ", planet_position_degree)
290
+
291
+ return house
292
+
293
+ def get_moon_emoji_from_phase_int(phase: int) -> LunarPhaseEmoji:
294
+ """
295
+ Returns the emoji of the moon phase.
296
+
297
+ Args:
298
+ - phase: The phase of the moon (0-28)
299
+
300
+ Returns:
301
+ - The emoji of the moon phase
302
+ """
303
+
304
+ if phase == 1:
305
+ result = "🌑"
306
+ elif phase < 7:
307
+ result = "🌒"
308
+ elif 7 <= phase <= 9:
309
+ result = "🌓"
310
+ elif phase < 14:
311
+ result = "🌔"
312
+ elif phase == 14:
313
+ result = "🌕"
314
+ elif phase < 20:
315
+ result = "🌖"
316
+ elif 20 <= phase <= 22:
317
+ result = "🌗"
318
+ elif phase <= 28:
319
+ result = "🌘"
320
+
321
+ else:
322
+ raise KerykeionException(f"Error in moon emoji calculation! Phase: {phase}")
323
+
324
+ return result
325
+
326
+ def get_moon_phase_name_from_phase_int(phase: int) -> LunarPhaseName:
327
+ """
328
+ Returns the name of the moon phase.
329
+
330
+ Args:
331
+ - phase: The phase of the moon (0-28)
332
+
333
+ Returns:
334
+ - The name of the moon phase
335
+ """
336
+
337
+ if phase == 1:
338
+ result = "New Moon"
339
+ elif phase < 7:
340
+ result = "Waxing Crescent"
341
+ elif 7 <= phase <= 9:
342
+ result = "First Quarter"
343
+ elif phase < 14:
344
+ result = "Waxing Gibbous"
345
+ elif phase == 14:
346
+ result = "Full Moon"
347
+ elif phase < 20:
348
+ result = "Waning Gibbous"
349
+ elif 20 <= phase <= 22:
350
+ result = "Last Quarter"
351
+ elif phase <= 28:
352
+ result = "Waning Crescent"
353
+
354
+ else:
355
+ raise KerykeionException(f"Error in moon name calculation! Phase: {phase}")
356
+
357
+ return result
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kerykeion
3
- Version: 4.5.0
3
+ Version: 4.6.0
4
4
  Summary: A python library for astrology.
5
5
  Home-page: https://github.com/g-battaglia/kerykeion
6
6
  License: AGPL-3.0
@@ -0,0 +1,32 @@
1
+ LICENSE,sha256=UTLH8EdbAsgQei4PA2PnBCPGLSZkq5J-dhkyJuXgWQU,34273
2
+ kerykeion/__init__.py,sha256=Z2-gAp09RAl2_WwzPO-OTc4ZRDLh54kTduAoy891gQc,3917
3
+ kerykeion/aspects/__init__.py,sha256=9FlDVI1ndCJga0-chNIhcLitjU_x3kbtAFfFqVp2ejc,293
4
+ kerykeion/aspects/aspects_utils.py,sha256=Rdo3ITDSU80n6U7aazpzzK4ruv7Iui2PaI3zMGqu1NQ,5832
5
+ kerykeion/aspects/natal_aspects.py,sha256=m3_v1dM6YXvENZ6iN_EJkikKxySZBeR5QKhGsaChERk,4507
6
+ kerykeion/aspects/synastry_aspects.py,sha256=uwg7Lc7wKnpxW9ydOdBHqx9cvO_t0ydGfIGluBIDD7c,3993
7
+ kerykeion/astrological_subject.py,sha256=9vLsYZYfAfkR5EJO_EkbkhXa4i788Yv1lCESaQrt5kU,22965
8
+ kerykeion/charts/__init__.py,sha256=Juxkduy2TaagWblh_7CE8Acrg3dHL27-WEddJhau_eQ,127
9
+ kerykeion/charts/charts_utils.py,sha256=qQMXu5XZCCjvyqL62fzh4JnKLzd_G6u9pcMk6f1DpIc,3197
10
+ kerykeion/charts/kerykeion_chart_svg.py,sha256=tZ8EoInlPfd_BwjutOQoWJSzLYX9gZPbQFTd1Jt6eUk,65295
11
+ kerykeion/charts/templates/chart.xml,sha256=ZrkqJV3Du8vG1w8kVkM1wI-IiZNVDLDuS6dRtPz7wVo,69874
12
+ kerykeion/enums.py,sha256=Ben9GLYkPucpYY2ZDpURzUbNCc9jzK2MuaffkgiXFdQ,965
13
+ kerykeion/fetch_geonames.py,sha256=fWuhgP_hZTPzDuodu7hvSznzGCWj3IC3vHAX32zPRw8,4444
14
+ kerykeion/kr_types/__init__.py,sha256=-qhGQikurdoHnGtuT1bsaEeZ-IwmZtIHMjGOPC9_oqQ,295
15
+ kerykeion/kr_types/chart_types.py,sha256=PvdOEqzZZBrJxFKQqAC0KcnfIY4T4I2i6CeLQhvVbe8,1945
16
+ kerykeion/kr_types/kerykeion_exception.py,sha256=G-7VFta78qBt10l54JZWvwH-3lUNKmDwuILXaVGVu9A,314
17
+ kerykeion/kr_types/kr_literals.py,sha256=Kc7LfdeTqHi5uDGoQHWsB81GTBc5E-fGxTJqWKK1FFU,1267
18
+ kerykeion/kr_types/kr_models.py,sha256=3gyT4z-J9EM6p5175HKJX9q9WVWQTDt5Y_m3m8lZu9s,4260
19
+ kerykeion/kr_types/settings_models.py,sha256=fueHaDLW2GPQl4HWImUNsWxeM7xcF0JU-fFc3rQqPgE,12743
20
+ kerykeion/relationship_score.py,sha256=R9JugfK5_gJgr5ND-EghkqpqZcutzzKlJ-2JnYUMVv4,6794
21
+ kerykeion/report.py,sha256=kS5avIN119pJVapYjZOvabg77nEcA8sSrOuXbRifABk,2565
22
+ kerykeion/settings/__init__.py,sha256=QQNFCl7sgN27MKaVscqtpPk10HGz4wZS3I_7KEGMaVA,69
23
+ kerykeion/settings/kerykeion_settings.py,sha256=uRAbhJ0ZXAbGBPGJjhh5u8YX2phcXobEwJA646wMHcM,2347
24
+ kerykeion/settings/kr.config.json,sha256=1Yhv9RGHom5U9e-JZZRWVfT2Ubllz2WrckdwadDWfyg,12282
25
+ kerykeion/sweph/README.md,sha256=L7FtNAJTWtrZNGKa8MX87SjduFYPYxwWhaI5fmtzNZo,73
26
+ kerykeion/sweph/seas_18.se1,sha256=X9nCqhZU43wJpq61WAdueVQJt9xL2UjrwPqn1Kdoa1s,223002
27
+ kerykeion/utilities.py,sha256=ncoXHvzXhNjhdm-uU6hMirVo287laq2GAJElNE6cBZM,10822
28
+ kerykeion-4.6.0.dist-info/LICENSE,sha256=UTLH8EdbAsgQei4PA2PnBCPGLSZkq5J-dhkyJuXgWQU,34273
29
+ kerykeion-4.6.0.dist-info/METADATA,sha256=UuR2aP1ciXmkgpX3p2R3TLWzs54LdS2mdkFBuBwRhRQ,10311
30
+ kerykeion-4.6.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
31
+ kerykeion-4.6.0.dist-info/entry_points.txt,sha256=5SmANYscFDDTdeovHvGQ-cnj0hdFvGoxPaWLCpyDFnQ,49
32
+ kerykeion-4.6.0.dist-info/RECORD,,
@@ -1,32 +0,0 @@
1
- LICENSE,sha256=UTLH8EdbAsgQei4PA2PnBCPGLSZkq5J-dhkyJuXgWQU,34273
2
- kerykeion/__init__.py,sha256=PCtgM8o1R8Poo4RoISq23jLP-74LYWoShnK4bm81Yks,3917
3
- kerykeion/aspects/__init__.py,sha256=8uOTYtcMwyDBbDjIoz8wvWtdcgdU-86yQeM3EVLwnIA,293
4
- kerykeion/aspects/aspects_utils.py,sha256=10ozUZ4ZhMJ8e_wOZ02hoW9mHJm_d7bq4QXKG90CeNc,5832
5
- kerykeion/aspects/natal_aspects.py,sha256=k3L6wLec7l7BF1jKULN8rNlQNOhINnfPN6x8MixoMMo,4507
6
- kerykeion/aspects/synastry_aspects.py,sha256=rM_of6GU-ZQL1A6JaLsG59MTaAeWx29MWRf9te9hHeg,3993
7
- kerykeion/astrological_subject.py,sha256=KWHvnqqDW4D4n4z4nysWighpYft6_G_K3PI7iwMp2gg,25672
8
- kerykeion/charts/__init__.py,sha256=3WzR2n9dr6MDzjTbEQOYpXSFlhfMfga5YWNsPawdbRw,127
9
- kerykeion/charts/charts_utils.py,sha256=qQMXu5XZCCjvyqL62fzh4JnKLzd_G6u9pcMk6f1DpIc,3197
10
- kerykeion/charts/kerykeion_chart_svg.py,sha256=-5kclHKKL8kya2lFFnw5pZiygck82lAFBSI-eyse8lk,65295
11
- kerykeion/charts/templates/chart.xml,sha256=ZrkqJV3Du8vG1w8kVkM1wI-IiZNVDLDuS6dRtPz7wVo,69874
12
- kerykeion/enums.py,sha256=Ben9GLYkPucpYY2ZDpURzUbNCc9jzK2MuaffkgiXFdQ,965
13
- kerykeion/fetch_geonames.py,sha256=NwiRzl-OlA2yoEtgHEvdgWeed42cpcONmOhb9s-DAOY,4444
14
- kerykeion/kr_types/__init__.py,sha256=-vRe-jixD6n8d7vsLSwbbvU4c2RXOoVvv0pjbX-9eiY,205
15
- kerykeion/kr_types/chart_types.py,sha256=PvdOEqzZZBrJxFKQqAC0KcnfIY4T4I2i6CeLQhvVbe8,1945
16
- kerykeion/kr_types/kerykeion_exception.py,sha256=CtdpOaGTox_LBGB0Ji_qtcwbgYAqBJ8AfDXbeaiAkM0,314
17
- kerykeion/kr_types/kr_literals.py,sha256=hbgeq5yPuyLv9zXp7shBeEsMHOd8UQBBUa_HQnBQu7w,1034
18
- kerykeion/kr_types/kr_models.py,sha256=g0-m17JetNpNgniyk5cxLtN23ho-zb5Y-HbHtGUX5Q4,4100
19
- kerykeion/kr_types/settings_models.py,sha256=4dOTAy6UgevF9dGPnBLIp4Aw5FBEygifnjDO8kALmdw,12737
20
- kerykeion/relationship_score.py,sha256=IPO8IH9J6GOYuuAfn01d0KamY1xSIjl391Zvk5F434Y,6794
21
- kerykeion/report.py,sha256=kS5avIN119pJVapYjZOvabg77nEcA8sSrOuXbRifABk,2565
22
- kerykeion/settings/__init__.py,sha256=QQNFCl7sgN27MKaVscqtpPk10HGz4wZS3I_7KEGMaVA,69
23
- kerykeion/settings/kerykeion_settings.py,sha256=vZCpWpTHVD3ItERWzsVW3syhgchJbWaPqGN6bsSl6vQ,2341
24
- kerykeion/settings/kr.config.json,sha256=1Yhv9RGHom5U9e-JZZRWVfT2Ubllz2WrckdwadDWfyg,12282
25
- kerykeion/sweph/README.md,sha256=L7FtNAJTWtrZNGKa8MX87SjduFYPYxwWhaI5fmtzNZo,73
26
- kerykeion/sweph/seas_18.se1,sha256=X9nCqhZU43wJpq61WAdueVQJt9xL2UjrwPqn1Kdoa1s,223002
27
- kerykeion/utilities.py,sha256=LOug1qgHoR12hNvL2hqdRWTnTHst4BdzY6u1dl3PfL0,6207
28
- kerykeion-4.5.0.dist-info/LICENSE,sha256=UTLH8EdbAsgQei4PA2PnBCPGLSZkq5J-dhkyJuXgWQU,34273
29
- kerykeion-4.5.0.dist-info/METADATA,sha256=0S62iUPPD6Y_yb_EhoChnwXj7uJFXzx08EJAuhT7l9U,10311
30
- kerykeion-4.5.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
31
- kerykeion-4.5.0.dist-info/entry_points.txt,sha256=5SmANYscFDDTdeovHvGQ-cnj0hdFvGoxPaWLCpyDFnQ,49
32
- kerykeion-4.5.0.dist-info/RECORD,,