kerykeion 4.25.3__tar.gz → 4.26.0rc1__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.25.3 → kerykeion-4.26.0rc1}/PKG-INFO +95 -115
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/README.md +94 -114
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/__init__.py +1 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/aspects/natal_aspects.py +2 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/aspects/synastry_aspects.py +2 -0
- kerykeion-4.26.0rc1/kerykeion/aspects/transits_time_range.py +41 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/ephemeris_data.py +74 -10
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/kr_types/kr_models.py +44 -0
- kerykeion-4.26.0rc1/kerykeion/transits_time_range.py +124 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/pyproject.toml +1 -1
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/LICENSE +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/aspects/__init__.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/aspects/aspects_utils.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/astrological_subject.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/__init__.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/charts_utils.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/draw_planets.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/kerykeion_chart_svg.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/templates/aspect_grid_only.xml +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/templates/chart.xml +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/templates/wheel_only.xml +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/themes/classic.css +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/themes/dark-high-contrast.css +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/themes/dark.css +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/charts/themes/light.css +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/composite_subject_factory.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/enums.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/fetch_geonames.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/kr_types/__init__.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/kr_types/chart_types.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/kr_types/kerykeion_exception.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/kr_types/kr_literals.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/kr_types/settings_models.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/relationship_score/__init__.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/relationship_score/relationship_score.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/relationship_score/relationship_score_factory.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/report.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/settings/__init__.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/settings/config_constants.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/settings/kerykeion_settings.py +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/settings/kr.config.json +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/sweph/README.md +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/sweph/seas_18.se1 +0 -0
- {kerykeion-4.25.3 → kerykeion-4.26.0rc1}/kerykeion/utilities.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: kerykeion
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.26.0rc1
|
|
4
4
|
Summary: A python library for astrology.
|
|
5
5
|
Home-page: https://www.kerykeion.net/
|
|
6
6
|
License: AGPL-3.0
|
|
@@ -37,53 +37,49 @@ Requires-Dist: typing-extensions (>=4.12.2,<5.0.0)
|
|
|
37
37
|
Project-URL: Repository, https://github.com/g-battaglia/kerykeion
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
39
39
|
|
|
40
|
-
<h1 align=center>Kerykeion</h1>
|
|
40
|
+
<h1 align="center">Kerykeion</h1>
|
|
41
|
+
|
|
41
42
|
<div align="center">
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
<img src="https://img.shields.io/github/stars/g-battaglia/kerykeion.svg?logo=github" alt="stars">
|
|
44
|
+
<img src="https://img.shields.io/github/forks/g-battaglia/kerykeion.svg?logo=github" alt="forks">
|
|
45
45
|
</div>
|
|
46
46
|
<div align="center">
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
<img src="https://static.pepy.tech/badge/kerykeion/month" alt="PyPI Downloads">
|
|
48
|
+
<img src="https://static.pepy.tech/badge/kerykeion/week" alt="PyPI Downloads">
|
|
49
|
+
<img src="https://img.shields.io/github/contributors/g-battaglia/kerykeion?color=blue&logo=github" alt="contributors">
|
|
50
|
+
<img src="https://img.shields.io/pypi/v/kerykeion?label=pypi%20package" alt="Package version">
|
|
51
|
+
<img src="https://img.shields.io/pypi/pyversions/kerykeion.svg" alt="Supported Python versions">
|
|
52
52
|
</div>
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
Kerykeion is a
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
need in the settings in the utility module.
|
|
60
|
-
It also can generate an SVG of a birthchart, a synastry chart or a transit chart.
|
|
56
|
+
Kerykeion is a Python library for astrology. It computes planetary and house positions, detects aspects (individual, synastry, composite), and generates SVG charts—including birth, synastry, transit, and composite charts. You can also customize which planets to include in your calculations.
|
|
57
|
+
|
|
58
|
+
The main goal of this project is to offer a clean, data-driven approach to astrology, making it accessible and programmable.
|
|
61
59
|
|
|
62
|
-
|
|
60
|
+
Kerykeion also integrates seamlessly with AI applications. It is designed to work well as a backend for chatbots, recommendation systems, or personal assistants that require astrological insights. You can access structured data in JSON format, making it easy to combine with natural language processing models or knowledge-based systems.
|
|
63
61
|
|
|
64
|
-
Here
|
|
62
|
+
Here is an example of a birthchart:
|
|
65
63
|
|
|
66
64
|

