kerykeion 4.19.0__tar.gz → 4.20.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 (40) hide show
  1. {kerykeion-4.19.0 → kerykeion-4.20.0}/PKG-INFO +17 -1
  2. {kerykeion-4.19.0 → kerykeion-4.20.0}/README.md +15 -0
  3. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/astrological_subject.py +2 -2
  4. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/kerykeion_chart_svg.py +18 -4
  5. {kerykeion-4.19.0 → kerykeion-4.20.0}/pyproject.toml +1 -1
  6. {kerykeion-4.19.0 → kerykeion-4.20.0}/LICENSE +0 -0
  7. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/__init__.py +0 -0
  8. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/aspects/__init__.py +0 -0
  9. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/aspects/aspects_utils.py +0 -0
  10. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/aspects/natal_aspects.py +0 -0
  11. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/aspects/synastry_aspects.py +0 -0
  12. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/__init__.py +0 -0
  13. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/charts_utils.py +0 -0
  14. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/draw_planets.py +0 -0
  15. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/templates/aspect_grid_only.xml +0 -0
  16. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/templates/chart.xml +0 -0
  17. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/templates/wheel_only.xml +0 -0
  18. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/themes/classic.css +0 -0
  19. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/themes/dark-high-contrast.css +0 -0
  20. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/themes/dark.css +0 -0
  21. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/charts/themes/light.css +0 -0
  22. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/enums.py +0 -0
  23. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/ephemeris_data.py +0 -0
  24. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/fetch_geonames.py +0 -0
  25. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/kr_types/__init__.py +0 -0
  26. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/kr_types/chart_types.py +0 -0
  27. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/kr_types/kerykeion_exception.py +0 -0
  28. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/kr_types/kr_literals.py +0 -0
  29. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/kr_types/kr_models.py +0 -0
  30. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/kr_types/settings_models.py +0 -0
  31. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/relationship_score/__init__.py +0 -0
  32. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/relationship_score/relationship_score.py +0 -0
  33. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/relationship_score/relationship_score_factory.py +0 -0
  34. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/report.py +0 -0
  35. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/settings/__init__.py +0 -0
  36. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/settings/kerykeion_settings.py +0 -0
  37. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/settings/kr.config.json +0 -0
  38. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/sweph/README.md +0 -0
  39. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/sweph/seas_18.se1 +0 -0
  40. {kerykeion-4.19.0 → kerykeion-4.20.0}/kerykeion/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kerykeion
3
- Version: 4.19.0
3
+ Version: 4.20.0
4
4
  Summary: A python library for astrology.
5
5
  Home-page: https://www.kerykeion.net/
6
6
  License: AGPL-3.0
@@ -19,6 +19,7 @@ Classifier: Programming Language :: Python :: 3.9
19
19
  Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
22
23
  Classifier: Programming Language :: Python :: 3 :: Only
23
24
  Classifier: Topic :: Scientific/Engineering :: Astronomy
24
25
  Classifier: Topic :: Software Development
@@ -396,6 +397,21 @@ Example:
396
397
  ...
397
398
  ```
398
399
 
400
+ In the charts, by default, the mean nodes (M) are displayed, while the true nodes are not displayed.
401
+ To display them, you need to edit the configuration file (kr.config.json).
402
+
403
+ ## JSON Support
404
+
405
+ The astrological subject, which is the base of data used in the library, can be easily serialized to JSON with the `json` method.
406
+
407
+ ```python
408
+ from kerykeion import AstrologicalSubject
409
+
410
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US")
411
+
412
+ print(johnny.json(dump=False, indent=2))
413
+ ```
414
+
399
415
  ## Documentation
400
416
 
401
417
  Most of the functions and the classes are self documented by the types and have docstrings.
@@ -359,6 +359,21 @@ Example:
359
359
  ...
360
360
  ```
361
361
 
362
+ In the charts, by default, the mean nodes (M) are displayed, while the true nodes are not displayed.
363
+ To display them, you need to edit the configuration file (kr.config.json).
364
+
365
+ ## JSON Support
366
+
367
+ The astrological subject, which is the base of data used in the library, can be easily serialized to JSON with the `json` method.
368
+
369
+ ```python
370
+ from kerykeion import AstrologicalSubject
371
+
372
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US")
373
+
374
+ print(johnny.json(dump=False, indent=2))
375
+ ```
376
+
362
377
  ## Documentation
