kerykeion 3.1.1__py3-none-any.whl → 5.1.9__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 (75) hide show
  1. kerykeion/__init__.py +58 -141
  2. kerykeion/aspects/__init__.py +14 -0
  3. kerykeion/aspects/aspects_factory.py +568 -0
  4. kerykeion/aspects/aspects_utils.py +164 -0
  5. kerykeion/astrological_subject_factory.py +1901 -0
  6. kerykeion/backword.py +820 -0
  7. kerykeion/chart_data_factory.py +552 -0
  8. kerykeion/charts/__init__.py +5 -0
  9. kerykeion/charts/chart_drawer.py +2794 -0
  10. kerykeion/charts/charts_utils.py +1840 -0
  11. kerykeion/charts/draw_planets.py +658 -0
  12. kerykeion/charts/templates/aspect_grid_only.xml +596 -0
  13. kerykeion/charts/templates/chart.xml +741 -0
  14. kerykeion/charts/templates/wheel_only.xml +653 -0
  15. kerykeion/charts/themes/black-and-white.css +148 -0
  16. kerykeion/charts/themes/classic.css +113 -0
  17. kerykeion/charts/themes/dark-high-contrast.css +159 -0
  18. kerykeion/charts/themes/dark.css +160 -0
  19. kerykeion/charts/themes/light.css +160 -0
  20. kerykeion/charts/themes/strawberry.css +158 -0
  21. kerykeion/composite_subject_factory.py +408 -0
  22. kerykeion/ephemeris_data_factory.py +443 -0
  23. kerykeion/fetch_geonames.py +105 -61
  24. kerykeion/house_comparison/__init__.py +6 -0
  25. kerykeion/house_comparison/house_comparison_factory.py +103 -0
  26. kerykeion/house_comparison/house_comparison_utils.py +126 -0
  27. kerykeion/kr_types/__init__.py +70 -0
  28. kerykeion/kr_types/chart_template_model.py +20 -0
  29. kerykeion/kr_types/kerykeion_exception.py +20 -0
  30. kerykeion/kr_types/kr_literals.py +20 -0
  31. kerykeion/kr_types/kr_models.py +20 -0
  32. kerykeion/kr_types/settings_models.py +20 -0
  33. kerykeion/planetary_return_factory.py +805 -0
  34. kerykeion/relationship_score_factory.py +301 -0
  35. kerykeion/report.py +779 -0
  36. kerykeion/schemas/__init__.py +106 -0
  37. kerykeion/schemas/chart_template_model.py +367 -0
  38. kerykeion/schemas/kerykeion_exception.py +20 -0
  39. kerykeion/schemas/kr_literals.py +181 -0
  40. kerykeion/schemas/kr_models.py +603 -0
  41. kerykeion/schemas/settings_models.py +188 -0
  42. kerykeion/settings/__init__.py +20 -0
  43. kerykeion/settings/chart_defaults.py +444 -0
  44. kerykeion/settings/config_constants.py +152 -0
  45. kerykeion/settings/kerykeion_settings.py +51 -0
  46. kerykeion/settings/translation_strings.py +1499 -0
  47. kerykeion/settings/translations.py +74 -0
  48. kerykeion/sweph/README.md +3 -0
  49. kerykeion/sweph/ast136/s136108s.se1 +0 -0
  50. kerykeion/sweph/ast136/s136199s.se1 +0 -0
  51. kerykeion/sweph/ast136/s136472s.se1 +0 -0
  52. kerykeion/sweph/ast28/se28978s.se1 +0 -0
  53. kerykeion/sweph/ast50/se50000s.se1 +0 -0
  54. kerykeion/sweph/ast90/se90377s.se1 +0 -0
  55. kerykeion/sweph/ast90/se90482s.se1 +0 -0
  56. kerykeion/sweph/seas_18.se1 +0 -0
  57. kerykeion/sweph/sefstars.txt +1602 -0
  58. kerykeion/transits_time_range_factory.py +302 -0
  59. kerykeion/utilities.py +762 -130
  60. kerykeion-5.1.9.dist-info/METADATA +1793 -0
  61. kerykeion-5.1.9.dist-info/RECORD +63 -0
  62. {kerykeion-3.1.1.dist-info → kerykeion-5.1.9.dist-info}/WHEEL +1 -2
  63. kerykeion-5.1.9.dist-info/licenses/LICENSE +661 -0
  64. kerykeion/aspects.py +0 -331
  65. kerykeion/charts/charts_svg.py +0 -1607
  66. kerykeion/charts/templates/basic.xml +0 -285
  67. kerykeion/charts/templates/extended.xml +0 -294
  68. kerykeion/kr.config.json +0 -464
  69. kerykeion/main.py +0 -595
  70. kerykeion/print_all_data.py +0 -44
  71. kerykeion/relationship_score.py +0 -219
  72. kerykeion/types.py +0 -190
  73. kerykeion-3.1.1.dist-info/METADATA +0 -204
  74. kerykeion-3.1.1.dist-info/RECORD +0 -17
  75. kerykeion-3.1.1.dist-info/top_level.txt +0 -1