|
|
67
65
|
|
|
68
66
|
## Web API
|
|
69
67
|
|
|
70
|
-
If you want to use Kerykeion in a web application,
|
|
68
|
+
If you want to use Kerykeion in a web application, you can try the dedicated web API:
|
|
71
69
|
|
|
72
70
|
**[AstrologerAPI](https://rapidapi.com/gbattaglia/api/astrologer/pricing)**
|
|
73
71
|
|
|
74
|
-
It
|
|
72
|
+
It is [open source](https://github.com/g-battaglia/Astrologer-API) and directly supports this project.
|
|
75
73
|
|
|
76
74
|
## Donate
|
|
77
75
|
|
|
78
|
-
Maintaining this project
|
|
79
|
-
|
|
80
|
-
If you want to support me, you can do it here:
|
|
76
|
+
Maintaining this project requires substantial time and effort. The Astrologer API alone cannot cover the costs of full-time development. If you find Kerykeion valuable and would like to support further development, please consider donating:
|
|
81
77
|
|
|
82
78
|
[](https://ko-fi.com/kerykeion)
|
|
83
79
|
|
|
84
80
|
## Installation
|
|
85
81
|
|
|
86
|
-
Kerykeion
|
|
82
|
+
Kerykeion requires **Python 3.9** or higher.
|
|
87
83
|
|
|
88
84
|
```bash
|
|
89
85
|
pip3 install kerykeion
|
|
@@ -91,48 +87,40 @@ pip3 install kerykeion
|
|
|
91
87
|
|
|
92
88
|
## Basic Usage
|
|
93
89
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Here's an example:
|
|
90
|
+
Below is a simple example illustrating the creation of an astrological subject and retrieving astrological details:
|
|
97
91
|
|
|
98
92
|
```python
|
|
99
|
-
|
|
100
|
-
# Import the main class for creating a kerykeion instance:
|
|
101
93
|
from kerykeion import AstrologicalSubject
|
|
102
94
|
|
|
103
|
-
# Create
|
|
104
|
-
#
|
|
95
|
+
# Create an instance of the AstrologicalSubject class.
|
|
96
|
+
# Arguments: Name, year, month, day, hour, minutes, city, nation
|
|
105
97
|
kanye = AstrologicalSubject("Kanye", 1977, 6, 8, 8, 45, "Atlanta", "US")
|
|
106
98
|
|
|
107
|
-
#
|
|
108
|
-
# (The position of the planets always starts at 0)
|
|
99
|
+
# Retrieve information about the Sun:
|
|
109
100
|
kanye.sun
|
|
101
|
+
# > {'name': 'Sun', 'quality': 'Mutable', 'element': 'Air', 'sign': 'Gem', 'sign_num': 2, ...}
|
|
110
102
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
# Get information about the first house:
|
|
103
|
+
# Retrieve information about the first house:
|
|
114
104
|
kanye.first_house
|
|
105
|
+
# > {'name': 'First_House', 'quality': 'Cardinal', 'element': 'Water', 'sign': 'Can', ...}
|
|
115
106
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
# Get element of the moon sign:
|
|
107
|
+
# Retrieve the element of the Moon sign:
|
|
119
108
|
kanye.moon.element
|
|
120
|
-
|
|
121
|
-
#> 'Water'
|
|
122
|
-
|
|
109
|
+
# > 'Water'
|
|
123
110
|
```
|
|
124
111
|
|
|
125
|
-
**To avoid
|
|
112
|
+
**To avoid using GeoNames online, specify longitude, latitude, and timezone instead of city and nation:**
|
|
126
113
|
|
|
127
114
|
```python
|
|
128
115
|
kanye = AstrologicalSubject(
|
|
129
|
-
"Kanye", 1977, 6, 8, 8, 45,
|
|
116
|
+
"Kanye", 1977, 6, 8, 8, 45,
|
|
117
|
+
lng=50,
|
|
118
|
+
lat=50,
|
|
119
|
+
tz_str="Europe/Rome",
|
|
120
|
+
city="Rome"
|
|
130
121
|
)
|
|
131
122
|
```
|
|
132
123
|
|
|
133
|
-
The difference is that you have to pass the longitude, latitude and the timezone string, instead of the city and nation.
|
|
134
|
-
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.
|
|
135
|
-
|
|
136
124
|
## Generate a SVG Chart
|
|
137
125
|
|
|
138
126
|
### Birth Chart
|
|
@@ -140,15 +128,13 @@ If you omit the nation, it will be set to "GB" by default, but the value is not
|
|
|
140
128
|
```python
|
|
141
129
|
from kerykeion import AstrologicalSubject, KerykeionChartSVG
|
|
142
130
|
|
|
143
|
-
|
|
144
131
|
birth_chart = AstrologicalSubject("Kanye", 1977, 6, 8, 8, 45, "Atlanta", "US")
|
|
145
132
|
birth_chart_svg = KerykeionChartSVG(birth_chart)
|
|
146
|
-
|
|
147
133
|
birth_chart_svg.makeSVG()
|
|
148
134
|
```
|
|
149
135
|
|
|
150
136
|
The SVG file will be saved in the home directory.
|
|
151
|
-

|
|
152
138
|
|
|
153
139
|
### Synastry Chart
|
|
154
140
|
|
|
@@ -158,13 +144,11 @@ from kerykeion import AstrologicalSubject, KerykeionChartSVG
|
|
|
158
144
|
first = AstrologicalSubject("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
|
|
159
145
|
second = AstrologicalSubject("Paul McCartney", 1942, 6, 18, 15, 30, "Liverpool", "GB")
|
|
160
146
|
|
|
161
|
-
# Set the type, it can be Natal, Synastry or Transit
|
|
162
147
|
synastry_chart = KerykeionChartSVG(first, "Synastry", second)
|
|
163
148
|
synastry_chart.makeSVG()
|
|
164
|
-
|
|
165
149
|
```
|
|
166
150
|
|
|
167
|
-

|
|
168
152
|
|
|
169
153
|
|
|
170
154
|
### Transit Chart
|
|
@@ -187,20 +171,21 @@ transit_chart.makeSVG()
|
|
|
187
171
|
from kerykeion import CompositeSubjectFactory, AstrologicalSubject, KerykeionChartSVG
|
|
188
172
|
|
|
189
173
|
angelina = AstrologicalSubject("Angelina Jolie", 1975, 6, 4, 9, 9, "Los Angeles", "US", lng=-118.15, lat=34.03, tz_str="America/Los_Angeles")
|
|
174
|
+
|
|
190
175
|
brad = AstrologicalSubject("Brad Pitt", 1963, 12, 18, 6, 31, "Shawnee", "US", lng=-96.56, lat=35.20, tz_str="America/Chicago")
|
|
191
176
|
|
|
192
|
-
|
|
193
|
-
|
|
177
|
+
factory = CompositeSubjectFactory(angelina, brad)
|
|
178
|
+
composite_model = factory.get_midpoint_composite_subject_model()
|
|
194
179
|
|
|
195
|
-
composite_chart = KerykeionChartSVG(
|
|
180
|
+
composite_chart = KerykeionChartSVG(composite_model, "Composite")
|
|
196
181
|
composite_chart.makeSVG()
|
|
197
182
|
```
|
|
198
183
|
|
|
199
184
|

|
|
200
185
|
|
|
201
|
-
### Change the
|
|
186
|
+
### Change the Output Directory
|
|
202
187
|
|
|
203
|
-
|
|
188
|
+
To save the SVG file in a custom location, specify `new_output_directory`:
|
|
204
189
|
|
|
205
190
|
```python
|
|
206
191
|
from kerykeion import AstrologicalSubject, KerykeionChartSVG
|
|
@@ -208,23 +193,24 @@ from kerykeion import AstrologicalSubject, KerykeionChartSVG
|
|
|
208
193
|
first = AstrologicalSubject("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
|
|
209
194
|
second = AstrologicalSubject("Paul McCartney", 1942, 6, 18, 15, 30, "Liverpool", "GB")
|
|
210
195
|
|
|
211
|
-
|
|
212
|
-
|
|
196
|
+
synastry_chart = KerykeionChartSVG(
|
|
197
|
+
first, "Synastry", second,
|
|
198
|
+
new_output_directory="."
|
|
199
|
+
)
|
|
213
200
|
synastry_chart.makeSVG()
|
|
214
201
|
```
|
|
215
202
|
|
|
216
203
|
### Change Language
|
|
217
204
|
|
|
218
|
-
You can
|
|
205
|
+
You can switch chart language by passing `chart_language` to the `AstrologicalSubject` or `KerykeionChartSVG` classes:
|
|
219
206
|
|
|
220
207
|
```python
|
|
221
208
|
first = AstrologicalSubject("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB", chart_language="ES")
|
|
222
209
|
```
|
|
223
|
-
More details [here](https://www.kerykeion.net/docs/examples/chart-language).
|
|
224
210
|
|
|
225
|
-
|
|
211
|
+
More details [here](https://www.kerykeion.net/docs//chart-language).
|
|
226
212
|
|
|
227
|
-
|
|
213
|
+
## Report
|
|
228
214
|
|
|
229
215
|
```python
|
|
230
216
|
from kerykeion import Report, AstrologicalSubject
|
|
@@ -232,7 +218,6 @@ from kerykeion import Report, AstrologicalSubject
|
|
|
232
218
|
kanye = AstrologicalSubject("Kanye", 1977, 6, 8, 8, 45, "Atlanta", "US")
|
|
233
219
|
report = Report(kanye)
|
|
234
220
|
report.print_report()
|
|
235
|
-
|
|
236
221
|
```
|
|
237
222
|
|
|
238
223
|
Returns:
|
|
@@ -280,56 +265,57 @@ Returns:
|
|
|
280
265
|
| Twelfth_House | Gem | 15.68 |
|
|
281
266
|
+----------------+------+----------+
|
|
282
267
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
And if you want to export it to a file:
|
|
268
|
+
To export to a file:
|
|
286
269
|
|
|
287
270
|
```bash
|
|
288
271
|
python3 your_script_name.py > file.txt
|
|
289
272
|
```
|
|
290
273
|
|
|
291
|
-
##
|
|
274
|
+
## Example: Retrieving Aspects
|
|
292
275
|
|
|
293
276
|
```python
|
|
294
|
-
# Get all aspects between two persons:
|
|
295
|
-
|
|
296
277
|
from kerykeion import SynastryAspects, AstrologicalSubject
|
|
278
|
+
|
|
297
279
|
first = AstrologicalSubject("Jack", 1990, 6, 15, 15, 15, "Roma", "IT")
|
|
298
|
-
second = AstrologicalSubject("Jane", 1991, 10, 25, 21,
|
|
280
|
+
second = AstrologicalSubject("Jane", 1991, 10, 25, 21, 0, "Roma", "IT")
|
|
299
281
|
|
|
300
282
|
name = SynastryAspects(first, second)
|
|
301
283
|
aspect_list = name.get_relevant_aspects()
|
|
302
284
|
print(aspect_list[0])
|
|
303
|
-
|
|
304
|
-
#> Generating kerykeion object for Jack...
|
|
305
|
-
#> Generating kerykeion object for Jane...
|
|
306
285
|
#> {'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}
|
|
307
286
|
|
|
308
287
|
```
|
|
309
288
|
|
|
310
289
|
## Ayanamsa (Sidereal Modes)
|
|
311
290
|
|
|
312
|
-
By default, the zodiac type is
|
|
313
|
-
You can set the zodiac type to Sidereal and the sidereal mode in the AstrologicalSubject class:
|
|
291
|
+
By default, the zodiac type is **Tropical**. To use **Sidereal**, specify the sidereal mode:
|
|
314
292
|
|
|
315
293
|
```python
|
|
316
|
-
johnny = AstrologicalSubject(
|
|
294
|
+
johnny = AstrologicalSubject(
|
|
295
|
+
"Johnny Depp", 1963, 6, 9, 0, 0,
|
|
296
|
+
"Owensboro", "US",
|
|
297
|
+
zodiac_type="Sidereal",
|
|
298
|
+
sidereal_mode="LAHIRI"
|
|
299
|
+
)
|
|
317
300
|
```
|
|
318
301
|
|
|
319
|
-
More examples [here](https://www.kerykeion.net/docs
|
|
302
|
+
More examples [here](https://www.kerykeion.net/docs//sidereal-modes/).
|
|
320
303
|
|
|
321
304
|
Full list of supported sidereal modes [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#SiderealMode).
|
|
322
305
|
|
|
323
|
-
##
|
|
306
|
+
## House Systems
|
|
324
307
|
|
|
325
|
-
By default,
|
|
326
|
-
You can set the houses system in the AstrologicalSubject class:
|
|
308
|
+
By default, houses are calculated using **Placidus**. Configure a different house system as follows:
|
|
327
309
|
|
|
328
310
|
```python
|
|
329
|
-
johnny = AstrologicalSubject(
|
|
311
|
+
johnny = AstrologicalSubject(
|
|
312
|
+
"Johnny Depp", 1963, 6, 9, 0, 0,
|
|
313
|
+
"Owensboro", "US",
|
|
314
|
+
houses_system="M"
|
|
315
|
+
)
|
|
330
316
|
```
|
|
331
317
|
|
|
332
|
-
More examples [here](https://www.kerykeion.net/docs
|
|
318
|
+
More examples [here](https://www.kerykeion.net/docs//houses-systems/).
|
|
333
319
|
|
|
334
320
|
Full list of supported house systems [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#HousesSystem).
|
|
335
321
|
|
|
@@ -337,28 +323,30 @@ So far all the available houses system in the Swiss Ephemeris are supported but
|
|
|
337
323
|
|
|
338
324
|
## Perspective Type
|
|
339
325
|
|
|
340
|
-
By default,
|
|
341
|
-
The perspective indicates the point of view from which the chart is calculated (Es. Apparent Geocentric, Heliocentric, etc.).
|
|
342
|
-
You can set the perspective type in the AstrologicalSubject class:
|
|
326
|
+
By default, Kerykeion uses the **Apparent Geocentric** perspective (the most standard in astrology). Other perspectives (e.g., **Heliocentric**) can be set this way:
|
|
343
327
|
|
|
344
328
|
```python
|
|
345
|
-
johnny = AstrologicalSubject(
|
|
329
|
+
johnny = AstrologicalSubject(
|
|
330
|
+
"Johnny Depp", 1963, 6, 9, 0, 0,
|
|
331
|
+
"Owensboro", "US",
|
|
332
|
+
perspective_type="Heliocentric"
|
|
333
|
+
)
|
|
346
334
|
```
|
|
347
335
|
|
|
348
|
-
More examples [here](https://www.kerykeion.net/docs
|
|
336
|
+
More examples [here](https://www.kerykeion.net/docs//perspective-type/).
|
|
349
337
|
|
|
350
338
|
Full list of supported perspective types [here](https://www.kerykeion.net/pydocs/kerykeion/kr_types/kr_literals.html#PerspectiveType).
|
|
351
339
|
|
|
352
340
|
## Themes
|
|
353
341
|
|
|
354
|
-
|
|
342
|
+
Kerykeion provides several chart themes:
|
|
355
343
|
|
|
356
344
|
- **Classic** (default)
|
|
357
345
|
- **Dark**
|
|
358
346
|
- **Dark High Contrast**
|
|
359
347
|
- **Light**
|
|
360
|
-
|
|
361
|
-
Each theme offers a distinct visual style, allowing you to choose the one that best suits your preferences or presentation needs. If you prefer more control over the appearance, you can opt not to set any theme, making it easier to customize the chart by overriding the default CSS variables. For more detailed instructions on how to apply themes, check the [documentation](https://www.kerykeion.net/docs/
|
|
348
|
+
|
|
349
|
+
Each theme offers a distinct visual style, allowing you to choose the one that best suits your preferences or presentation needs. If you prefer more control over the appearance, you can opt not to set any theme, making it easier to customize the chart by overriding the default CSS variables. For more detailed instructions on how to apply themes, check the [documentation](https://www.kerykeion.net/docs/theming)
|
|
362
350
|
|
|
363
351
|
Here's an example of how to set the theme:
|
|
364
352
|
|
|
@@ -370,28 +358,26 @@ dark_theme_natal_chart = KerykeionChartSVG(dark_high_contrast_theme_subject, the
|
|
|
370
358
|
dark_theme_natal_chart.makeSVG()
|
|
371
359
|
```
|
|
372
360
|
|
|
373
|
-

|
|
374
362
|
|
|
375
363
|
## Alternative Initialization
|
|
376
364
|
|
|
377
|
-
|
|
365
|
+
Create an `AstrologicalSubject` from a UTC ISO 8601 string:
|
|
378
366
|
|
|
379
367
|
```python
|
|
380
368
|
subject = AstrologicalSubject.get_from_iso_utc_time(
|
|
381
|
-
"Johnny Depp", "1963-06-09T05:00:00Z", "Owensboro", "US"
|
|
369
|
+
"Johnny Depp", "1963-06-09T05:00:00Z", "Owensboro", "US"
|
|
370
|
+
)
|
|
382
371
|
```
|
|
383
372
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
The default online/offline mode is set to offline, if you set it online the default latitude and longitude will be ignored and
|
|
387
|
-
calculated from the city and nation. Remember to pass also the geonames_username parameter if you want to use the online mode, like this:
|
|
373
|
+
If you set `online=True`, provide a `geonames_username` to allow city-based geolocation:
|
|
388
374
|
|
|
389
375
|
```python
|
|
390
376
|
from kerykeion.astrological_subject import AstrologicalSubject
|
|
391
377
|
|
|
392
|
-
# Use the static method get_from_iso_utc_time to create an instance of AstrologicalSubject
|
|
393
378
|
subject = AstrologicalSubject.get_from_iso_utc_time(
|
|
394
|
-
"Johnny Depp", "1963-06-09T05:00:00Z", "Owensboro", "US", online=True
|
|
379
|
+
"Johnny Depp", "1963-06-09T05:00:00Z", "Owensboro", "US", online=True
|
|
380
|
+
)
|
|
395
381
|
```
|
|
396
382
|
|
|
397
383
|
## Lunar Nodes (Rahu & Ketu)
|
|
@@ -427,7 +413,7 @@ To display them, you need to edit the configuration file (kr.config.json).
|
|
|
427
413
|
|
|
428
414
|
## JSON Support
|
|
429
415
|
|
|
430
|
-
|
|
416
|
+
You can serialize the astrological subject (the base data used throughout the library) to JSON:
|
|
431
417
|
|
|
432
418
|
```python
|
|
433
419
|
from kerykeion import AstrologicalSubject
|
|
@@ -437,31 +423,25 @@ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US")
|
|
|
437
423
|
print(johnny.json(dump=False, indent=2))
|
|
438
424
|
```
|
|
439
425
|
|
|
440
|
-
## Documentation
|
|
441
|
-
|
|
442
|
-
Most of the functions and the classes are self documented by the types and have docstrings.
|
|
443
|
-
An auto-generated documentation [is available here](https://www.kerykeion.net/pydocs/kerykeion.html).
|
|
426
|
+
## Auto Generated Documentation
|
|
444
427
|
|
|
445
|
-
|
|
428
|
+
You can find auto-generated documentation [here](https://www.kerykeion.net/pydocs/kerykeion.html). Most classes and functions include docstrings.
|
|
446
429
|
|
|
447
430
|
## Development
|
|
448
431
|
|
|
449
|
-
|
|
432
|
+
Clone the repository or download the ZIP via the GitHub interface.
|
|
450
433
|
|
|
451
|
-
##
|
|
434
|
+
## Integrating Kerykeion into Your Project
|
|
452
435
|
|
|
453
|
-
If you
|
|
436
|
+
If you would like to incorporate Kerykeion’s astrological features into your application, please reach out via [email](mailto:kerykeion.astrology@gmail.com?subject=Integration%20Request). Whether you need custom features, support, or specialized consulting, I am happy to discuss potential collaborations.
|
|
454
437
|
|
|
455
438
|
## License
|
|
456
439
|
|
|
457
|
-
This project is
|
|
458
|
-
To understand how this impacts your use of the software, please see the [LICENSE](LICENSE) file for details.
|
|
459
|
-
If you have questions, you can reach out to me at my [email](mailto:kerykeion.astrology@gmail.com?subject=Kerykeion) address.
|
|
460
|
-
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.
|
|
440
|
+
This project is covered under the AGPL-3.0 License. For detailed information, please see the [LICENSE](LICENSE) file. If you have questions, feel free to contact me at [kerykeion.astrology@gmail.com](mailto:kerykeion.astrology@gmail.com?subject=Kerykeion).
|
|
461
441
|
|
|
462
|
-
|
|
442
|
+
As a rule of thumb, if you use this library in a project, you should open-source that project under a compatible license. Alternatively, if you wish to keep your source closed, consider using the [AstrologerAPI](https://rapidapi.com/gbattaglia/api/astrologer/), which is AGPL-3.0 compliant and also helps support the project.
|
|
463
443
|
|
|
464
444
|
## Contributing
|
|
465
445
|
|
|
466
|
-
Feel free to
|
|
446
|
+
Contributions are welcome! Feel free to submit pull requests or report issues.
|
|
467
447
|
|