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.
- {kerykeion-4.0.4 → kerykeion-4.11.0}/PKG-INFO +50 -10
- kerykeion-4.11.0/README.md +258 -0
- kerykeion-4.0.4/README.md → kerykeion-4.11.0/kerykeion/__init__.py +43 -6
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/aspects/__init__.py +2 -2
- kerykeion-4.11.0/kerykeion/aspects/aspects_utils.py +186 -0
- kerykeion-4.11.0/kerykeion/aspects/natal_aspects.py +135 -0
- kerykeion-4.11.0/kerykeion/aspects/synastry_aspects.py +108 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/astrological_subject.py +258 -150
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/charts/__init__.py +1 -1
- kerykeion-4.11.0/kerykeion/charts/charts_utils.py +444 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/charts/kerykeion_chart_svg.py +439 -522
- kerykeion-4.11.0/kerykeion/charts/templates/chart.xml +522 -0
- kerykeion-4.11.0/kerykeion/enums.py +50 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/fetch_geonames.py +16 -25
- kerykeion-4.11.0/kerykeion/kr_types/__init__.py +10 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/kr_types/chart_types.py +33 -32
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/kr_types/kerykeion_exception.py +1 -1
- kerykeion-4.11.0/kerykeion/kr_types/kr_literals.py +89 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/kr_types/kr_models.py +30 -76
- kerykeion-4.0.4/kerykeion/settings/kerykeion_settings.py → kerykeion-4.11.0/kerykeion/kr_types/settings_models.py +15 -65
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/relationship_score.py +7 -13
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/report.py +3 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/settings/__init__.py +1 -1
- kerykeion-4.11.0/kerykeion/settings/kerykeion_settings.py +71 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/settings/kr.config.json +13 -9
- kerykeion-4.11.0/kerykeion/utilities.py +356 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/pyproject.toml +10 -8
- kerykeion-4.0.4/kerykeion/__init__.py +0 -108
- kerykeion-4.0.4/kerykeion/aspects/natal_aspects.py +0 -305
- kerykeion-4.0.4/kerykeion/aspects/synastry_aspects.py +0 -85
- kerykeion-4.0.4/kerykeion/charts/charts_utils.py +0 -110
- kerykeion-4.0.4/kerykeion/charts/templates/chart.xml +0 -490
- kerykeion-4.0.4/kerykeion/kr_types/__init__.py +0 -3
- kerykeion-4.0.4/kerykeion/kr_types/kr_literals.py +0 -58
- kerykeion-4.0.4/kerykeion/utilities.py +0 -208
- {kerykeion-4.0.4 → kerykeion-4.11.0}/LICENSE +0 -0
- {kerykeion-4.0.4 → kerykeion-4.11.0}/kerykeion/sweph/README.md +0 -0
- {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
|
|
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 (>=
|
|
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.
|
|
31
|
-
Requires-Dist: requests-cache (>=
|
|
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
|

|
|
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
|

|
|
158
163
|
|
|
159
|
-
|
|
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
|
-
|
|
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://
|
|
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
|
+
|
|
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
|
+

|
|
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
|
+
[](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
|
+

|
|
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
|

|
|
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
|

|
|
123
128
|
|
|
124
|
-
|
|
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
|
-
|
|
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://
|
|
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)
|
|
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
|