kerykeion/__init__.py CHANGED
@@ -1,146 +1,63 @@
1
+ # -*- coding: utf-8 -*-
1
2
  """
2
- This is part of Kerykeion (C) 2022 Giacomo Battaglia
3
-
4
- Kerykeion is a python library for Astrology.
5
- It can calculate all the planet and house position,
6
- also it can calculate the aspects of a single persone or between two, you can set how many planets you
7
- need in the settings in the utility module.
8
- It also can generate an SVG of a birthchart, a composite chart or a transit chart.
9
-
10
- Here some examples:
11
-
12
- ```python
13
-
14
- # Import the main class for creating a kerykeion instance:
15
- >>> from kerykeion import KrInstance
16
-
17
- # Create a kerykeion instance:
18
- # Args: Name, year, month, day, hour, minuts, city, nation(optional)
19
- >>> kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
20
-
21
- # Get the information about the sun in the chart:
22
- # (The position of the planets always starts at 0)
23
- >>> kanye.sun
24
- {'name': 'Sun', 'quality': 'Mutable', 'element': 'Air', 'sign': 'Gem', 'sign_num': 2, 'pos': 17.598992059774275, 'abs_pos': 77.59899205977428, 'emoji': '♊️', 'house': '12th House', 'retrograde': False}
25
-
26
- # Get informations about the first house:
27
- >>> kanye.first_house
28
- {'name': '1', 'quality': 'Cardinal', 'element': 'Water', 'sign': 'Can', 'sign_num': 3, 'pos': 17.995779673209114, 'abs_pos': 107.99577967320911, 'emoji': '♋️'}
29
-
30
- # Get element of the moon sign:
31
- >>> kanye.moon.get("element")
32
- 'Water'
33
-
34
- ```
35
-
36
- ## Generate a SVG of the birthchart:
37
-
38
- ```python
39
- >>> from kerykeion import KrInstance, MakeSvgInstance
40
-
41
- >>> first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
42
- >>> second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
43
-
44
- # Set the type, it can be Natal, Composite or Transit
45
-
46
- >>> name = MakeSvgInstance(first, chart_type="Composite", second_obj=second)
47
- >>> name.makeSVG()
48
- >>> print(len(name.aspects_list))
49
- >>> Generating kerykeion object for Jack...
50
- Generating kerykeion object for Jane...
51
- Jack birth location: Roma, 41.89193, 12.51133
52
- SVG Generated Correctly
53
- 38
54
-
55
- ```
56
-
57
- ![alt text](http://centuryboy.altervista.org/JackComposite_Chart.svg)
58
-
59
-
60
- # Example of a possible text output with information:
61
-
62
- ```python
63
- >>> from kerykeion import print_all_data, KrInstance
64
-
65
- >>> kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
66
-
67
- >>> print_all_data(kanye)
68
- NAME: Kanye
69
- PLANET POSITION
70
-
71
- Sun: Gem 17.599 in 12th House
72
- Moon: Pis 16.425 in 9th House
73
- Mercury: Tau 26.286 in 11th House
74
- Venus: Tau 2.032 in 10th House
75
- Mars: Tau 1.79 in 10th House
76
- Jupiter: Gem 14.607 in 11th House
77
- Saturn: Leo 12.799 in 2nd House
78
- Uranus: Sco 8.273 in 4th House
79
- Neptune: Sag 14.693 in 5th House
80
- Pluto: Lib 11.446 in 4th House
81
-
82
- PLACIDUS HAUSES
83
- House Cusp 1: Can 17.996
84
- House Cusp 2: Leo 9.506
85
- House Cusp 3: Vir 4.022
86
- House Cusp 4: Lib 3.977
87
- House Cusp 5: Sco 9.393
88
- House Cusp 6: Sag 15.681
89
- House Cusp 7: Cap 17.996
90
- House Cusp 8: Aqu 9.506
91
- House Cusp 9: Pis 4.022
92
- House Cusp 10: Ari 3.977
93
- House Cusp 11: Tau 9.393
94
- House Cusp 12: Gem 15.681
95
-
96
- ```
97
-
98
- ## Other exeples of possibles usecase
99
-
100
- ```python
101
- # Get all aspects between two persons:
102
-
103
- >>> from kerykeion import CompositeAspects, KrInstance
104
- >>> first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
105
- >>> second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
106
-
107
- >>> name = CompositeAspects(first, second)
108
- >>> aspect_list = name.get_relevant_aspects()
109
- >>> print(aspect_list[0])
110
-
111
- Generating kerykeion object for Jack...
112
- Generating kerykeion object for Jane...
113
- {'p1_name': 'Sun', 'p1_abs_pos': 84.17867971515636, 'p2_name': 'Sun', 'p2_abs_pos': 211.90472999502984, 'aspect': 'trine', 'orbit': 7.726050279873476, 'aspect_degrees': 120, 'color': '#36d100', 'aid': 6, 'diff': 127.72605027987348, 'p1': 0, 'p2': 0}
114
-
115
- ```
116
-
117
- ## Documentation
118
-
119
- Most of the functions and the classes are self documented by the types and have docstrings.
120
- An auto-generated documentation [is available here](https://g-battaglia.github.io/kerykeion).
121
-
122
- Sooner or later I'll try to write an extensive documentation.
123
-
124
- ## Installation
125
-
126
- Kerykeion is a Python 3 package, make sure you have Python 3 installed on your system.
127
-
128
- ## Development
129
-
130
- You can clone this repository or download a zip file using the right side buttons.
131
-
132
- ## Contributing
133
-
134
- Feel free to contribute to the code!
3
+ This is part of Kerykeion (C) 2025 Giacomo Battaglia
135
4
 
5
+ .. include:: ../README.md
136
6
  """
