kerykeion 5.0.0a11__tar.gz → 5.0.0a12__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 (194) hide show
  1. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/PKG-INFO +49 -22
  2. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/README.md +48 -21
  3. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/TODO.md +6 -17
  4. kerykeion-5.0.0a12/docs/kerykeion.html +13167 -0
  5. kerykeion-5.0.0a12/docs/search.js +46 -0
  6. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/__init__.py +2 -3
  7. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/aspects/__init__.py +2 -4
  8. kerykeion-5.0.0a12/kerykeion/aspects/aspects_factory.py +514 -0
  9. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/astrological_subject_factory.py +3 -3
  10. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/kerykeion_chart_svg.py +9 -10
  11. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/house_comparison/house_comparison_factory.py +48 -15
  12. kerykeion-5.0.0a12/kerykeion/house_comparison/house_comparison_models.py +76 -0
  13. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/house_comparison/house_comparison_utils.py +35 -5
  14. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/kr_types/kr_models.py +27 -10
  15. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/relationship_score_factory.py +2 -2
  16. kerykeion-5.0.0a12/kerykeion/sweph/sefstars.txt +1602 -0
  17. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/transits_time_range_factory.py +4 -4
  18. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/pyproject.toml +1 -1
  19. kerykeion-5.0.0a12/site-docs/aspects.md +863 -0
  20. kerykeion-5.0.0a12/site-docs/astrological_subject_factory.md +1790 -0
  21. kerykeion-5.0.0a12/site-docs/charts.md +766 -0
  22. kerykeion-5.0.0a12/site-docs/composite_subject_factory.md +463 -0
  23. kerykeion-5.0.0a12/site-docs/ephemeris_data_factory.md +488 -0
  24. kerykeion-5.0.0a12/site-docs/house_comparison.md +131 -0
  25. kerykeion-5.0.0a12/site-docs/planetary_return_factory.md +811 -0
  26. kerykeion-5.0.0a12/site-docs/relationship_score_factory.md +794 -0
  27. kerykeion-5.0.0a12/site-docs/transits_time_range_factory.md +962 -0
  28. kerykeion-5.0.0a12/site-docs/utilities.md +906 -0
  29. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/test_utils/regenerate_expected_aspects.py +3 -3
  30. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/aspects/test_natal_aspects.py +4 -6
  31. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/aspects/test_synastry_aspects.py +3 -3
  32. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/uv.lock +1 -1
  33. kerykeion-5.0.0a11/docs/kerykeion.html +0 -782
  34. kerykeion-5.0.0a11/docs/search.js +0 -46
  35. kerykeion-5.0.0a11/examples/README.md +0 -4
  36. kerykeion-5.0.0a11/examples/astrologiacal_subject.py +0 -0
  37. kerykeion-5.0.0a11/examples/charts/composite_chart.py +0 -20
  38. kerykeion-5.0.0a11/examples/charts/kerykeion_chart_svg.py +0 -7
  39. kerykeion-5.0.0a11/kerykeion/aspects/natal_aspects_factory.py +0 -235
  40. kerykeion-5.0.0a11/kerykeion/aspects/synastry_aspects_factory.py +0 -275
  41. kerykeion-5.0.0a11/kerykeion/house_comparison/house_comparison_models.py +0 -38
  42. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/.github/FUNDING.yml +0 -0
  43. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/.gitignore +0 -0
  44. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/CHANGELOG.md +0 -0
  45. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/DEVELOPMENT.md +0 -0
  46. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/LICENSE +0 -0
  47. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/MANIFEST.in +0 -0
  48. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/index.html +0 -0
  49. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/aspects/aspects_utils.html +0 -0
  50. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/aspects/natal_aspects.html +0 -0
  51. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/aspects/synastry_aspects.html +0 -0
  52. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/aspects/transits_time_range.html +0 -0
  53. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/aspects.html +0 -0
  54. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/astrological_subject.html +0 -0
  55. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/charts/charts_utils.html +0 -0
  56. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/charts/draw_planets.html +0 -0
  57. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/charts/kerykeion_chart_svg.html +0 -0
  58. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/charts.html +0 -0
  59. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/composite_subject_factory.html +0 -0
  60. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/enums.html +0 -0
  61. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/ephemeris_data.html +0 -0
  62. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/fetch_geonames.html +0 -0
  63. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/kr_types/chart_types.html +0 -0
  64. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/kr_types/kerykeion_exception.html +0 -0
  65. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/kr_types/kr_literals.html +0 -0
  66. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/kr_types/kr_models.html +0 -0
  67. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/kr_types/settings_models.html +0 -0
  68. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/kr_types.html +0 -0
  69. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/relationship_score/relationship_score.html +0 -0
  70. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/relationship_score/relationship_score_factory.html +0 -0
  71. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/relationship_score.html +0 -0
  72. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/report.html +0 -0
  73. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/settings/config_constants.html +0 -0
  74. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/settings/kerykeion_settings.html +0 -0
  75. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/settings.html +0 -0
  76. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/transits_time_range.html +0 -0
  77. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/docs/kerykeion/utilities.html +0 -0
  78. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/aspects/aspects_utils.py +0 -0
  79. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/__init__.py +0 -0
  80. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/charts_utils.py +0 -0
  81. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/draw_planets.py +0 -0
  82. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/templates/aspect_grid_only.xml +0 -0
  83. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/templates/chart.xml +0 -0
  84. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/templates/wheel_only.xml +0 -0
  85. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/themes/classic.css +0 -0
  86. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/themes/dark-high-contrast.css +0 -0
  87. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/themes/dark.css +0 -0
  88. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/themes/light.css +0 -0
  89. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/charts/themes/strawberry.css +0 -0
  90. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/composite_subject_factory.py +0 -0
  91. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/ephemeris_data_factory.py +0 -0
  92. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/fetch_geonames.py +0 -0
  93. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/house_comparison/__init__.py +0 -0
  94. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/kr_types/__init__.py +0 -0
  95. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/kr_types/chart_types.py +0 -0
  96. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/kr_types/kerykeion_exception.py +0 -0
  97. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/kr_types/kr_literals.py +0 -0
  98. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/kr_types/settings_models.py +0 -0
  99. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/planetary_return_factory.py +0 -0
  100. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/report.py +0 -0
  101. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/__init__.py +0 -0
  102. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/config_constants.py +0 -0
  103. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/kerykeion_settings.py +0 -0
  104. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/kr.config.json +0 -0
  105. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/legacy/__init__.py +0 -0
  106. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/legacy/legacy_celestial_points_settings.py +0 -0
  107. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/legacy/legacy_chart_aspects_settings.py +0 -0
  108. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/settings/legacy/legacy_color_settings.py +0 -0
  109. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/sweph/README.md +0 -0
  110. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/sweph/seas_18.se1 +0 -0
  111. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/kerykeion/utilities.py +0 -0
  112. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.14.0.md +0 -0
  113. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.16.0.md +0 -0
  114. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.17.0.md +0 -0
  115. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.19.0.md +0 -0
  116. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.21.0.md +0 -0
  117. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.22.0.md +0 -0
  118. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.23.0.md +0 -0
  119. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.24.0.md +0 -0
  120. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.25.0.md +0 -0
  121. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/V4.26.0.md +0 -0
  122. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/release_notes/v5.0.0a1.md +0 -0
  123. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/test_utils/README.md +0 -0
  124. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/test_utils/regenerate_synastry_aspects.py +0 -0
  125. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/test_utils/regenerate_synastry_from_test.py +0 -0
  126. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/test_utils/regenerate_test_charts.py +0 -0
  127. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/__init__.py +0 -0
  128. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/aspects/__init__.py +0 -0
  129. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/aspects/expected_natal_aspects.py +0 -0
  130. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/aspects/expected_synastry_aspects.py +0 -0
  131. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/__init__.py +0 -0
  132. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/compare_svg_lines.py +0 -0
  133. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Albert Einstein - Natal Chart.svg +0 -0
  134. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Amitabh Bachchan - Natal Chart.svg +0 -0
  135. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Angelina Jolie and Brad Pitt Composite Chart - Composite Chart.svg +0 -0
  136. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Antonio Banderas - Natal Chart.svg +0 -0
  137. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Cristiano Ronaldo - Natal Chart.svg +0 -0
  138. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Grid - Transit Chart - Aspect Grid Only.svg +0 -0
  139. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Grid - Transit Chart - Wheel Only.svg +0 -0
  140. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Grid - Transit Chart.svg +0 -0
  141. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Hua Chenyu - Natal Chart.svg +0 -0
  142. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Jeanne Moreau - Natal Chart.svg +0 -0
  143. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Aspect Grid Dark Synastry - Synastry Chart - Aspect Grid Only.svg +0 -0
  144. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Aspect Grid Dark Theme - Natal Chart - Aspect Grid Only.svg +0 -0
  145. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Aspect Grid Light Theme - Natal Chart - Aspect Grid Only.svg +0 -0
  146. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Aspect Grid Only - Natal Chart - Aspect Grid Only.svg +0 -0
  147. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Aspect Grid Synastry - Synastry Chart - Aspect Grid Only.svg +0 -0
  148. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Aspect Grid Transit - Transit Chart - Aspect Grid Only.svg +0 -0
  149. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - DTS - Synastry Chart.svg +0 -0
  150. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Dark High Contrast Theme - Natal Chart.svg +0 -0
  151. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Dark Theme - Natal Chart.svg +0 -0
  152. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Dark Theme External - ExternalNatal Chart.svg +0 -0
  153. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - ExternalNatal Chart.svg +0 -0
  154. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Heliocentric - Natal Chart.svg +0 -0
  155. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - House System Morinus - Natal Chart.svg +0 -0
  156. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Light Theme - Natal Chart.svg +0 -0
  157. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Minified - Natal Chart.svg +0 -0
  158. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Natal Chart.svg +0 -0
  159. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Return Chart - Lunar Return.svg +0 -0
  160. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Return Chart - Solar Return.svg +0 -0
  161. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - SCTWL - Synastry Chart.svg +0 -0
  162. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Synastry Chart.svg +0 -0
  163. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - TCWTG - Transit Chart.svg +0 -0
  164. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Topocentric - Natal Chart.svg +0 -0
  165. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Transit Chart.svg +0 -0
  166. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Transparent Background - Natal Chart.svg +0 -0
  167. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - True Geocentric - Natal Chart.svg +0 -0
  168. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Wheel External Only - ExternalNatal Chart - Wheel Only.svg +0 -0
  169. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Wheel Only - Natal Chart - Wheel Only.svg +0 -0
  170. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Wheel Synastry Only - Synastry Chart - Wheel Only.svg +0 -0
  171. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon - Wheel Transit Only - Transit Chart - Wheel Only.svg +0 -0
  172. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon DeLuce - Natal Chart.svg +0 -0
  173. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon Fagan-Bradley - Light Theme - Natal Chart - Wheel Only.svg +0 -0
  174. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon Fagan-Bradley - Natal Chart.svg +0 -0
  175. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon J2000 - Natal Chart.svg +0 -0
  176. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon Lahiri - Dark Theme - Natal Chart - Wheel Only.svg +0 -0
  177. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon Lahiri - Natal Chart.svg +0 -0
  178. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/John Lennon Solar Return - SingleWheelReturn Chart.svg +0 -0
  179. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Kanye - Natal Chart.svg +0 -0
  180. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Mehmet Oz - Natal Chart.svg +0 -0
  181. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Mikhail Bulgakov - Natal Chart.svg +0 -0
  182. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/svg/Sophia Loren - Natal Chart.svg +0 -0
  183. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/charts/test_charts.py +0 -0
  184. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/settings/test-settings.json +0 -0
  185. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/settings/test_settings.py +0 -0
  186. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_astrological_subject.py +0 -0
  187. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_astrological_subject_jyotish.py +0 -0
  188. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_ephemeris_data.py +0 -0
  189. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_fetch_geonames.py +0 -0
  190. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_json_dump.py +0 -0
  191. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_relationship_score.py +0 -0
  192. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_report.py +0 -0
  193. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_utc.py +0 -0
  194. {kerykeion-5.0.0a11 → kerykeion-5.0.0a12}/tests/test_utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kerykeion
