starplot 0.21.4__tar.gz → 0.22.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.
- {starplot-0.21.4 → starplot-0.22.0}/.github/workflows/test.yml +1 -1
- {starplot-0.21.4 → starplot-0.22.0}/CITATION.cff +2 -2
- {starplot-0.21.4 → starplot-0.22.0}/Makefile +0 -5
- {starplot-0.21.4 → starplot-0.22.0}/PKG-INFO +2 -3
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/de/constellation_names.csv +3 -1
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/de/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/en-us/other_terms.csv +2 -1
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/es/other_terms.csv +2 -1
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fa/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fr/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/it/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/lt/constellation_names.csv +1 -1
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/lt/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/nl/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-cn/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-tw/other_terms.csv +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/changelog.md +14 -1
- {starplot-0.21.4 → starplot-0.22.0}/docs/coming-soon.md +3 -2
- {starplot-0.21.4 → starplot-0.22.0}/docs/installation.md +1 -1
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/index.md +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/optics.md +8 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/markers.py +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/markers.md +6 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/hashlock.yml +24 -19
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/map_checks.py +2 -2
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/optic_checks.py +51 -1
- {starplot-0.21.4 → starplot-0.22.0}/pyproject.toml +1 -2
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/__init__.py +2 -1
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/callables.py +3 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/constants.py +2 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/catalogs.py +2 -2
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/library/constellation_names.parquet +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/translations.py +10 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/__init__.py +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/observer.py +21 -10
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/optics.py +43 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plots/optic.py +88 -2
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/milkyway.py +9 -9
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/stars.py +87 -81
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/text.py +8 -2
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/elements.py +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/optic.yml +11 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/types.py +1 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/svg/canvas.py +13 -2
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/svg/symbols.py +26 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_observer.py +25 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_optics.py +25 -1
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_solar_system.py +6 -6
- {starplot-0.21.4 → starplot-0.22.0}/tests/svg/test_symbols.py +47 -30
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_languages.py +49 -1
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_map.py +2 -2
- starplot-0.22.0/tests/test_optic.py +186 -0
- starplot-0.21.4/tests/test_optic.py +0 -53
- {starplot-0.21.4 → starplot-0.22.0}/.dockerignore +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/.github/FUNDING.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/.github/workflows/archives.yaml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/.github/workflows/docs.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/.github/workflows/release.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/.gitignore +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/CLAUDE.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/CODE_OF_CONDUCT.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/CONTRIBUTING.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/Dockerfile +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/LICENSE +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/README.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/constellation_borders.json +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/constellations.json +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/milkyway.json +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/star_designations.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/de/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/de/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/de/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/en-us/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/en-us/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/en-us/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/es/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/es/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/es/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fa/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fa/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fa/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fr/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fr/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/fr/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/it/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/it/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/it/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/it/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/lt/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/lt/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/lt/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/nl/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/nl/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/nl/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/nl/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-cn/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-cn/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-cn/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-tw/constellation_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-tw/dso_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-tw/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/raw/translations/zh-tw/star_names.csv +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/scripts/constellation_names.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/scripts/data_settings.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/scripts/db.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/scripts/dso_names.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/scripts/star_designations.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/data/scripts/translations.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/about.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/css/extra.css +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/custom/main.html +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/data/building.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/data/constellations.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/data/dsos.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/data/index.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/data/stars.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/data-sources.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/horizon-double-cluster.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/horizon-gradient.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/horizon-sgr.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-big-dipper.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-big.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-canis-major.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-carina-nebula.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-cassiopeia.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-custom-marker.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-galaxy.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-milky-way-stars.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-orion.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-orthographic.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-sagittarius.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/map-virgo-cluster.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/optic-iss-transit.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/optic-m45.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/optic-orion.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/optic-solar-eclipse.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/star-chart-basic.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/star-chart-detail.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples/star-chart-french.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/examples.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/celestial-globe.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/cover-front-sm-360.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/discord.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/examples/.keep +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/favicon.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/figure_layout.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-2400px.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-original/banner.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-original/banner.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-original/banner.vectornator +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-original/logo.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-original/logo.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-original/logo.vectornator +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo-original/logo2.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo2.vectornator +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/logo500.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/mono-2400px.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/mono.png +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/mono.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/star.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/starplot-header.svg +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/images/tutorial/.keep +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/index.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/license.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/migration-guides/0.16.0.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/migration-guides/0.21.0.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/comet.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/constellation.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/dso.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/moon.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/object-list.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/observer.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/planet.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/satellite.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/star.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/models/sun.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/object-names/constellations.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/object-names/dsos.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/object-names/stars.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-callables.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-collisions.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-galaxyplot.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-horizonplot.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-localization.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-mapplot.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-ongc.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-opticplot.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-positions.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-projections.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-selecting-objects.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-settings.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/reference-zenithplot.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/robots.txt +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/data.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/gradients.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/projection_list.html +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/projection_list.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/projections.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/style_explorer.html +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/scripts/style_explorer.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/showcase.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/snippets/_newsletter.html +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/color.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/explorer.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/extensions.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/gradients.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/index.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/layout.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/styling/reference.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/01.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/02.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/03.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/04.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/05.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/06.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/07.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/08.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/09.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/docs/tutorial/index.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/constellation.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/examples.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/galaxy.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/gradient.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/horizon_double_cluster.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/horizon_gradient.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_big.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_big_dipper.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_canis_major.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_carina.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_cas.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_equidistant.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_galaxy.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_milky_way_stars.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_orion.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_orthographic.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_sagittarius.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/map_virgo_cluster.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/optic_iss_transit.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/optic_m45.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/optic_orion_nebula.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/optic_solar_eclipse.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/star_chart_basic.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/star_chart_detail.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/examples/star_chart_french.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/data/.keep +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/flaky.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/galaxy_checks.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/hashio.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/horizon_checks.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/template.html +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/hash_checks/zenith_checks.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/scripts/download_test_fonts.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/scripts/list_fonts.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/scripts/marimo.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/scripts/svg.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/scripts/voronoi.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/cli.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/config.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/coordinates.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/constellations.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/db.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/dsos.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/ecliptic.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/library/dso_names.parquet +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/library/readme.md +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/library/star_designations.parquet +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/stars.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/data/utils.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/geometry.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/mixins.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/base.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/comet.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/constellation.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/dso.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/milky_way.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/moon.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/objects.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/planet.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/satellite.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/star.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/models/sun.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plots/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plots/base.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plots/galaxy.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plots/horizon.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plots/map.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plots/zenith.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/arrow.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/constellations.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/dsos.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/gridlines.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/plotters/legend.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/profile.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/projections.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/base.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/constants.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/antique.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/blue_dark.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/blue_gold.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/blue_light.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/blue_medium.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/blue_night.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/cb_wong.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/gradient_presets.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/grayscale.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/grayscale_dark.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/horizon.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/map.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/nord.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/publication.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/ext/starplot.yml +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/extensions.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/gradients.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/helpers.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/styles/plot.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/svg/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/svg/elements.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/svg/fonts.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/svg/layout.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/svg/png.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/utils.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/src/starplot/warnings.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/conftest.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/data/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/data/comets.txt +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/data/test_utils.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_comets.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_constellation.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_dso.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_satellite.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/models/test_star.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/plots/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/plots/test_galaxy.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/plots/test_horizon.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/svg/__init__.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/svg/test_canvas.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/svg/test_elements.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/svg/test_fonts.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/svg/test_layout.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_catalogs.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_cli.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_data.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_geometry.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_settings.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_styles.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/test_utils.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tests/utils.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/build.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/tutorial_02.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/tutorial_03.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/tutorial_04.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/tutorial_05.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/tutorial_06.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/tutorial_07.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/tutorial/tutorial_08.py +0 -0
- {starplot-0.21.4 → starplot-0.22.0}/zensical.toml +0 -0
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
strategy:
|
|
20
20
|
fail-fast: false
|
|
21
21
|
matrix:
|
|
22
|
-
python-version: ['3.
|
|
22
|
+
python-version: ['3.11', '3.12', '3.13', '3.14']
|
|
23
23
|
steps:
|
|
24
24
|
- uses: actions/checkout@v6
|
|
25
25
|
- uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
@@ -101,11 +101,6 @@ dev: env db setup download-test-fonts
|
|
|
101
101
|
# ------------------------------------------------------------------
|
|
102
102
|
# Python version testing
|
|
103
103
|
# ------------------------------------------------------------------
|
|
104
|
-
test-3.10: PYTHON_VERSION=3.10.21
|
|
105
|
-
test-3.10:
|
|
106
|
-
$(DOCKER_BUILD_PYTHON)
|
|
107
|
-
$(DOCKER_RUN_PYTHON_TEST)
|
|
108
|
-
|
|
109
104
|
test-3.11: PYTHON_VERSION=3.11.16
|
|
110
105
|
test-3.11:
|
|
111
106
|
$(DOCKER_BUILD_PYTHON)
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: starplot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.22.0
|
|
4
4
|
Summary: Star charts and maps of the sky
|
|
5
5
|
Keywords: astronomy,stars,charts,maps,constellations,sky,plotting
|
|
6
6
|
Author-email: Steve Berardi <steve@starplot.dev>
|
|
7
|
-
Requires-Python: >=3.
|
|
7
|
+
Requires-Python: >=3.11,<3.15
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -64,7 +64,9 @@ peg,Pegasus,Pegasus
|
|
|
64
64
|
per,Perseus,Perseus
|
|
65
65
|
phe,Phoenix,Phönix
|
|
66
66
|
pic,Pictor,Maler
|
|
67
|
+
psc,Pisces,Fische
|
|
67
68
|
psa,Piscis Austrinus,Südlicher Fisch
|
|
69
|
+
psc,Pisces,Fische
|
|
68
70
|
pup,Puppis,Achterdeck des Schiffes
|
|
69
71
|
pyx,Pyxis,Schiffskompass
|
|
70
72
|
ret,Reticulum,Netz
|
|
@@ -86,4 +88,4 @@ umi,Ursa Minor,Kleiner Bär
|
|
|
86
88
|
vel,Vela,Segel des Schiffes
|
|
87
89
|
vir,Virgo,Jungfrau
|
|
88
90
|
vol,Volans,Fliegender Fisch
|
|
89
|
-
vul,Vulpecula,Fuchs
|
|
91
|
+
vul,Vulpecula,Fuchs
|
|
@@ -43,4 +43,5 @@ N (abbreviation for north),N (abbreviation for north)
|
|
|
43
43
|
E (abbreviation for east),E (abbreviation for east)
|
|
44
44
|
S (abbreviation for south),S (abbreviation for south)
|
|
45
45
|
W (abbreviation for west),W (abbreviation for west)
|
|
46
|
-
Milky Way,Milky Way
|
|
46
|
+
Milky Way,Milky Way
|
|
47
|
+
Horizon,horizon
|
|
@@ -43,4 +43,5 @@ N (abbreviation for north),N (abreviatura para norte)
|
|
|
43
43
|
E (abbreviation for east),E (abreviatura para este)
|
|
44
44
|
S (abbreviation for south),S (abreviatura para sur)
|
|
45
45
|
W (abbreviation for west),O (abreviatura para oeste)
|
|
46
|
-
Milky Way,Vía Láctea
|
|
46
|
+
Milky Way,Vía Láctea
|
|
47
|
+
Horizon,horizonte
|
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
## v0.22.x
|
|
2
|
+
[Documentation](https://archives.starplot.dev/0.22.0/)
|
|
3
|
+
|
|
4
|
+
- Adds support for "naked eye" optic plots, increasing FOV limit to 60 degrees
|
|
5
|
+
- Adds support for plotting constellations, gridlines, and horizon on optic plots
|
|
6
|
+
- Updates default catalog for Milky Way
|
|
7
|
+
- Adds missing German translation for Pisces
|
|
8
|
+
- Fixes bug with grouping star label SVG elements
|
|
9
|
+
- Adds a double border circle marker
|
|
10
|
+
- Drops official support for Python 3.10 (EOL)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
## v0.21.x
|
|
2
|
-
[Migration Guide](migration-guides/0.21.0.md)
|
|
15
|
+
[Documentation](https://archives.starplot.dev/0.21.4/) | [Migration Guide](migration-guides/0.21.0.md)
|
|
3
16
|
|
|
4
17
|
- Replaces the plotting backend (matplotlib + cartopy) with an SVG-first backend
|
|
5
18
|
- Adds support for gradient backgrounds on markers, polygons, and the figure background
|
|
@@ -8,18 +8,19 @@
|
|
|
8
8
|
|
|
9
9
|
<table class="table-coming-soon">
|
|
10
10
|
<tr>
|
|
11
|
-
<td>v0.
|
|
11
|
+
<td>v0.23</td>
|
|
12
12
|
<td>
|
|
13
13
|
<h4>⭐ Next Release ⭐</h4>
|
|
14
14
|
<ul>
|
|
15
15
|
<li>Plot definition files</li>
|
|
16
16
|
<li>CLI for creating plots</li>
|
|
17
|
+
<li>Improved labeling pipeline</li>
|
|
17
18
|
</ul>
|
|
18
19
|
</td>
|
|
19
20
|
<td></td>
|
|
20
21
|
</tr>
|
|
21
22
|
<tr>
|
|
22
|
-
<td>v0.
|
|
23
|
+
<td>v0.24+</td>
|
|
23
24
|
<td>
|
|
24
25
|
<ul>
|
|
25
26
|
<li>Planet moons</li>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Starplot is available on [PyPI](https://pypi.org/project/starplot/) and [Conda](https://anaconda.org/channels/conda-forge/packages/starplot/overview), and its dependencies have binary wheels for most operating systems, so installation should be easy. See below for details.
|
|
4
4
|
|
|
5
|
-
Supported Python versions: 3.
|
|
5
|
+
Supported Python versions: 3.11 / 3.12 / 3.13 / 3.14
|
|
6
6
|
|
|
7
7
|
<h3>1. Install Dependencies</h3>
|
|
8
8
|
|
|
@@ -49,6 +49,7 @@ Starplot has models to represent an observer and some of the objects you can plo
|
|
|
49
49
|
### :material-telescope: Optics
|
|
50
50
|
|
|
51
51
|
- [Binoculars](optics.md#starplot.models.Binoculars)
|
|
52
|
+
- [NakedEye](optics.md#starplot.models.NakedEye)
|
|
52
53
|
- [Scope](optics.md#starplot.models.Scope)
|
|
53
54
|
- [Refractor](optics.md#starplot.models.Refractor)
|
|
54
55
|
- [Reflector](optics.md#starplot.models.Reflector)
|
|
@@ -10,6 +10,14 @@ Optics are another set of models you instantiate directly when creating [OpticPl
|
|
|
10
10
|
show_root_heading: true
|
|
11
11
|
heading_level: 2
|
|
12
12
|
|
|
13
|
+
::: starplot.models.NakedEye
|
|
14
|
+
options:
|
|
15
|
+
inherited_members: true
|
|
16
|
+
show_docstring_attributes: true
|
|
17
|
+
merge_init_into_class: true
|
|
18
|
+
show_root_heading: true
|
|
19
|
+
heading_level: 2
|
|
20
|
+
|
|
13
21
|
::: starplot.models.Scope
|
|
14
22
|
options:
|
|
15
23
|
inherited_members: true
|
|
@@ -88,6 +88,12 @@ Below are previews of all marker symbols available in Starplot. Many aspects of
|
|
|
88
88
|
`satellite`{: .marker-symbol-name}
|
|
89
89
|
</div>
|
|
90
90
|
|
|
91
|
+
<div class="marker-symbol-card" markdown>
|
|
92
|
+
{ loading=lazy .marker-symbol-img}
|
|
93
|
+
|
|
94
|
+
`circle_double_border`{: .marker-symbol-name}
|
|
95
|
+
</div>
|
|
96
|
+
|
|
91
97
|
</div>
|
|
92
98
|
|
|
93
99
|
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
galaxy_base:
|
|
2
|
-
dhash:
|
|
2
|
+
dhash: 70cca2ca9282c47070cca2ca92a2cc7070cca2c8d092cc70
|
|
3
3
|
exception: null
|
|
4
4
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/galaxy-base.png
|
|
5
|
-
phash:
|
|
5
|
+
phash: 91074ef83b236cdc
|
|
6
6
|
horizon_base:
|
|
7
|
-
dhash:
|
|
7
|
+
dhash: ba8e968a8eca8a0d9a8e968a8eca8e0d9a8ed68e8e8a8f0d
|
|
8
8
|
exception: null
|
|
9
9
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/horizon-base.png
|
|
10
|
-
phash:
|
|
10
|
+
phash: c0953ac53ee10f7a
|
|
11
11
|
horizon_gradient_background:
|
|
12
|
-
dhash:
|
|
12
|
+
dhash: c57160b4b2b48e8ec571603432b49c8dc571e0b4b2b28e8d
|
|
13
13
|
exception: null
|
|
14
14
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/horizon-gradient-background.png
|
|
15
|
-
phash:
|
|
15
|
+
phash: 944f62912ff416f2
|
|
16
16
|
horizon_north_celestial_pole:
|
|
17
|
-
dhash:
|
|
17
|
+
dhash: b09a8ab6acaab2a2b29a8ab2aeaab2a2b29a8ab2aaa2a0a2
|
|
18
18
|
exception: null
|
|
19
19
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/horizon-north-celestial-pole.png
|
|
20
|
-
phash:
|
|
20
|
+
phash: d5722a887edc2a63
|
|
21
21
|
map_allow_all_collisions:
|
|
22
22
|
dhash: 263693caa6b44a26263693caa6b44a26263793caa6344326
|
|
23
23
|
exception: null
|
|
@@ -64,15 +64,15 @@ map_label_callables:
|
|
|
64
64
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/map-m45-label-callables.png
|
|
65
65
|
phash: b232c9c94ee74ccc
|
|
66
66
|
map_milky_way_multi_polygon:
|
|
67
|
-
dhash:
|
|
67
|
+
dhash: 93cbe2f2ec6432da93cba2f2ec6632dac2c4b0d96c64129a
|
|
68
68
|
exception: null
|
|
69
69
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/map-milky-way-multi-polygon.png
|
|
70
|
-
phash:
|
|
70
|
+
phash: 816079afb39c4c75
|
|
71
71
|
map_mollweide:
|
|
72
|
-
dhash:
|
|
72
|
+
dhash: 0b6b33632b32170f0b6b33632b32170f2b6b73632332170b
|
|
73
73
|
exception: null
|
|
74
74
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/map-mollweide.png
|
|
75
|
-
phash:
|
|
75
|
+
phash: ebcab29ce3349461
|
|
76
76
|
map_moon_phase_waxing_crescent:
|
|
77
77
|
dhash: 8088b04848b088808088a04848a088808088804848808880
|
|
78
78
|
exception: null
|
|
@@ -82,12 +82,12 @@ map_orion_base:
|
|
|
82
82
|
dhash: 183939762e2d64681839395e2e2b646a5c39b9962e2f6468
|
|
83
83
|
exception: null
|
|
84
84
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/map-orion-base.png
|
|
85
|
-
phash:
|
|
85
|
+
phash: be79d3649585a194
|
|
86
86
|
map_orion_extra:
|
|
87
|
-
dhash:
|
|
87
|
+
dhash: 1a1b39772b6d64680a1b395b2b6f646a4a1bb9962b2f6468
|
|
88
88
|
exception: null
|
|
89
89
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/map-orion-extra.png
|
|
90
|
-
phash:
|
|
90
|
+
phash: bf715f648186909e
|
|
91
91
|
map_plate_caree:
|
|
92
92
|
dhash: 40928eccc44ca9ca02928eccc44ca88a82928e8cc4cca88a
|
|
93
93
|
exception: null
|
|
@@ -172,7 +172,7 @@ optic_moon_phase_full:
|
|
|
172
172
|
dhash: f0d48eb2b28ed4f0f0d48eb2b28ed4f0f0d48eb2b28ed4f0
|
|
173
173
|
exception: null
|
|
174
174
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/optic-moon-phase-full.png
|
|
175
|
-
phash:
|
|
175
|
+
phash: 9893339b9893339b
|
|
176
176
|
optic_moon_phase_new:
|
|
177
177
|
dhash: f0c0aaccccaac0f0f0c0aaccccaac0f0f0c0aaccccaac0f0
|
|
178
178
|
exception: null
|
|
@@ -183,6 +183,11 @@ optic_moon_phase_waxing_crescent:
|
|
|
183
183
|
exception: null
|
|
184
184
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/optic-moon-phase-waxing-crescent.png
|
|
185
185
|
phash: 917646991b666e99
|
|
186
|
+
optic_orion_naked_eye:
|
|
187
|
+
dhash: 64c4a2a092ccf07064d4a4a092ccf07060c4a2a092ccf070
|
|
188
|
+
exception: null
|
|
189
|
+
filename: /Users/steveberardi/src/starplot/hash_checks/data/optic-orion-naked-eye.png
|
|
190
|
+
phash: c46e0b957fca2499
|
|
186
191
|
optic_orion_nebula_refractor:
|
|
187
192
|
dhash: f0cca4f072e2ec70f0cca4f072e2ec70f0cca4f072e2ec70
|
|
188
193
|
exception: null
|
|
@@ -204,17 +209,17 @@ optic_wrapping:
|
|
|
204
209
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/optic-wrapping.png
|
|
205
210
|
phash: 91c446916bce39de
|
|
206
211
|
zenith_base:
|
|
207
|
-
dhash:
|
|
212
|
+
dhash: f0ccae868296ecf1f0ccae868a96ecf1f0dcae868e96ecf1
|
|
208
213
|
exception: null
|
|
209
214
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/zenith-base.png
|
|
210
|
-
phash:
|
|
215
|
+
phash: 90570b556b56387e
|
|
211
216
|
zenith_chinese:
|
|
212
217
|
dhash: 96076359e4aac8718607417964aac8710607c2b8a496cc71
|
|
213
218
|
exception: null
|
|
214
219
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/zenith-chinese.png
|
|
215
220
|
phash: c46ecea41ed26987
|
|
216
221
|
zenith_gradient:
|
|
217
|
-
dhash:
|
|
222
|
+
dhash: 86035328f082c87186075329b08ac8710607d2a8b29ecc71
|
|
218
223
|
exception: null
|
|
219
224
|
filename: /Users/steveberardi/src/starplot/hash_checks/data/zenith-gradient.png
|
|
220
225
|
phash: c52e8ee41ec32d87
|
|
@@ -4,7 +4,16 @@ from zoneinfo import ZoneInfo
|
|
|
4
4
|
|
|
5
5
|
from flaky import flake
|
|
6
6
|
|
|
7
|
-
from starplot import
|
|
7
|
+
from starplot import (
|
|
8
|
+
Moon,
|
|
9
|
+
Observer,
|
|
10
|
+
OpticPlot,
|
|
11
|
+
Satellite,
|
|
12
|
+
Star,
|
|
13
|
+
_,
|
|
14
|
+
callables,
|
|
15
|
+
styles,
|
|
16
|
+
)
|
|
8
17
|
from starplot.models import optics
|
|
9
18
|
|
|
10
19
|
HERE = Path(__file__).resolve().parent
|
|
@@ -27,6 +36,11 @@ style_blue = styles.PlotStyle().extend(
|
|
|
27
36
|
styles.extensions.BLUE_DARK,
|
|
28
37
|
styles.extensions.OPTIC,
|
|
29
38
|
)
|
|
39
|
+
style_night = styles.PlotStyle().extend(
|
|
40
|
+
styles.extensions.BLUE_NIGHT,
|
|
41
|
+
styles.extensions.GRADIENT_NIGHT,
|
|
42
|
+
styles.extensions.OPTIC,
|
|
43
|
+
)
|
|
30
44
|
|
|
31
45
|
POWAY = {"lat": 32.97, "lon": -117.038611}
|
|
32
46
|
|
|
@@ -449,3 +463,39 @@ def check_optic_iss_moon_transit():
|
|
|
449
463
|
filename = DATA_PATH / "optic-iss-moon-transit.png"
|
|
450
464
|
p.export(filename)
|
|
451
465
|
return filename
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
@flake
|
|
469
|
+
def check_optic_orion_naked_eye():
|
|
470
|
+
observer = Observer(
|
|
471
|
+
dt=datetime(2025, 12, 21, 19, 0, 0, 0, tzinfo=tz),
|
|
472
|
+
lat=32.9628, # Poway, CA
|
|
473
|
+
lon=-117.0359,
|
|
474
|
+
)
|
|
475
|
+
alnilam = Star.get(name="Alnilam")
|
|
476
|
+
p = OpticPlot(
|
|
477
|
+
# Orion's belt, rising in the east
|
|
478
|
+
ra=alnilam.ra,
|
|
479
|
+
dec=alnilam.dec,
|
|
480
|
+
optic=optics.NakedEye(),
|
|
481
|
+
observer=observer,
|
|
482
|
+
style=style_night,
|
|
483
|
+
resolution=2800,
|
|
484
|
+
)
|
|
485
|
+
p.gridlines()
|
|
486
|
+
p.constellations()
|
|
487
|
+
p.stars(
|
|
488
|
+
where=[_.magnitude < 3.5],
|
|
489
|
+
where_labels=[False],
|
|
490
|
+
color_fn=callables.color_by_bv_gradient,
|
|
491
|
+
size_fn=lambda s: callables.size_by_magnitude(s) * 0.8,
|
|
492
|
+
)
|
|
493
|
+
p.dsos(where=[_.magnitude < 4.1], where_labels=[False])
|
|
494
|
+
p.constellation_borders()
|
|
495
|
+
p.constellation_labels()
|
|
496
|
+
p.horizon()
|
|
497
|
+
p.info()
|
|
498
|
+
|
|
499
|
+
filename = DATA_PATH / "optic-orion-naked-eye.png"
|
|
500
|
+
p.export(filename)
|
|
501
|
+
return filename
|
|
@@ -12,7 +12,6 @@ license = {file = "LICENSE"}
|
|
|
12
12
|
classifiers = [
|
|
13
13
|
"License :: OSI Approved :: MIT License",
|
|
14
14
|
"Programming Language :: Python :: 3",
|
|
15
|
-
"Programming Language :: Python :: 3.10",
|
|
16
15
|
"Programming Language :: Python :: 3.11",
|
|
17
16
|
"Programming Language :: Python :: 3.12",
|
|
18
17
|
"Programming Language :: Python :: 3.13",
|
|
@@ -42,7 +41,7 @@ dependencies = [
|
|
|
42
41
|
"pydantic-extra-types >= 2.11.1",
|
|
43
42
|
"cairosvg >= 2.9.0",
|
|
44
43
|
]
|
|
45
|
-
requires-python = ">=3.
|
|
44
|
+
requires-python = ">=3.11,<3.15"
|
|
46
45
|
|
|
47
46
|
[project.urls]
|
|
48
47
|
Home = "https://starplot.dev"
|
|
@@ -90,6 +90,9 @@ def size_by_fov_factory(fov: float) -> Callable[[Star], float]:
|
|
|
90
90
|
Args:
|
|
91
91
|
fov: Field of view (in degrees)
|
|
92
92
|
"""
|
|
93
|
+
if fov > 20:
|
|
94
|
+
return size_by_magnitude
|
|
95
|
+
|
|
93
96
|
fov_multiplier = 20 / fov
|
|
94
97
|
|
|
95
98
|
return lambda s: size_by_magnitude(s) * fov_multiplier * 0.64
|
|
@@ -343,8 +343,8 @@ CONSTELLATION_BORDERS = Catalog(
|
|
|
343
343
|
)
|
|
344
344
|
|
|
345
345
|
MILKY_WAY = Catalog(
|
|
346
|
-
path=settings.data_path / "milky_way-0.1.
|
|
347
|
-
url="https://github.com/steveberardi/starplot-milkyway/releases/download/v0.1
|
|
346
|
+
path=settings.data_path / "milky_way-0.2.1.parquet",
|
|
347
|
+
url="https://github.com/steveberardi/starplot-milkyway/releases/download/v0.2.1/milky_way-0.2.1.parquet",
|
|
348
348
|
)
|
|
349
349
|
|
|
350
350
|
|
|
Binary file
|
|
@@ -45,6 +45,7 @@ LABELS = {
|
|
|
45
45
|
"s": "s",
|
|
46
46
|
"w": "w",
|
|
47
47
|
"milky way": "milky way",
|
|
48
|
+
"horizon": "horizon",
|
|
48
49
|
},
|
|
49
50
|
"de": {
|
|
50
51
|
"legend": "legende",
|
|
@@ -92,6 +93,7 @@ LABELS = {
|
|
|
92
93
|
"s": "s",
|
|
93
94
|
"w": "w",
|
|
94
95
|
"milky way": "milchstraße",
|
|
96
|
+
"horizon": "Horizont",
|
|
95
97
|
},
|
|
96
98
|
"es": {
|
|
97
99
|
"legend": "leyenda",
|
|
@@ -139,6 +141,7 @@ LABELS = {
|
|
|
139
141
|
"s": "s",
|
|
140
142
|
"w": "o",
|
|
141
143
|
"milky way": "vía láctea",
|
|
144
|
+
"horizon": "horizonte",
|
|
142
145
|
},
|
|
143
146
|
"fr": {
|
|
144
147
|
"legend": "légende",
|
|
@@ -186,6 +189,7 @@ LABELS = {
|
|
|
186
189
|
"s": "s",
|
|
187
190
|
"w": "o",
|
|
188
191
|
"milky way": "voie lactée",
|
|
192
|
+
"horizon": "horizon",
|
|
189
193
|
},
|
|
190
194
|
"it": {
|
|
191
195
|
"legend": "legenda",
|
|
@@ -233,6 +237,7 @@ LABELS = {
|
|
|
233
237
|
"s": "s",
|
|
234
238
|
"w": "o",
|
|
235
239
|
"milky way": "via lattea",
|
|
240
|
+
"horizon": "orizzonte",
|
|
236
241
|
},
|
|
237
242
|
"zh-cn": {
|
|
238
243
|
"legend": "图例",
|
|
@@ -280,6 +285,7 @@ LABELS = {
|
|
|
280
285
|
"s": "南",
|
|
281
286
|
"w": "西",
|
|
282
287
|
"milky way": "银河",
|
|
288
|
+
"horizon": "地平线",
|
|
283
289
|
},
|
|
284
290
|
"zh-tw": {
|
|
285
291
|
"legend": "圖例",
|
|
@@ -327,6 +333,7 @@ LABELS = {
|
|
|
327
333
|
"s": "南",
|
|
328
334
|
"w": "西",
|
|
329
335
|
"milky way": "銀河",
|
|
336
|
+
"horizon": "地平線",
|
|
330
337
|
},
|
|
331
338
|
"fa": {
|
|
332
339
|
"legend": "راهنما",
|
|
@@ -374,6 +381,7 @@ LABELS = {
|
|
|
374
381
|
"s": "ج",
|
|
375
382
|
"w": "غ",
|
|
376
383
|
"milky way": "کهکشان راه شیری",
|
|
384
|
+
"horizon": "افق",
|
|
377
385
|
},
|
|
378
386
|
"lt": {
|
|
379
387
|
"legend": "legenda",
|
|
@@ -421,6 +429,7 @@ LABELS = {
|
|
|
421
429
|
"s": "P",
|
|
422
430
|
"w": "V",
|
|
423
431
|
"milky way": "Paukščių Takas",
|
|
432
|
+
"horizon": "horizontas",
|
|
424
433
|
},
|
|
425
434
|
"nl": {
|
|
426
435
|
"legend": "legende",
|
|
@@ -468,6 +477,7 @@ LABELS = {
|
|
|
468
477
|
"s": "z",
|
|
469
478
|
"w": "w",
|
|
470
479
|
"milky way": "melkweg",
|
|
480
|
+
"horizon": "horizon",
|
|
471
481
|
},
|
|
472
482
|
}
|
|
473
483
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from collections.abc import Callable
|
|
2
|
-
from datetime import
|
|
2
|
+
from datetime import UTC, datetime
|
|
3
3
|
from functools import cache, cached_property
|
|
4
4
|
|
|
5
|
+
import numpy as np
|
|
5
6
|
from pydantic import AwareDatetime, BaseModel, Field, computed_field
|
|
6
7
|
from skyfield.api import Star as SkyfieldStar
|
|
7
8
|
from skyfield.api import wgs84
|
|
@@ -17,7 +18,7 @@ class Observer(BaseModel):
|
|
|
17
18
|
Represents an observer at a specific time and place.
|
|
18
19
|
"""
|
|
19
20
|
|
|
20
|
-
dt: AwareDatetime = Field(default_factory=lambda: datetime.now(
|
|
21
|
+
dt: AwareDatetime = Field(default_factory=lambda: datetime.now(UTC))
|
|
21
22
|
"""
|
|
22
23
|
Date and time of observation (**must be timezone-aware**).
|
|
23
24
|
|
|
@@ -104,15 +105,25 @@ class Observer(BaseModel):
|
|
|
104
105
|
def _apparent(self, obj: SkyfieldStar, ephemeris: str = "de440s.bsp"):
|
|
105
106
|
"""Returns apparent AZ, ALT of object"""
|
|
106
107
|
pressure_mbar = self.pressure if self.pressure is not None else "standard"
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
apparent = self.observe(ephemeris)(obj).apparent()
|
|
109
|
+
geometric_alt, pos_az, _ = apparent.altaz()
|
|
110
|
+
geometric_degrees = np.asarray(geometric_alt.degrees)
|
|
111
|
+
|
|
112
|
+
# Skyfield's refraction cuts off abruptly below -1 degrees altitude, which makes anything
|
|
113
|
+
# crossing that altitude jump. Holding refraction constant below the horizon (instead of dropping to zero)
|
|
114
|
+
# keeps apparent positions continuous
|
|
115
|
+
above_horizon = np.maximum(geometric_degrees, 0)
|
|
116
|
+
refracted = apparent.center.refract(
|
|
117
|
+
above_horizon,
|
|
118
|
+
self.temperature,
|
|
119
|
+
pressure_mbar,
|
|
114
120
|
)
|
|
115
|
-
|
|
121
|
+
pos_alt = geometric_degrees + (refracted.degrees - above_horizon)
|
|
122
|
+
|
|
123
|
+
if pos_alt.ndim == 0:
|
|
124
|
+
pos_alt = float(pos_alt)
|
|
125
|
+
|
|
126
|
+
return pos_az.degrees, pos_alt
|
|
116
127
|
|
|
117
128
|
def radec(
|
|
118
129
|
self, az: float, alt: float, ephemeris: str = "de440s.bsp"
|