137
- #!/usr/bin/env python3
138
- # -*- coding: utf-8 -*-
139
7
 
140
8
  # Local
141
- from .main import KrInstance
142
- from .print_all_data import print_all_data
143
- from .charts.charts_svg import MakeSvgInstance
144
- from .types import *
145
- from .relationship_score import RelationshipScore
146
- from .aspects import NatalAspects, CompositeAspects
9
+ from .aspects import AspectsFactory
10
+ from .astrological_subject_factory import AstrologicalSubjectFactory
11
+ from .chart_data_factory import ChartDataFactory
12
+ from .schemas import KerykeionException
13
+ from .schemas.kr_models import (
14
+ ChartDataModel,
15
+ SingleChartDataModel,
16
+ DualChartDataModel,
17
+ ElementDistributionModel,
18
+ QualityDistributionModel,
19
+ HouseComparisonModel,
20
+ )
21
+ from .charts.chart_drawer import ChartDrawer
22
+ from .composite_subject_factory import CompositeSubjectFactory
23
+ from .ephemeris_data_factory import EphemerisDataFactory
24
+ from .house_comparison.house_comparison_factory import HouseComparisonFactory
25
+ from .planetary_return_factory import PlanetaryReturnFactory, PlanetReturnModel
26
+ from .relationship_score_factory import RelationshipScoreFactory
27
+ from .report import ReportGenerator
28
+ from .settings import KerykeionSettingsModel
29
+ from .transits_time_range_factory import TransitsTimeRangeFactory
30
+ from .backword import (
31
+ AstrologicalSubject, # Legacy wrapper
32
+ KerykeionChartSVG, # Legacy wrapper
33
+ NatalAspects, # Legacy wrapper
34
+ SynastryAspects, # Legacy wrapper
35
+ )
36
+
37
+ __all__ = [
38
+ "AspectsFactory",
39
+ "AstrologicalSubjectFactory",
40
+ "ChartDataFactory",
41
+ "ChartDataModel",
42
+ "SingleChartDataModel",
43
+ "DualChartDataModel",
44
+ "ElementDistributionModel",
45
+ "QualityDistributionModel",
46
+ "ChartDrawer",
47
+ "CompositeSubjectFactory",
48
+ "EphemerisDataFactory",
49
+ "HouseComparisonFactory",
50
+ "HouseComparisonModel",
51
+ "KerykeionException",
52
+ "PlanetaryReturnFactory",
53
+ "PlanetReturnModel",
54
+ "RelationshipScoreFactory",
55
+ "ReportGenerator",
56
+ "KerykeionSettingsModel",
57
+ "TransitsTimeRangeFactory",
58
+ # Legacy (v4) exported names for backward compatibility
59
+ "AstrologicalSubject",
60
+ "KerykeionChartSVG",
61
+ "NatalAspects",
62
+ "SynastryAspects",
63
+ ]
@@ -0,0 +1,14 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ This is part of Kerykeion (C) 2025 Giacomo Battaglia
4
+
5
+ The aspects module contains the classes and functions for calculating
6
+ aspects between planets and points in a chart.
7
+ """
8
+
9
+
10
+ from .aspects_factory import AspectsFactory
11
+
12
+ __all__ = [
13
+ "AspectsFactory",
14
+ ]