kerykeion 4.0.4__tar.gz → 4.11.0__tar.gz

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 (38) hide show
  1. {kerykeion-4.0.4 → kerykeion-4.11.0}/PKG-INFO +50 -10
  2. kerykeion-4.11.0/README.md +258 -0
  3. kerykeion-4.0.4/README.md → kerykeion-4.11.0/kerykeion/__init__.py +43 -6
  4. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/aspects/__init__.py +2 -2
  5. kerykeion-4.11.0/kerykeion/aspects/aspects_utils.py +186 -0
  6. kerykeion-4.11.0/kerykeion/aspects/natal_aspects.py +135 -0
  7. kerykeion-4.11.0/kerykeion/aspects/synastry_aspects.py +108 -0
  8. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/astrological_subject.py +258 -150
  9. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/charts/__init__.py +1 -1
  10. kerykeion-4.11.0/kerykeion/charts/charts_utils.py +444 -0
  11. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/charts/kerykeion_chart_svg.py +439 -522
  12. kerykeion-4.11.0/kerykeion/charts/templates/chart.xml +522 -0
  13. kerykeion-4.11.0/kerykeion/enums.py +50 -0
  14. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/fetch_geonames.py +16 -25
  15. kerykeion-4.11.0/kerykeion/kr_types/__init__.py +10 -0
  16. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/kr_types/chart_types.py +33 -32
  17. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/kr_types/kerykeion_exception.py +1 -1
  18. kerykeion-4.11.0/kerykeion/kr_types/kr_literals.py +89 -0
  19. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/kr_types/kr_models.py +30 -76
  20. kerykeion-4.0.4/kerykeion/settings/kerykeion_settings.py → kerykeion-4.11.0/kerykeion/kr_types/settings_models.py +15 -65
  21. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/relationship_score.py +7 -13
  22. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/report.py +3 -0
  23. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/settings/__init__.py +1 -1
  24. kerykeion-4.11.0/kerykeion/settings/kerykeion_settings.py +71 -0
  25. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/settings/kr.config.json +13 -9
  26. kerykeion-4.11.0/kerykeion/utilities.py +356 -0
  27. {kerykeion-4.0.4 → kerykeion-4.11.0}/pyproject.toml +10 -8
  28. kerykeion-4.0.4/kerykeion/__init__.py +0 -108
  29. kerykeion-4.0.4/kerykeion/aspects/natal_aspects.py +0 -305
  30. kerykeion-4.0.4/kerykeion/aspects/synastry_aspects.py +0 -85
  31. kerykeion-4.0.4/kerykeion/charts/charts_utils.py +0 -110
  32. kerykeion-4.0.4/kerykeion/charts/templates/chart.xml +0 -490
  33. kerykeion-4.0.4/kerykeion/kr_types/__init__.py +0 -3
  34. kerykeion-4.0.4/kerykeion/kr_types/kr_literals.py +0 -58
  35. kerykeion-4.0.4/kerykeion/utilities.py +0 -208
  36. {kerykeion-4.0.4 → kerykeion-4.11.0}/LICENSE +0 -0
  37. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/sweph/README.md +0 -0
  38. {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/sweph/seas_18.se1 +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kerykeion
3
- Version: 4.0.4
3
+ Version: 4.11.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
@@ -18,17 +18,19 @@ Classifier: Programming Language :: Python :: 3
18
18
  Classifier: Programming Language :: Python :: 3.9
19
19
  Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
21
22
  Classifier: Programming Language :: Python :: 3 :: Only
22
23
  Classifier: Topic :: Scientific/Engineering :: Astronomy
23
24
  Classifier: Topic :: Software Development
24
25
  Classifier: Topic :: Software Development :: Libraries
25
26
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
27
  Classifier: Typing :: Typed
27
- Requires-Dist: pydantic (>=1.10.4,<2.0.0)
28
+ Requires-Dist: pydantic (>=2.5,<3.0)
28
29
  Requires-Dist: pyswisseph (>=2.10.3.1,<3.0.0.0)
29
30
  Requires-Dist: pytz (>=2022.7,<2023.0)
30
- Requires-Dist: requests (>=2.28.1,<3.0.0)
31
- Requires-Dist: requests-cache (>=0.9.7,<0.10.0)
31
+ Requires-Dist: requests (>=2.32.3,<3.0.0)
32
+ Requires-Dist: requests-cache (>=1.2.1,<2.0.0)
33
+ Requires-Dist: scour (>=0.38.2,<0.39.0)
32
34
  Requires-Dist: terminaltables (>=3.1.10,<4.0.0)
33
35
  Project-URL: Repository, https://github.com/g-battaglia/kerykeion
34
36
  Description-Content-Type: text/markdown
@@ -46,7 +48,7 @@ Description-Content-Type: text/markdown
46
48
  </a>
47
49
  <a href="https://pypi.org/project/kerykeion" target="_blank">
48
50
  <img src="https://visitor-badge.laobi.icu/badge?page_id=g-battaglia.kerykeion" alt="visitors"/>
49
- </a>
51
+ </a>
50
52
  <a href="https://pypi.org/project/kerykeion" target="_blank">
51
53
  <img src="https://img.shields.io/pypi/v/kerykeion?label=pypi%20package" alt="Package version">
52
54
  </a>
@@ -63,7 +65,10 @@ also it can calculate the aspects of a single persone or between two, you can se
63
65
  need in the settings in the utility module.
64
66
  It also can generate an SVG of a birthchart, a synastry chart or a transit chart.
65
67
 
68
+ The core goal of this project is to provide a simple and easy approach to astrology in a data driven way.
69
+
66
70
  Here's an example of a birthchart:
71
+
67
72
  ![Kanye Birth Chart](http://centuryboy.altervista.org/KanyeNatalChart.svg)
68
73
 
69
74
  ## Web API
@@ -132,7 +137,7 @@ kanye = AstrologicalSubject(
132
137
  The difference is that you have to pass the longitude, latitude and the timezone string, instead of the city and nation.
133
138
  If you omit the nation, it will be set to "GB" by default, but the value is not used for calculations. It's better to set it to the correct value though.
134
139
 
135
- ## Generate a SVG Chart:
140
+ ## Generate a SVG Chart
136
141
 
137
142
  ```python
138
143
  from kerykeion import AstrologicalSubject, KerykeionChartSVG
@@ -156,7 +161,7 @@ print(len(name.aspects_list))
156
161
 
157
162
  ![Synastry Chart](http://centuryboy.altervista.org/JackComposite_Chart.svg)
158
163
 
159
- # Report
164
+ ## Report
160
165
 
161
166
  To print a report of all the data:
162
167
 
@@ -171,7 +176,7 @@ report.print_report()
171
176
 
172
177
  Returns:
173
178
 
174
- ```
179
+ ```txt
175
180
  +- Kerykeion report for Kanye -+
176
181
  +----------+------+-------------+-----------+----------+
177
182
  | Date | Time | Location | Longitude | Latitude |
@@ -217,7 +222,7 @@ Returns:
217
222
  And if you want to export it to a file:
218
223
 
219
224
  ```bash
220
- $ python3 your_script_name.py > file.txt
225
+ python3 your_script_name.py > file.txt
221
226
  ```
222
227
 
223
228
  ## Other exeples of possibles usecase
@@ -239,10 +244,36 @@ print(aspect_list[0])
239
244
 
240
245
  ```
241
246
 
247
+ ## Ayanamsa (Sidereal Modes)
248
+
249
+ You can set the zodiac type and the sidereal mode in the AstrologicalSubject class:
250
+
251
+ ```python
252
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US", zodiac_type="Sidereal", sidereal_mode="LAHIRI")
253
+ ```
254
+
255
+ More examples [here](https://www.kerykeion.net/docs/examples/sidereal-modes/).
256
+
257
+ Full list of supported sidereal modes [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#SiderealMode).
258
+
259
+ ## Houses Systems
260
+
261
+ You can set the houses system in the AstrologicalSubject class:
262
+
263
+ ```python
264
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US", houses_system="M")
265
+ ```
266
+
267
+ More examples [here](https://www.kerykeion.net/docs/examples/house-systems/).
268
+
269
+ Full list of supported house systems [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#HousesSystem).
270
+
271
+ So far all the available houses system in the Swiss Ephemeris are supported but the Gauquelin Sectors.
272
+
242
273
  ## Documentation
243
274
 
244
275
  Most of the functions and the classes are self documented by the types and have docstrings.
245
- An auto-generated documentation [is available here](https://g-battaglia.github.io/kerykeion).
276
+ An auto-generated documentation [is available here](https://www.kerykeion.net/pydocs/kerykeion.html).
246
277
 
247
278
  Sooner or later I'll try to write an extensive documentation.
248
279
 
@@ -254,3 +285,12 @@ You can clone this repository or download a zip file using the right side button
254
285
 
255
286
  Feel free to contribute to the code!
256
287
 
288
+ ## License
289
+
290
+ This project is licensed under the AGPL-3.0 License.
291
+ To understand how this impacts your use of the software, please see the [LICENSE](LICENSE) file for details.
292
+ If you have questions, you can reach out to me at my [email](mailto:battaglia.giacomo@yahoo.it?subject=Kerykeion) address.
293
+ As a rule of thumb, if you are using this library in a project, you should open source the code of the project with a compatible license.
294
+
295
+ You can implement the logic of kerykeion in your project and also keep it closed source by using a third party API, like the [AstrologerAPI](https://rapidapi.com/gbattaglia/api/astrologer/). The AstrologerAPI is AGPL-3.0 compliant. Subscribing to the API is also, currently, the best way to support the project.
296
+
@@ -0,0 +1,258 @@
1
+ <h1 align=center>Kerykeion</h1>
2
+ <div align="center">
3
+ <a href="#">
4
+ <img src="https://img.shields.io/github/contributors/g-battaglia/kerykeion?color=blue&logo=github" alt="contributors">
5
+ </a>
6
+ <a href="#">
7
+ <img src="https://img.shields.io/github/stars/g-battaglia/kerykeion.svg?logo=github" alt="stars">
8
+ </a>
9
+ <a href="#">
10
+ <img src="https://img.shields.io/github/forks/g-battaglia/kerykeion.svg?logo=github" alt="forks">
11
+ </a>
12
+ <a href="https://pypi.org/project/kerykeion" target="_blank">
13
+ <img src="https://visitor-badge.laobi.icu/badge?page_id=g-battaglia.kerykeion" alt="visitors"/>
14
+ </a>
15
+ <a href="https://pypi.org/project/kerykeion" target="_blank">
16
+ <img src="https://img.shields.io/pypi/v/kerykeion?label=pypi%20package" alt="Package version">
17
+ </a>
18
+ <a href="https://pypi.org/project/kerykeion" target="_blank">
19
+ <img src="https://img.shields.io/pypi/pyversions/kerykeion.svg" alt="Supported Python versions">
20
+ </a>
21
+ </div>
22
+
23
+ &nbsp;
24
+
25
+ Kerykeion is a python library for Astrology.
26
+ It can calculate all the planet and house position,
27
+ also it can calculate the aspects of a single persone or between two, you can set how many planets you
28
+ need in the settings in the utility module.
29
+ It also can generate an SVG of a birthchart, a synastry chart or a transit chart.
30
+
31
+ The core goal of this project is to provide a simple and easy approach to astrology in a data driven way.
32
+
33
+ Here's an example of a birthchart:
34
+
35
+ ![Kanye Birth Chart](http://centuryboy.altervista.org/KanyeNatalChart.svg)
36
+
37
+ ## Web API
38
+
39
+ If you want to use Kerykeion in a web application, I've created a web API for this purpose, you can find it here:
40
+
41
+ **[AstrologerAPI](https://rapidapi.com/gbattaglia/api/astrologer/)**
42
+
43
+ It's [open source](https://github.com/g-battaglia/Astrologer-API), it's a way to support me and the project.
44
+
45
+ ## Donate
46
+
47
+ Maintaining this project is a lot of work, the Astrologer API doesn't nearly cover the costs of a software engineer working on this project full time. I do this because I love it, but until I can make this my full time job, I won't be able to spend as much time on it.
48
+
49
+ If you want to support me, you can do it here:
50
+
51
+ [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/kerykeion)
52
+
53
+ ## Installation
54
+
55
+ Kerykeion is a _Python 3.9_ package, make sure you have _Python 3.9_ or above installed on your system.
56
+
57
+ ```bash
58
+ pip3 install kerykeion
59
+ ```
60
+
61
+ ## Usage
62
+
63
+ Here some examples:
64
+
65
+ ```python
66
+
67
+ # Import the main class for creating a kerykeion instance:
68
+ from kerykeion import AstrologicalSubject
69
+
70
+ # Create a kerykeion instance:
71
+ # Args: Name, year, month, day, hour, minuts, city, nation(optional)
72
+ kanye = AstrologicalSubject("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
73
+
74
+ # Get the information about the sun in the chart:
75
+ # (The position of the planets always starts at 0)
76
+ kanye.sun
77
+
78
+ #> {'name': 'Sun', 'quality': 'Mutable', 'element': 'Air', 'sign': 'Gem', 'sign_num': 2, 'pos': 17.598992059774275, 'abs_pos': 77.59899205977428, 'emoji': '♊️', 'house': '12th House', 'retrograde': False}
79
+
80
+ # Get information about the first house:
81
+ kanye.first_house
82
+
83
+ #> {'name': 'First_House', 'quality': 'Cardinal', 'element': 'Water', 'sign': 'Can', 'sign_num': 3, 'pos': 17.995779673209114, 'abs_pos': 107.99577967320911, 'emoji': '♋️'}
84
+
85
+ # Get element of the moon sign:
86
+ kanye.moon.element
87
+
88
+ #> 'Water'
89
+
90
+ ```
91
+
92
+ **To avoid connecting to GeoNames (eg. avoiding hourly limit or no internet connection) you should instance kerykeion like this:**
93
+
94
+ ```python
95
+ kanye = AstrologicalSubject(
96
+ "Kanye", 1977, 6, 8, 8, 45, lng=50, lat=50, tz_str="Europe/Rome", city="Rome"
97
+ )
98
+ ```
99
+
100
+ The difference is that you have to pass the longitude, latitude and the timezone string, instead of the city and nation.
101
+ If you omit the nation, it will be set to "GB" by default, but the value is not used for calculations. It's better to set it to the correct value though.
102
+
103
+ ## Generate a SVG Chart
104
+
105
+ ```python
106
+ from kerykeion import AstrologicalSubject, KerykeionChartSVG
107
+
108
+ first = AstrologicalSubject("Jack", 1990, 6, 15, 15, 15, "Roma")
109
+ second = AstrologicalSubject("Jane", 1991, 10, 25, 21, 00, "Roma")
110
+
111
+ # Set the type, it can be Natal, Synastry or Transit
112
+
113
+ name = KerykeionChartSVG(first, chart_type="Synastry", second_obj=second)
114
+ name.makeSVG()
115
+ print(len(name.aspects_list))
116
+
117
+ #> Generating kerykeion object for Jack...
118
+ #> Generating kerykeion object for Jane...
119
+ #> Jack birth location: Roma, 41.89193, 12.51133
120
+ #> SVG Generated Correctly
121
+ #> 38
122
+
123
+ ```
124
+
125
+ ![Synastry Chart](http://centuryboy.altervista.org/JackComposite_Chart.svg)
126
+
127
+ ## Report
128
+
129
+ To print a report of all the data:
130
+
131
+ ```python
132
+ from kerykeion import Report, AstrologicalSubject
133
+
134
+ kanye = AstrologicalSubject("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
135
+ report = Report(kanye)
136
+ report.print_report()
137
+
138
+ ```
139
+
140
+ Returns:
141
+
142
+ ```txt
143
+ +- Kerykeion report for Kanye -+
144
+ +----------+------+-------------+-----------+----------+
145
+ | Date | Time | Location | Longitude | Latitude |
146
+ +----------+------+-------------+-----------+----------+
147
+ | 8/6/1977 | 8:45 | Atlanta, US | -84.38798 | 33.749 |
148
+ +----------+------+-------------+-----------+----------+
149
+ +-----------+------+-------+------+----------------+
150
+ | Planet | Sign | Pos. | Ret. | House |
151
+ +-----------+------+-------+------+----------------+
152
+ | Sun | Gem | 17.6 | - | Twelfth_House |
153
+ | Moon | Pis | 16.43 | - | Ninth_House |
154
+ | Mercury | Tau | 26.29 | - | Eleventh_House |
155
+ | Venus | Tau | 2.03 | - | Tenth_House |
156
+ | Mars | Tau | 1.79 | - | Tenth_House |
157
+ | Jupiter | Gem | 14.61 | - | Eleventh_House |
158
+ | Saturn | Leo | 12.8 | - | Second_House |
159
+ | Uranus | Sco | 8.27 | R | Fourth_House |
160
+ | Neptune | Sag | 14.69 | R | Fifth_House |
161
+ | Pluto | Lib | 11.45 | R | Fourth_House |
162
+ | Mean_Node | Lib | 21.49 | R | Fourth_House |
163
+ | True_Node | Lib | 22.82 | R | Fourth_House |
164
+ | Chiron | Tau | 4.17 | - | Tenth_House |
165
+ +-----------+------+-------+------+----------------+
166
+ +----------------+------+----------+
167
+ | House | Sign | Position |
168
+ +----------------+------+----------+
169
+ | First_House | Can | 18.0 |
170
+ | Second_House | Leo | 9.51 |
171
+ | Third_House | Vir | 4.02 |
172
+ | Fourth_House | Lib | 3.98 |
173
+ | Fifth_House | Sco | 9.39 |
174
+ | Sixth_House | Sag | 15.68 |
175
+ | Seventh_House | Cap | 18.0 |
176
+ | Eighth_House | Aqu | 9.51 |
177
+ | Ninth_House | Pis | 4.02 |
178
+ | Tenth_House | Ari | 3.98 |
179
+ | Eleventh_House | Tau | 9.39 |
180
+ | Twelfth_House | Gem | 15.68 |
181
+ +----------------+------+----------+
182
+
183
+ ```
184
+
185
+ And if you want to export it to a file:
186
+
187
+ ```bash
188
+ python3 your_script_name.py > file.txt
189
+ ```
190
+
191
+ ## Other exeples of possibles usecase
192
+
193
+ ```python
194
+ # Get all aspects between two persons:
195
+
196
+ from kerykeion import SynastryAspects, AstrologicalSubject
197
+ first = AstrologicalSubject("Jack", 1990, 6, 15, 15, 15, "Roma")
198
+ second = AstrologicalSubject("Jane", 1991, 10, 25, 21, 00, "Roma")
199
+
200
+ name = SynastryAspects(first, second)
201
+ aspect_list = name.get_relevant_aspects()
202
+ print(aspect_list[0])
203
+
204
+ #> Generating kerykeion object for Jack...
205
+ #> Generating kerykeion object for Jane...
206
+ #> {'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}
207
+
208
+ ```
209
+
210
+ ## Ayanamsa (Sidereal Modes)
211
+
212
+ You can set the zodiac type and the sidereal mode in the AstrologicalSubject class:
213
+
214
+ ```python
215
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US", zodiac_type="Sidereal", sidereal_mode="LAHIRI")
216
+ ```
217
+
218
+ More examples [here](https://www.kerykeion.net/docs/examples/sidereal-modes/).
219
+
220
+ Full list of supported sidereal modes [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#SiderealMode).
221
+
222
+ ## Houses Systems
223
+
224
+ You can set the houses system in the AstrologicalSubject class:
225
+
226
+ ```python
227
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US", houses_system="M")
228
+ ```
229
+
230
+ More examples [here](https://www.kerykeion.net/docs/examples/house-systems/).
231
+
232
+ Full list of supported house systems [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#HousesSystem).
233
+
234
+ So far all the available houses system in the Swiss Ephemeris are supported but the Gauquelin Sectors.
235
+
236
+ ## Documentation
237
+
238
+ Most of the functions and the classes are self documented by the types and have docstrings.
239
+ An auto-generated documentation [is available here](https://www.kerykeion.net/pydocs/kerykeion.html).
240
+
241
+ Sooner or later I'll try to write an extensive documentation.
242
+
243
+ ## Development
244
+
245
+ You can clone this repository or download a zip file using the right side buttons.
246
+
247
+ ## Contributing
248
+
249
+ Feel free to contribute to the code!
250
+
251
+ ## License
252
+
253
+ This project is licensed under the AGPL-3.0 License.
254
+ To understand how this impacts your use of the software, please see the [LICENSE](LICENSE) file for details.
255
+ If you have questions, you can reach out to me at my [email](mailto:battaglia.giacomo@yahoo.it?subject=Kerykeion) address.
256
+ As a rule of thumb, if you are using this library in a project, you should open source the code of the project with a compatible license.
257
+
258
+ You can implement the logic of kerykeion in your project and also keep it closed source by using a third party API, like the [AstrologerAPI](https://rapidapi.com/gbattaglia/api/astrologer/). The AstrologerAPI is AGPL-3.0 compliant. Subscribing to the API is also, currently, the best way to support the project.
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
1
3
  <h1 align=center>Kerykeion</h1>
2
4
  <div align="center">
3
5
  <a href="#">
@@ -11,7 +13,7 @@
11
13
  </a>
12
14
  <a href="https://pypi.org/project/kerykeion" target="_blank">
13
15
  <img src="https://visitor-badge.laobi.icu/badge?page_id=g-battaglia.kerykeion" alt="visitors"/>
14
- </a>
16
+ </a>
15
17
  <a href="https://pypi.org/project/kerykeion" target="_blank">
16
18
  <img src="https://img.shields.io/pypi/v/kerykeion?label=pypi%20package" alt="Package version">
17
19
  </a>
@@ -28,7 +30,10 @@ also it can calculate the aspects of a single persone or between two, you can se
28
30
  need in the settings in the utility module.
29
31
  It also can generate an SVG of a birthchart, a synastry chart or a transit chart.
30
32
 
33
+ The core goal of this project is to provide a simple and easy approach to astrology in a data driven way.
34
+
31
35
  Here's an example of a birthchart:
36
+
32
37
  ![Kanye Birth Chart](http://centuryboy.altervista.org/KanyeNatalChart.svg)
33
38
 
34
39
  ## Web API
@@ -97,7 +102,7 @@ kanye = AstrologicalSubject(
97
102
  The difference is that you have to pass the longitude, latitude and the timezone string, instead of the city and nation.
98
103
  If you omit the nation, it will be set to "GB" by default, but the value is not used for calculations. It's better to set it to the correct value though.
99
104
 
100
- ## Generate a SVG Chart:
105
+ ## Generate a SVG Chart
101
106
 
102
107
  ```python
103
108
  from kerykeion import AstrologicalSubject, KerykeionChartSVG
@@ -121,7 +126,7 @@ print(len(name.aspects_list))
121
126
 
122
127
  ![Synastry Chart](http://centuryboy.altervista.org/JackComposite_Chart.svg)
123
128
 
124
- # Report
129
+ ## Report
125
130
 
126
131
  To print a report of all the data:
127
132
 
@@ -136,7 +141,7 @@ report.print_report()
136
141
 
137
142
  Returns:
138
143
 
139
- ```
144
+ ```bash
140
145
  +- Kerykeion report for Kanye -+
141
146
  +----------+------+-------------+-----------+----------+
142
147
  | Date | Time | Location | Longitude | Latitude |
@@ -182,7 +187,7 @@ Returns:
182
187
  And if you want to export it to a file:
183
188
 
184
189
  ```bash
185
- $ python3 your_script_name.py > file.txt
190
+ python3 your_script_name.py > file.txt
186
191
  ```
187
192
 
188
193
  ## Other exeples of possibles usecase
@@ -204,10 +209,22 @@ print(aspect_list[0])
204
209
 
205
210
  ```
206
211
 
212
+ ## Ayanamsa (Sidereal Modes)
213
+
214
+ You can set the zodiac type and the sidereal mode in the AstrologicalSubject class:
215
+
216
+ ```python
217
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US", zodiac_type="Sidereal", sidereal_mode="LAHIRI")
218
+ ```
219
+
220
+ More examples [here](https://www.kerykeion.net/docs/examples/sidereal-modes/).
221
+
222
+ Full list of supported sidereal modes [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#SiderealMode).
223
+
207
224
  ## Documentation
208
225
 
209
226
  Most of the functions and the classes are self documented by the types and have docstrings.
210
- An auto-generated documentation [is available here](https://g-battaglia.github.io/kerykeion).
227
+ An auto-generated documentation [is available here](https://www.kerykeion.net/pydocs/kerykeion.html).
211
228
 
212
229
  Sooner or later I'll try to write an extensive documentation.
213
230
 
@@ -218,3 +235,23 @@ You can clone this repository or download a zip file using the right side button
218
235
  ## Contributing
219
236
 
220
237
  Feel free to contribute to the code!
238
+
239
+ ## License
240
+
241
+ This project is licensed under the AGPL-3.0 License.
242
+ To understand how this impacts your use of the software, please see the [LICENSE](LICENSE) file for details.
243
+ If you have questions, you can reach out to me at my [email](mailto:battaglia.giacomo@yahoo.it?subject=Kerykeion) address.
244
+ As a rule of thumb, if you are using this library in a project, you should open source the code of the project with a compatible license.
245
+
246
+ You can implement the logic of kerykeion in your project and also keep it closed source by using a third party API, like the [AstrologerAPI](https://rapidapi.com/gbattaglia/api/astrologer/). The AstrologerAPI is AGPL-3.0 compliant. Subscribing to the API is also, currently, the best way to support the project.
247
+ """
248
+
249
+ # Local
250
+ from .astrological_subject import AstrologicalSubject
251
+ from .charts.kerykeion_chart_svg import KerykeionChartSVG
252
+ from .kr_types import *
253
+ from .relationship_score import RelationshipScore
254
+ from .aspects import SynastryAspects, NatalAspects
255
+ from .report import Report
256
+ from .settings import KerykeionSettingsModel, get_settings
257
+ from .enums import Planets, Aspects, Signs
@@ -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.
@@ -8,4 +8,4 @@ The aspects module contains the classes and functions for calculating
8
8
 
9
9
 
10
10
  from .synastry_aspects import SynastryAspects
11
- from .natal_aspects import NatalAspects
11
+ from .natal_aspects import NatalAspects