3
- Version: 5.0.0a11
3
+ Version: 5.0.0a12
4
4
  Summary: A Python library for astrological calculations, including natal charts, houses, planetary aspects, and SVG chart generation.
5
5
  Project-URL: Homepage, https://www.kerykeion.net/
6
6
  Project-URL: Repository, https://github.com/g-battaglia/kerykeion
@@ -186,10 +186,6 @@ birth_chart_svg = KerykeionChartSVG(john)
186
186
  birth_chart_svg.makeSVG()
187
187
  ```
188
188
 
189
- ```python
190
- birth_chart_svg.makeSVG()
191
- ```
192
-
193
189
  The SVG file will be saved in the home directory.
194
190
  ![John Lennon Birth Chart](https://raw.githubusercontent.com/g-battaglia/kerykeion/refs/heads/master/tests/charts/svg/John%20Lennon%20-%20Natal%20Chart.svg)
195
191
 
@@ -221,7 +217,7 @@ synastry_chart.makeSVG()
221
217
  ### Transit Chart
222
218
 
223
219
  ```python
224
- from kerykeion import AstrologicalSubjectFactory
220
+ from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
225
221
 
226
222
  transit = AstrologicalSubjectFactory.from_birth_data("Transit", 2025, 6, 8, 8, 45, "Atlanta", "US")
