kerykeion 5.0.0a10__tar.gz → 5.0.0a11__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-5.0.0a10 → kerykeion-5.0.0a11}/PKG-INFO +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/__init__.py +2 -6
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/aspects/natal_aspects_factory.py +3 -4
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/aspects/synastry_aspects_factory.py +69 -28
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/astrological_subject_factory.py +683 -77
- kerykeion-5.0.0a10/kerykeion/charts/draw_planets_v2.py → kerykeion-5.0.0a11/kerykeion/charts/draw_planets.py +16 -16
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/kerykeion_chart_svg.py +2 -7
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/templates/wheel_only.xml +1 -1
- kerykeion-5.0.0a11/kerykeion/composite_subject_factory.py +408 -0
- kerykeion-5.0.0a11/kerykeion/ephemeris_data_factory.py +431 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/fetch_geonames.py +27 -8
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/kr_types/kerykeion_exception.py +6 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/kr_types/kr_models.py +55 -2
- kerykeion-5.0.0a11/kerykeion/planetary_return_factory.py +801 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/relationship_score_factory.py +96 -42
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/report.py +7 -0
- kerykeion-5.0.0a11/kerykeion/transits_time_range_factory.py +293 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/utilities.py +129 -67
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/pyproject.toml +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Wheel External Only - ExternalNatal Chart - Wheel Only.svg +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Wheel Only - Natal Chart - Wheel Only.svg +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Wheel Synastry Only - Synastry Chart - Wheel Only.svg +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Wheel Transit Only - Transit Chart - Wheel Only.svg +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon Fagan-Bradley - Light Theme - Natal Chart - Wheel Only.svg +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon Lahiri - Dark Theme - Natal Chart - Wheel Only.svg +1 -1
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/uv.lock +1 -1
- kerykeion-5.0.0a10/kerykeion/charts/draw_planets.py +0 -407
- kerykeion-5.0.0a10/kerykeion/charts/draw_planets_v3.py +0 -679
- kerykeion-5.0.0a10/kerykeion/composite_subject_factory.py +0 -189
- kerykeion-5.0.0a10/kerykeion/enums.py +0 -57
- kerykeion-5.0.0a10/kerykeion/ephemeris_data.py +0 -238
- kerykeion-5.0.0a10/kerykeion/planetary_return_factory.py +0 -301
- kerykeion-5.0.0a10/kerykeion/transits_time_range.py +0 -128
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/.github/FUNDING.yml +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/.gitignore +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/CHANGELOG.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/DEVELOPMENT.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/LICENSE +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/MANIFEST.in +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/README.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/TODO.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/index.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/aspects/aspects_utils.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/aspects/natal_aspects.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/aspects/synastry_aspects.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/aspects/transits_time_range.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/aspects.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/astrological_subject.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/charts/charts_utils.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/charts/draw_planets.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/charts/kerykeion_chart_svg.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/charts.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/composite_subject_factory.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/enums.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/ephemeris_data.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/fetch_geonames.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/kr_types/chart_types.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/kr_types/kerykeion_exception.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/kr_types/kr_literals.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/kr_types/kr_models.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/kr_types/settings_models.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/kr_types.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/relationship_score/relationship_score.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/relationship_score/relationship_score_factory.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/relationship_score.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/report.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/settings/config_constants.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/settings/kerykeion_settings.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/settings.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/transits_time_range.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion/utilities.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/kerykeion.html +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/docs/search.js +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/examples/README.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/examples/astrologiacal_subject.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/examples/charts/composite_chart.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/examples/charts/kerykeion_chart_svg.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/aspects/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/aspects/aspects_utils.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/charts_utils.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/templates/aspect_grid_only.xml +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/templates/chart.xml +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/themes/classic.css +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/themes/dark-high-contrast.css +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/themes/dark.css +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/themes/light.css +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/charts/themes/strawberry.css +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/house_comparison/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/house_comparison/house_comparison_factory.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/house_comparison/house_comparison_models.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/house_comparison/house_comparison_utils.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/kr_types/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/kr_types/chart_types.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/kr_types/kr_literals.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/kr_types/settings_models.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/config_constants.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/kerykeion_settings.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/kr.config.json +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/legacy/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/legacy/legacy_celestial_points_settings.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/legacy/legacy_chart_aspects_settings.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/settings/legacy/legacy_color_settings.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/sweph/README.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/kerykeion/sweph/seas_18.se1 +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.14.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.16.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.17.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.19.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.21.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.22.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.23.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.24.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.25.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/V4.26.0.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/release_notes/v5.0.0a1.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/test_utils/README.md +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/test_utils/regenerate_expected_aspects.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/test_utils/regenerate_synastry_aspects.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/test_utils/regenerate_synastry_from_test.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/test_utils/regenerate_test_charts.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/aspects/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/aspects/expected_natal_aspects.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/aspects/expected_synastry_aspects.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/aspects/test_natal_aspects.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/aspects/test_synastry_aspects.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/__init__.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/compare_svg_lines.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Albert Einstein - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Amitabh Bachchan - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Angelina Jolie and Brad Pitt Composite Chart - Composite Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Antonio Banderas - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Cristiano Ronaldo - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Grid - Transit Chart - Aspect Grid Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Grid - Transit Chart - Wheel Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Grid - Transit Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Hua Chenyu - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Jeanne Moreau - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Aspect Grid Dark Synastry - Synastry Chart - Aspect Grid Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Aspect Grid Dark Theme - Natal Chart - Aspect Grid Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Aspect Grid Light Theme - Natal Chart - Aspect Grid Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Aspect Grid Only - Natal Chart - Aspect Grid Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Aspect Grid Synastry - Synastry Chart - Aspect Grid Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Aspect Grid Transit - Transit Chart - Aspect Grid Only.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - DTS - Synastry Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Dark High Contrast Theme - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Dark Theme - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Dark Theme External - ExternalNatal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - ExternalNatal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Heliocentric - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - House System Morinus - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Light Theme - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Minified - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Return Chart - Lunar Return.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Return Chart - Solar Return.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - SCTWL - Synastry Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Synastry Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - TCWTG - Transit Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Topocentric - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Transit Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - Transparent Background - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon - True Geocentric - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon DeLuce - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon Fagan-Bradley - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon J2000 - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon Lahiri - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/John Lennon Solar Return - SingleWheelReturn Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Kanye - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Mehmet Oz - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Mikhail Bulgakov - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/svg/Sophia Loren - Natal Chart.svg +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/charts/test_charts.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/settings/test-settings.json +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/settings/test_settings.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_astrological_subject.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_astrological_subject_jyotish.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_ephemeris_data.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_fetch_geonames.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_json_dump.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_relationship_score.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_report.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_utc.py +0 -0
- {kerykeion-5.0.0a10 → kerykeion-5.0.0a11}/tests/test_utilities.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kerykeion
|
|
3
|
-
Version: 5.0.
|
|
3
|
+
Version: 5.0.0a11
|
|
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
|
|
@@ -10,8 +10,7 @@ from .aspects import SynastryAspectsFactory, NatalAspectsFactory
|
|
|
10
10
|
from .astrological_subject_factory import AstrologicalSubjectFactory
|
|
11
11
|
from .charts.kerykeion_chart_svg import KerykeionChartSVG
|
|
12
12
|
from .composite_subject_factory import CompositeSubjectFactory
|
|
13
|
-
from .
|
|
14
|
-
from .ephemeris_data import EphemerisDataFactory
|
|
13
|
+
from .ephemeris_data_factory import EphemerisDataFactory
|
|
15
14
|
from .house_comparison.house_comparison_factory import HouseComparisonFactory
|
|
16
15
|
from .house_comparison.house_comparison_models import HouseComparisonModel
|
|
17
16
|
from .kr_types import *
|
|
@@ -19,7 +18,7 @@ from .planetary_return_factory import PlanetaryReturnFactory, PlanetReturnModel
|
|
|
19
18
|
from .relationship_score_factory import RelationshipScoreFactory
|
|
20
19
|
from .report import Report
|
|
21
20
|
from .settings import KerykeionSettingsModel, get_settings
|
|
22
|
-
from .
|
|
21
|
+
from .transits_time_range_factory import TransitsTimeRangeFactory
|
|
23
22
|
|
|
24
23
|
__all__ = [
|
|
25
24
|
"SynastryAspectsFactory",
|
|
@@ -27,9 +26,6 @@ __all__ = [
|
|
|
27
26
|
"AstrologicalSubjectFactory",
|
|
28
27
|
"KerykeionChartSVG",
|
|
29
28
|
"CompositeSubjectFactory",
|
|
30
|
-
"Planets",
|
|
31
|
-
"Aspects",
|
|
32
|
-
"Signs",
|
|
33
29
|
"EphemerisDataFactory",
|
|
34
30
|
"HouseComparisonFactory",
|
|
35
31
|
"HouseComparisonModel",
|
|
@@ -4,14 +4,12 @@
|
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import logging
|
|
7
|
-
from pathlib import Path
|
|
8
7
|
from typing import Union, List, Optional
|
|
9
8
|
|
|
10
9
|
from kerykeion.astrological_subject_factory import AstrologicalSubjectFactory
|
|
11
10
|
from kerykeion.aspects.aspects_utils import get_aspect_from_two_points, get_active_points_list
|
|
12
11
|
from kerykeion.kr_types.kr_models import AstrologicalSubjectModel, AspectModel, ActiveAspect, CompositeSubjectModel, PlanetReturnModel, NatalAspectsModel
|
|
13
12
|
from kerykeion.kr_types.kr_literals import AstrologicalPoint
|
|
14
|
-
from kerykeion.kr_types.settings_models import KerykeionSettingsModel
|
|
15
13
|
from kerykeion.settings.config_constants import DEFAULT_ACTIVE_ASPECTS, DEFAULT_AXIS_ORBIT
|
|
16
14
|
from kerykeion.settings.legacy.legacy_celestial_points_settings import DEFAULT_CELESTIAL_POINTS_SETTINGS
|
|
17
15
|
from kerykeion.settings.legacy.legacy_chart_aspects_settings import DEFAULT_CHART_ASPECTS_SETTINGS
|
|
@@ -37,7 +35,7 @@ class NatalAspectsFactory:
|
|
|
37
35
|
@staticmethod
|
|
38
36
|
def from_subject(
|
|
39
37
|
user: Union[AstrologicalSubjectModel, CompositeSubjectModel, PlanetReturnModel],
|
|
40
|
-
|
|
38
|
+
*,
|
|
41
39
|
active_points: Optional[List[AstrologicalPoint]] = None,
|
|
42
40
|
active_aspects: Optional[List[ActiveAspect]] = None,
|
|
43
41
|
) -> NatalAspectsModel:
|
|
@@ -46,7 +44,8 @@ class NatalAspectsFactory:
|
|
|
46
44
|
|
|
47
45
|
Args:
|
|
48
46
|
user: The astrological subject for aspect calculation
|
|
49
|
-
|
|
47
|
+
|
|
48
|
+
Kwargs:
|
|
50
49
|
active_points: List of points to include in calculations
|
|
51
50
|
active_aspects: List of aspects with their orb settings
|
|
52
51
|
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import logging
|
|
7
|
-
from pathlib import Path
|
|
8
7
|
from typing import Union, List, Optional
|
|
9
8
|
|
|
10
9
|
from kerykeion.astrological_subject_factory import AstrologicalSubjectFactory
|
|
11
10
|
from kerykeion.aspects.aspects_utils import get_aspect_from_two_points, get_active_points_list
|
|
12
11
|
from kerykeion.kr_types.kr_models import AstrologicalSubjectModel, AspectModel, ActiveAspect, CompositeSubjectModel, PlanetReturnModel, SynastryAspectsModel
|
|
13
|
-
from kerykeion.kr_types.settings_models import KerykeionSettingsModel
|
|
14
12
|
from kerykeion.settings.config_constants import DEFAULT_ACTIVE_ASPECTS, DEFAULT_AXIS_ORBIT
|
|
15
13
|
from kerykeion.settings.legacy.legacy_celestial_points_settings import DEFAULT_CELESTIAL_POINTS_SETTINGS
|
|
16
14
|
from kerykeion.settings.legacy.legacy_chart_aspects_settings import DEFAULT_CHART_ASPECTS_SETTINGS
|
|
@@ -29,32 +27,60 @@ AXES_LIST = [
|
|
|
29
27
|
|
|
30
28
|
class SynastryAspectsFactory:
|
|
31
29
|
"""
|
|
32
|
-
Factory class for creating synastry aspects analysis between two subjects.
|
|
33
|
-
|
|
34
|
-
This factory calculates all aspects
|
|
35
|
-
|
|
30
|
+
Factory class for creating synastry aspects analysis between two astrological subjects.
|
|
31
|
+
|
|
32
|
+
This factory calculates all astrological aspects (angular relationships) between
|
|
33
|
+
planets and points in two different charts. It's primarily used for relationship
|
|
34
|
+
compatibility analysis, transit calculations, and comparative astrology.
|
|
35
|
+
|
|
36
|
+
The factory provides both comprehensive aspect lists and filtered relevant aspects
|
|
37
|
+
based on orb settings and chart axes considerations.
|
|
38
|
+
|
|
39
|
+
Key Features:
|
|
40
|
+
- Calculates all aspects between two subjects
|
|
41
|
+
- Filters aspects based on orb thresholds
|
|
42
|
+
- Applies stricter orb limits for chart axes (ASC, MC, DSC, IC)
|
|
43
|
+
- Supports multiple subject types (natal, composite, planetary returns)
|
|
44
|
+
|
|
45
|
+
Example:
|
|
46
|
+
>>> john = AstrologicalSubjectFactory.from_birth_data("John", 1990, 1, 1, 12, 0, "London", "GB")
|
|
47
|
+
>>> jane = AstrologicalSubjectFactory.from_birth_data("Jane", 1992, 6, 15, 14, 30, "Paris", "FR")
|
|
48
|
+
>>> synastry = SynastryAspectsFactory.from_subjects(john, jane)
|
|
49
|
+
>>> print(f"Found {len(synastry.relevant_aspects)} relevant aspects")
|
|
36
50
|
"""
|
|
37
51
|
|
|
38
52
|
@staticmethod
|
|
39
53
|
def from_subjects(
|
|
40
54
|
first_subject: Union[AstrologicalSubjectModel, CompositeSubjectModel, PlanetReturnModel],
|
|
41
55
|
second_subject: Union[AstrologicalSubjectModel, CompositeSubjectModel, PlanetReturnModel],
|
|
42
|
-
|
|
56
|
+
*,
|
|
43
57
|
active_points: Optional[List[AstrologicalPoint]] = None,
|
|
44
58
|
active_aspects: Optional[List[ActiveAspect]] = None,
|
|
45
59
|
) -> SynastryAspectsModel:
|
|
46
60
|
"""
|
|
47
|
-
Create synastry aspects analysis
|
|
61
|
+
Create synastry aspects analysis between two astrological subjects.
|
|
62
|
+
|
|
63
|
+
This method calculates all astrological aspects (angular relationships)
|
|
64
|
+
between planets and points in two different birth charts, commonly used
|
|
65
|
+
for relationship compatibility analysis.
|
|
48
66
|
|
|
49
67
|
Args:
|
|
50
|
-
first_subject: The first astrological subject
|
|
51
|
-
second_subject: The second astrological subject
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
active_aspects:
|
|
68
|
+
first_subject: The first astrological subject (person, composite chart, or planetary return)
|
|
69
|
+
second_subject: The second astrological subject to compare with the first
|
|
70
|
+
active_points: Optional list of celestial points to include in calculations.
|
|
71
|
+
If None, uses common points between both subjects.
|
|
72
|
+
active_aspects: Optional list of aspect types with their orb settings.
|
|
73
|
+
If None, uses default aspect configuration.
|
|
55
74
|
|
|
56
75
|
Returns:
|
|
57
|
-
SynastryAspectsModel containing all calculated aspects data
|
|
76
|
+
SynastryAspectsModel: Complete model containing all calculated aspects data,
|
|
77
|
+
including both comprehensive and filtered relevant aspects.
|
|
78
|
+
|
|
79
|
+
Example:
|
|
80
|
+
>>> john = AstrologicalSubjectFactory.from_birth_data("John", 1990, 1, 1, 12, 0, "London", "GB")
|
|
81
|
+
>>> jane = AstrologicalSubjectFactory.from_birth_data("Jane", 1992, 6, 15, 14, 30, "Paris", "FR")
|
|
82
|
+
>>> synastry = SynastryAspectsFactory.from_subjects(john, jane)
|
|
83
|
+
>>> print(f"Found {len(synastry.relevant_aspects)} relevant aspects")
|
|
58
84
|
"""
|
|
59
85
|
# Initialize settings and configurations
|
|
60
86
|
celestial_points = DEFAULT_CELESTIAL_POINTS_SETTINGS
|
|
@@ -97,8 +123,17 @@ class SynastryAspectsFactory:
|
|
|
97
123
|
"""
|
|
98
124
|
Create the complete synastry aspects model with all calculations.
|
|
99
125
|
|
|
126
|
+
Args:
|
|
127
|
+
first_subject: First astrological subject
|
|
128
|
+
second_subject: Second astrological subject
|
|
129
|
+
active_points_resolved: Resolved list of active celestial points
|
|
130
|
+
active_aspects_resolved: Resolved list of active aspects with orbs
|
|
131
|
+
aspects_settings: Chart aspect configuration settings
|
|
132
|
+
axes_orbit_settings: Orb threshold for chart axes
|
|
133
|
+
celestial_points: Celestial points configuration
|
|
134
|
+
|
|
100
135
|
Returns:
|
|
101
|
-
SynastryAspectsModel containing all aspects data
|
|
136
|
+
SynastryAspectsModel: Complete model containing all aspects data
|
|
102
137
|
"""
|
|
103
138
|
all_aspects = SynastryAspectsFactory._calculate_all_aspects(
|
|
104
139
|
first_subject, second_subject, active_points_resolved, active_aspects_resolved,
|
|
@@ -127,16 +162,28 @@ class SynastryAspectsFactory:
|
|
|
127
162
|
"""
|
|
128
163
|
Calculate all synastry aspects between two subjects.
|
|
129
164
|
|
|
130
|
-
This method
|
|
131
|
-
|
|
165
|
+
This method performs comprehensive aspect calculations between all active points
|
|
166
|
+
of both subjects, applying the specified orb settings and creating detailed
|
|
167
|
+
aspect models with planet IDs and positional information.
|
|
168
|
+
|
|
169
|
+
Args:
|
|
170
|
+
first_subject: First astrological subject
|
|
171
|
+
second_subject: Second astrological subject
|
|
172
|
+
active_points: List of celestial points to include in calculations
|
|
173
|
+
active_aspects: List of aspect types with their orb settings
|
|
174
|
+
aspects_settings: Base aspect configuration settings
|
|
175
|
+
celestial_points: Celestial points configuration with IDs
|
|
132
176
|
|
|
133
177
|
Returns:
|
|
134
|
-
List of all calculated
|
|
178
|
+
List[AspectModel]: Complete list of all calculated aspect instances
|
|
135
179
|
"""
|
|
136
180
|
# Get active points lists for both subjects
|
|
137
181
|
first_active_points_list = get_active_points_list(first_subject, active_points)
|
|
138
182
|
second_active_points_list = get_active_points_list(second_subject, active_points)
|
|
139
183
|
|
|
184
|
+
# Create a lookup dictionary for planet IDs to optimize performance
|
|
185
|
+
planet_id_lookup = {planet["name"]: planet["id"] for planet in celestial_points}
|
|
186
|
+
|
|
140
187
|
# Update aspects settings with active aspects orbs
|
|
141
188
|
filtered_settings = []
|
|
142
189
|
for aspect_setting in aspects_settings:
|
|
@@ -158,18 +205,12 @@ class SynastryAspectsFactory:
|
|
|
158
205
|
)
|
|
159
206
|
|
|
160
207
|
if aspect["verdict"]:
|
|
161
|
-
# Get planet IDs directly from celestial points settings
|
|
162
|
-
first_planet_id = 0
|
|
163
|
-
second_planet_id = 0
|
|
164
|
-
|
|
165
208
|
first_name = first_active_points_list[first]["name"]
|
|
166
209
|
second_name = second_active_points_list[second]["name"]
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if planet["name"] == second_name:
|
|
172
|
-
second_planet_id = planet["id"]
|
|
210
|
+
|
|
211
|
+
# Get planet IDs using lookup dictionary for better performance
|
|
212
|
+
first_planet_id = planet_id_lookup.get(first_name, 0)
|
|
213
|
+
second_planet_id = planet_id_lookup.get(second_name, 0)
|
|
173
214
|
|
|
174
215
|
aspect_model = AspectModel(
|
|
175
216
|
p1_name=first_name,
|