363
378
 
364
379
  Most of the functions and the classes are self documented by the types and have docstrings.
@@ -227,7 +227,7 @@ class AstrologicalSubject:
227
227
  #---------------#
228
228
 
229
229
  # Geonames username
230
- if geonames_username is None and online:
230
+ if geonames_username is None and online and (not lat or not lng or not tz_str):
231
231
  logging.warning(GEONAMES_DEFAULT_USERNAME_WARNING)
232
232
  self.geonames_username = DEFAULT_GEONAMES_USERNAME
233
233
  else:
@@ -835,5 +835,5 @@ if __name__ == "__main__":
835
835
  print(johnny.mean_lilith)
836
836
 
837
837
  # Offline mode
838
- johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US", online=False, tz_str="America/New_York", lng=-87.1111, lat=37.7711)
838
+ johnny = AstrologicalSubject("Johnny Depp", 1963, 6, 9, 0, 0, "Owensboro", "US", online=False, tz_str="America/New_York", lng=-87.1111, lat=37.7711, sidereal_mode="FAGAN_BRADLEY", zodiac_type="Sidereal")
839
839
  print(johnny.json(dump=True, indent=2))
@@ -5,6 +5,7 @@
5
5
 
6
6
 
7
7
  import logging
8
+ import swisseph as swe
8
9
  from typing import get_args
9
10
 
10
11
  from kerykeion.settings.kerykeion_settings import get_settings
@@ -408,11 +409,19 @@ class KerykeionChartSVG:
408
409
  else:
409
410
  template_dict["stringTitle"] = self.user.name
410
411
 
411
- # Set bottom left corner information
412
- template_dict["bottomLeft0"] = f"{self.user.zodiac_type if self.user.zodiac_type == 'Tropic' else str(self.user.zodiac_type) + ' ' + str(self.user.sidereal_mode)}"
413
- template_dict["bottomLeft1"] = f"{self.user.houses_system_name}"
412
+ if self.user.zodiac_type == 'Tropic':
413
+ zodiac_info = "Tropical Zodiac"
414
+
415
+ else:
416
+ mode_const = "SIDM_" + self.user.sidereal_mode # type: ignore
417
+ mode_name = swe.get_ayanamsa_name(getattr(swe, mode_const))
418
+ zodiac_info = f"Ayanamsa: {mode_name}"
419
+
420
+ template_dict["bottomLeft0"] = f"{self.user.houses_system_name} Houses"
421
+ template_dict["bottomLeft1"] = zodiac_info
422
+
414
423
  if self.chart_type in ["Natal", "ExternalNatal", "Synastry"]:
415
- template_dict["bottomLeft2"] = f'{self.language_settings.get("lunar_phase", "Lunar Phase")}: {self.language_settings.get("day", "Day")} {self.user.lunar_phase.get("moon_phase", "")}'
424
+ template_dict["bottomLeft2"] = f'{self.language_settings.get("lunar_phase", "Lunar Phase")} {self.language_settings.get("day", "Day").lower()}: {self.user.lunar_phase.get("moon_phase", "")}'
416
425
  template_dict["bottomLeft3"] = f'{self.language_settings.get("lunar_phase", "Lunar Phase")}: {self.user.lunar_phase.moon_phase_name}'
417
426
  template_dict["bottomLeft4"] = f'{self.user.perspective_type}'
418
427
  else:
@@ -905,3 +914,8 @@ if __name__ == "__main__":
905
914
  hindi_subject = AstrologicalSubject("Amitabh Bachchan", 1942, 10, 11, 4, 0, "Allahabad", "IN")
906
915
  hindi_chart = KerykeionChartSVG(hindi_subject, chart_language="HI")
907
916
  hindi_chart.makeSVG()
917
+
918
+ # Kanye West Natal Chart
919
+ kanye_west_subject = AstrologicalSubject("Kanye", 1977, 6, 8, 8, 45, "Atlanta", "US")
920
+ kanye_west_chart = KerykeionChartSVG(kanye_west_subject)
921
+ kanye_west_chart.makeSVG()
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "kerykeion"
3
- version = "4.19.0"
3
+ version = "4.20.0"
4
4
  authors = ["Giacomo Battaglia <kerykeion.astrology@gmail.com>"]
5
5
  description = "A python library for astrology."
6
6
  license = "AGPL-3.0"
File without changes