227
223
  subject = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
@@ -315,7 +311,7 @@ You can switch chart language by passing `chart_language` to the `KerykeionChar
315
311
  ```python
316
312
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
317
313
 
318
- first = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
314
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
319
315
  birth_chart_svg = KerykeionChartSVG(
320
316
  birth_chart,
321
317
  chart_language="IT" # Change to Italian
@@ -342,7 +338,7 @@ To generate a minified SVG, set `minify_svg=True` in the `makeSVG()` method:
342
338
 
343
339
  ```python
344
340
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
345
- first = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
341
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
346
342
  birth_chart_svg = KerykeionChartSVG(birth_chart)
347
343
  birth_chart_svg.makeSVG(
348
344
  minify=True
@@ -355,7 +351,7 @@ To generate an SVG without CSS variables, set `remove_css_variables=True` in the
355
351
  ```python
356
352
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
357
353
 
358
- first = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
354
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
359
355
  birth_chart_svg = KerykeionChartSVG(birth_chart)
360
356
  birth_chart_svg.makeSVG(
361
357
  remove_css_variables=True
@@ -366,13 +362,14 @@ This will inline all styles and eliminate CSS variables, resulting in an SVG tha
366
362
 
367
363
  ### Grid Only SVG
368
364
 
369
- It's possible to generate a grid-only SVG, useful for creating a custom layout. To do this, use the `makeGridOnlySVG()` method:
365
+ It's possible to generate a grid-only SVG, useful for creating a custom layout. To do this, use the `makeAspectGridOnlySVG()` method:
370
366
 
371
367
  ```python
372
368
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
373
- birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon - Aspect Grid Dark Synastry", 1977, 6, 8, 8, 45, "Atlanta", "US")
374
- aspect_grid_dark_synastry_chart = KerykeionChartSVG(aspect_grid_dark_synastry_subject, "Synastry", second, theme="dark")
375
- aspect_grid_dark_synastry_chart.makeAspectGridOnlySVG()
369
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
370
+ second = AstrologicalSubjectFactory.from_birth_data("Paul McCartney", 1942, 6, 18, 15, 30, "Liverpool", "GB")
371
+ aspect_grid_chart = KerykeionChartSVG(birth_chart, "Synastry", second, theme="dark")
372
+ aspect_grid_chart.makeAspectGridOnlySVG()
376
373
  ```
377
374
  ![John Lennon Birth Chart](https://raw.githubusercontent.com/g-battaglia/kerykeion/refs/heads/master/tests/charts/svg/John%20Lennon%20-%20Aspect%20Grid%20Only%20-%20Natal%20Chart%20-%20Aspect%20Grid%20Only.svg)
378
375
 
@@ -444,17 +441,47 @@ python3 your_script_name.py > file.txt
444
441
 
445
442
  ## Example: Retrieving Aspects
446
443
 
444
+ Kerykeion provides a unified `AspectsFactory` class for calculating astrological aspects within single charts or between two charts:
445
+
447
446
  ```python
448
- from kerykeion import SynastryAspects, AstrologicalSubject
447
+ from kerykeion import AspectsFactory, AstrologicalSubjectFactory
448
+
449
+ # Create astrological subjects
450
+ jack = AstrologicalSubjectFactory.from_birth_data("Jack", 1990, 6, 15, 15, 15, "Roma", "IT")
451
+ jane = AstrologicalSubjectFactory.from_birth_data("Jane", 1991, 10, 25, 21, 0, "Roma", "IT")
452
+
453
+ # For single chart aspects (natal, return, composite, etc.)
454
+ single_chart_aspects = AspectsFactory.single_chart_aspects(jack)
455
+ print(f"Found {len(single_chart_aspects)} aspects in Jack's chart")
456
+ print(single_chart_aspects[0])
457
+ # Output: AspectModel with details like aspect type, orb, planets involved, etc.
458
+
459
+ # For dual chart aspects (synastry, transits, comparisons, etc.)
460
+ dual_chart_aspects = AspectsFactory.dual_chart_aspects(jack, jane)
461
+ print(f"Found {len(dual_chart_aspects)} aspects between Jack and Jane's charts")
462
+ print(dual_chart_aspects[0])
463
+ # Output: AspectModel with cross-chart aspect details
464
+
465
+ # The factory returns structured AspectModel objects with properties like:
466
+ # - p1_name, p2_name: Planet/point names
467
+ # - aspect: Aspect type (conjunction, trine, square, etc.)
468
+ # - orbit: Orb tolerance in degrees
469
+ # - aspect_degrees: Exact degrees for the aspect (0, 60, 90, 120, 180, etc.)
470
+ # - color: Hex color code for visualization
471
+ ```
449
472
 
450
- first = AstrologicalSubjectFactory.from_birth_data("Jack", 1990, 6, 15, 15, 15, "Roma", "IT")
451
- second = AstrologicalSubjectFactory.from_birth_data("Jane", 1991, 10, 25, 21, 0, "Roma", "IT")
473
+ **Advanced Usage with Custom Settings:**
474
+
475
+ ```python
476
+ # You can also customize aspect calculations with custom orb settings
477
+ from kerykeion.settings.config_constants import DEFAULT_ACTIVE_ASPECTS
452
478
 
453
- name = SynastryAspects(first, second)
454
- aspect_list = name.get_relevant_aspects()
455
- print(aspect_list[0])
456
- #> {'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}
479
+ # Modify aspect settings if needed
480
+ custom_aspects = DEFAULT_ACTIVE_ASPECTS.copy()
481
+ # ... modify as needed
457
482
 
483
+ # The factory automatically uses the configured settings for orb calculations
484
+ # and filters aspects based on relevance and orb thresholds
458
485
  ```
459
486
 
460
487
  ## Ayanamsa (Sidereal Modes)
@@ -525,7 +552,7 @@ Here's an example of how to set the theme:
525
552
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
526
553
 
527
554
  dark_theme_subject = AstrologicalSubjectFactory.from_birth_data("John Lennon - Dark Theme", 1940, 10, 9, 18, 30, "Liverpool", "GB")
528
- dark_theme_natal_chart = KerykeionChartSVG(dark_high_contrast_theme_subject, theme="dark_high_contrast")
555
+ dark_theme_natal_chart = KerykeionChartSVG(dark_theme_subject, theme="dark_high_contrast")
529
556
  dark_theme_natal_chart.makeSVG()
530
557
  ```
531
558
 
@@ -617,7 +644,7 @@ Clone the repository or download the ZIP via the GitHub interface.
617
644
 
618
645
  ## Integrating Kerykeion into Your Project
619
646
 
620
- If you would like to incorporate Kerykeions 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.
647
+ 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.
621
648
 
622
649
  ## License
623
650
 
@@ -146,10 +146,6 @@ birth_chart_svg = KerykeionChartSVG(john)
146
146
  birth_chart_svg.makeSVG()
147
147
  ```
148
148
 
149
- ```python
150
- birth_chart_svg.makeSVG()
151
- ```
152
-
153
149
  The SVG file will be saved in the home directory.
154
150
  ![John Lennon Birth Chart](https://raw.githubusercontent.com/g-battaglia/kerykeion/refs/heads/master/tests/charts/svg/John%20Lennon%20-%20Natal%20Chart.svg)
155
151
 
@@ -181,7 +177,7 @@ synastry_chart.makeSVG()
181
177
  ### Transit Chart
182
178
 
183
179
  ```python
184
- from kerykeion import AstrologicalSubjectFactory
180
+ from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
185
181
 
186
182
  transit = AstrologicalSubjectFactory.from_birth_data("Transit", 2025, 6, 8, 8, 45, "Atlanta", "US")
187
183
  subject = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
@@ -275,7 +271,7 @@ You can switch chart language by passing `chart_language` to the `KerykeionChar
275
271
  ```python
276
272
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
277
273
 
278
- first = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
274
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
279
275
  birth_chart_svg = KerykeionChartSVG(
280
276
  birth_chart,
281
277
  chart_language="IT" # Change to Italian
@@ -302,7 +298,7 @@ To generate a minified SVG, set `minify_svg=True` in the `makeSVG()` method:
302
298
 
303
299
  ```python
304
300
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
305
- first = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
301
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
306
302
  birth_chart_svg = KerykeionChartSVG(birth_chart)
307
303
  birth_chart_svg.makeSVG(
308
304
  minify=True
@@ -315,7 +311,7 @@ To generate an SVG without CSS variables, set `remove_css_variables=True` in the
315
311
  ```python
316
312
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
317
313
 
318
- first = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
314
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
319
315
  birth_chart_svg = KerykeionChartSVG(birth_chart)
320
316
  birth_chart_svg.makeSVG(
321
317
  remove_css_variables=True
@@ -326,13 +322,14 @@ This will inline all styles and eliminate CSS variables, resulting in an SVG tha
326
322
 
327
323
  ### Grid Only SVG
328
324
 
329
- It's possible to generate a grid-only SVG, useful for creating a custom layout. To do this, use the `makeGridOnlySVG()` method:
325
+ It's possible to generate a grid-only SVG, useful for creating a custom layout. To do this, use the `makeAspectGridOnlySVG()` method:
330
326
 
331
327
  ```python
332
328
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
333
- birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon - Aspect Grid Dark Synastry", 1977, 6, 8, 8, 45, "Atlanta", "US")
334
- aspect_grid_dark_synastry_chart = KerykeionChartSVG(aspect_grid_dark_synastry_subject, "Synastry", second, theme="dark")
335
- aspect_grid_dark_synastry_chart.makeAspectGridOnlySVG()
329
+ birth_chart = AstrologicalSubjectFactory.from_birth_data("John Lennon", 1940, 10, 9, 18, 30, "Liverpool", "GB")
330
+ second = AstrologicalSubjectFactory.from_birth_data("Paul McCartney", 1942, 6, 18, 15, 30, "Liverpool", "GB")
331
+ aspect_grid_chart = KerykeionChartSVG(birth_chart, "Synastry", second, theme="dark")
332
+ aspect_grid_chart.makeAspectGridOnlySVG()
336
333
  ```
337
334
  ![John Lennon Birth Chart](https://raw.githubusercontent.com/g-battaglia/kerykeion/refs/heads/master/tests/charts/svg/John%20Lennon%20-%20Aspect%20Grid%20Only%20-%20Natal%20Chart%20-%20Aspect%20Grid%20Only.svg)
338
335
 
@@ -404,17 +401,47 @@ python3 your_script_name.py > file.txt
404
401
 
405
402
  ## Example: Retrieving Aspects
406
403
 
404
+ Kerykeion provides a unified `AspectsFactory` class for calculating astrological aspects within single charts or between two charts:
405
+
407
406
  ```python
408
- from kerykeion import SynastryAspects, AstrologicalSubject
407
+ from kerykeion import AspectsFactory, AstrologicalSubjectFactory
408
+
409
+ # Create astrological subjects
410
+ jack = AstrologicalSubjectFactory.from_birth_data("Jack", 1990, 6, 15, 15, 15, "Roma", "IT")
411
+ jane = AstrologicalSubjectFactory.from_birth_data("Jane", 1991, 10, 25, 21, 0, "Roma", "IT")
412
+
413
+ # For single chart aspects (natal, return, composite, etc.)
414
+ single_chart_aspects = AspectsFactory.single_chart_aspects(jack)
415
+ print(f"Found {len(single_chart_aspects)} aspects in Jack's chart")
416
+ print(single_chart_aspects[0])
417
+ # Output: AspectModel with details like aspect type, orb, planets involved, etc.
418
+
419
+ # For dual chart aspects (synastry, transits, comparisons, etc.)
420
+ dual_chart_aspects = AspectsFactory.dual_chart_aspects(jack, jane)
421
+ print(f"Found {len(dual_chart_aspects)} aspects between Jack and Jane's charts")
422
+ print(dual_chart_aspects[0])
423
+ # Output: AspectModel with cross-chart aspect details
424
+
425
+ # The factory returns structured AspectModel objects with properties like:
426
+ # - p1_name, p2_name: Planet/point names
427
+ # - aspect: Aspect type (conjunction, trine, square, etc.)
428
+ # - orbit: Orb tolerance in degrees
429
+ # - aspect_degrees: Exact degrees for the aspect (0, 60, 90, 120, 180, etc.)
430
+ # - color: Hex color code for visualization
431
+ ```
409
432
 
410
- first = AstrologicalSubjectFactory.from_birth_data("Jack", 1990, 6, 15, 15, 15, "Roma", "IT")
411
- second = AstrologicalSubjectFactory.from_birth_data("Jane", 1991, 10, 25, 21, 0, "Roma", "IT")
433
+ **Advanced Usage with Custom Settings:**
434
+
435
+ ```python
436
+ # You can also customize aspect calculations with custom orb settings
437
+ from kerykeion.settings.config_constants import DEFAULT_ACTIVE_ASPECTS
412
438
 
413
- name = SynastryAspects(first, second)
414
- aspect_list = name.get_relevant_aspects()
415
- print(aspect_list[0])
416
- #> {'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}
439
+ # Modify aspect settings if needed
440
+ custom_aspects = DEFAULT_ACTIVE_ASPECTS.copy()
441
+ # ... modify as needed
417
442
 
443
+ # The factory automatically uses the configured settings for orb calculations
444
+ # and filters aspects based on relevance and orb thresholds
418
445
  ```
419
446
 
420
447
  ## Ayanamsa (Sidereal Modes)
@@ -485,7 +512,7 @@ Here's an example of how to set the theme:
485
512
  from kerykeion import AstrologicalSubjectFactory, KerykeionChartSVG
486
513
 
487
514
  dark_theme_subject = AstrologicalSubjectFactory.from_birth_data("John Lennon - Dark Theme", 1940, 10, 9, 18, 30, "Liverpool", "GB")
488
- dark_theme_natal_chart = KerykeionChartSVG(dark_high_contrast_theme_subject, theme="dark_high_contrast")
515
+ dark_theme_natal_chart = KerykeionChartSVG(dark_theme_subject, theme="dark_high_contrast")
489
516
  dark_theme_natal_chart.makeSVG()
490
517
  ```
491
518
 
@@ -577,7 +604,7 @@ Clone the repository or download the ZIP via the GitHub interface.
577
604
 
578
605
  ## Integrating Kerykeion into Your Project
579
606
 
580
- If you would like to incorporate Kerykeions 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.
607
+ 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.
581
608
 
582
609
  ## License
583
610
 
@@ -18,30 +18,19 @@
18
18
 
19
19
  ### 🟥 High Priority
20
20
 
21
- - [ ] FIX WHEEL ONLY CHARTS!
22
- - [ ] Fix labels (eg. "Aspetti Tra [...]")
23
- - [x] Refactor structure using the new `AstrologicalSubjectModel` and a factory class to instantiate objects in multiple ways:
24
- - [ ] Online
25
- - [ ] Offline
26
- - [ ] With UTC ISO 8601 string
27
- - [ ] With current UTC time
28
- - [ ] With only active planets
21
+ - [~] Full documentation for the library and AstrologerAPI
22
+ - [ ] Complete all the arab parts and other points in the chart
23
+ - [ ] Correct the displayed file name (browser tab/title)
29
24
  - [ ] Discepolo's Score in Synastry
30
- - [x] Add weekday name to the output
31
- - [ ] Add planetary speed and direction
32
- - [ ] Create utility function to retrieve all active planets
33
- - [ ] Full documentation for the library and AstrologerAPI
34
25
  - [ ] More "air space" around objects in the chart
35
- - [x] More colorful themes (eg. "strawberry")
36
- - [ ] Correct the displayed file name (browser tab/title)
26
+ - [ ] Create utility function to retrieve all active planets
37
27
  - [ ] NatalAspects and SynatryAspect with inheritance of ActivePoints
38
- - [ ] Fix unit tests
39
- - [ ] Complete all the arab parts and other points in the chart
28
+ - [ ] Expand unit tests to cover all aspects of the library
29
+ - [ ] Add planetary speed and direction
40
30
 
41
31
 
42
32
  ### 🟧 Medium Priority
43
33
 
44
- - [ ] Finalize and integrate new examples into the documentation
45
34
 
46
35
  ### 🟨 Low Priority
47
36