starplot 0.12.5__tar.gz → 0.14.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of starplot might be problematic. Click here for more details.
- {starplot-0.12.5 → starplot-0.14.0}/.github/workflows/test.yml +7 -0
- {starplot-0.12.5 → starplot-0.14.0}/.gitignore +1 -0
- {starplot-0.12.5 → starplot-0.14.0}/Dockerfile +2 -8
- {starplot-0.12.5 → starplot-0.14.0}/Makefile +14 -5
- {starplot-0.12.5 → starplot-0.14.0}/PKG-INFO +12 -12
- {starplot-0.12.5 → starplot-0.14.0}/README.md +10 -9
- {starplot-0.12.5 → starplot-0.14.0}/docs/about.md +5 -1
- {starplot-0.12.5 → starplot-0.14.0}/docs/changelog.md +25 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/coming-soon.md +2 -3
- starplot-0.14.0/docs/examples/horizon-sgr.md +16 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-canis-major.md +2 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-orion.md +1 -1
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples.md +8 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/index.md +8 -5
- {starplot-0.12.5 → starplot-0.14.0}/docs/installation.md +13 -0
- starplot-0.14.0/docs/reference-horizonplot.md +10 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-styling.md +4 -4
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/02.md +11 -2
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/05.md +2 -2
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/06.md +1 -1
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/08.md +1 -1
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/09.md +1 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial.md +1 -1
- {starplot-0.12.5 → starplot-0.14.0}/examples/examples.py +10 -14
- starplot-0.14.0/examples/horizon_sgr.py +39 -0
- starplot-0.14.0/examples/map_big.py +55 -0
- {starplot-0.12.5 → starplot-0.14.0}/examples/map_big_dipper.py +1 -8
- {starplot-0.12.5 → starplot-0.14.0}/examples/map_canis_major.py +6 -15
- {starplot-0.12.5 → starplot-0.14.0}/examples/map_comet_neowise.py +6 -5
- {starplot-0.12.5 → starplot-0.14.0}/examples/map_milky_way_stars.py +1 -1
- starplot-0.14.0/examples/map_orion.py +51 -0
- {starplot-0.12.5 → starplot-0.14.0}/examples/map_orthographic.py +5 -7
- {starplot-0.12.5 → starplot-0.14.0}/examples/map_sagittarius.py +19 -17
- {starplot-0.12.5 → starplot-0.14.0}/examples/optic_m45.py +2 -1
- {starplot-0.12.5 → starplot-0.14.0}/examples/optic_moon_saturn.py +3 -2
- {starplot-0.12.5 → starplot-0.14.0}/examples/optic_orion_nebula.py +2 -1
- {starplot-0.12.5 → starplot-0.14.0}/examples/star_chart_basic.py +5 -3
- {starplot-0.12.5 → starplot-0.14.0}/examples/star_chart_detail.py +5 -3
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/hashio.py +7 -1
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/hashlock.yml +61 -53
- starplot-0.14.0/hash_checks/horizon_checks.py +76 -0
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/map_checks.py +29 -9
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/optic_checks.py +18 -10
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/zenith_checks.py +5 -3
- {starplot-0.12.5 → starplot-0.14.0}/mkdocs.yml +1 -0
- {starplot-0.12.5 → starplot-0.14.0}/pyproject.toml +1 -2
- {starplot-0.12.5 → starplot-0.14.0}/requirements.txt +2 -3
- {starplot-0.12.5 → starplot-0.14.0}/scripts/geopack.py +4 -1
- starplot-0.14.0/scripts/starnames.py +52 -0
- starplot-0.14.0/scripts/voronoi.py +169 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/__init__.py +3 -2
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/base.py +408 -95
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/callables.py +61 -7
- starplot-0.14.0/src/starplot/coordinates.py +6 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/bayer.py +1532 -3
- starplot-0.14.0/src/starplot/data/constellations.py +709 -0
- starplot-0.14.0/src/starplot/data/flamsteed.py +2682 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/constellation_borders_inv.gpkg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/constellation_lines_hips.json +3 -1
- starplot-0.14.0/src/starplot/data/stars.py +478 -0
- starplot-0.14.0/src/starplot/geometry.py +82 -0
- starplot-0.14.0/src/starplot/horizon.py +458 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/map.py +97 -284
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/base.py +9 -2
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/constellation.py +1 -1
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/optic.py +32 -14
- starplot-0.14.0/src/starplot/plotters/__init__.py +4 -0
- starplot-0.14.0/src/starplot/plotters/constellations.py +339 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/plotters/dsos.py +5 -1
- starplot-0.14.0/src/starplot/plotters/experimental.py +171 -0
- starplot-0.14.0/src/starplot/plotters/milkyway.py +41 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/plotters/stars.py +143 -13
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/base.py +308 -169
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/antique.yml +54 -46
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/blue_dark.yml +39 -45
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/blue_light.yml +49 -30
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/blue_medium.yml +53 -50
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/cb_wong.yml +16 -7
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/grayscale.yml +17 -10
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/grayscale_dark.yml +18 -8
- starplot-0.14.0/src/starplot/styles/ext/map.yml +12 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/nord.yml +38 -38
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/optic.yml +7 -5
- starplot-0.14.0/src/starplot/styles/fonts-library/gfs-didot/DESCRIPTION.en_us.html +9 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/gfs-didot/GFSDidot-Regular.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/gfs-didot/METADATA.pb +16 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/gfs-didot/OFL.txt +94 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/DESCRIPTION.en_us.html +28 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/Hind-Bold.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/Hind-Light.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/Hind-Medium.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/Hind-Regular.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/Hind-SemiBold.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/METADATA.pb +58 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/hind/OFL.txt +93 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-Black.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-BlackItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-Bold.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-BoldItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-ExtraBold.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-ExtraBoldItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-ExtraLight.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-ExtraLightItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-Italic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-Light.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-LightItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-Medium.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-MediumItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-Regular.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-SemiBold.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-SemiBoldItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-Thin.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/Inter-ThinItalic.ttf +0 -0
- starplot-0.14.0/src/starplot/styles/fonts-library/inter/LICENSE.txt +92 -0
- starplot-0.14.0/src/starplot/styles/fonts.py +15 -0
- starplot-0.14.0/src/starplot/styles/markers.py +308 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/utils.py +19 -0
- starplot-0.14.0/src/starplot/warnings.py +16 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_styles.py +1 -1
- {starplot-0.12.5 → starplot-0.14.0}/tutorial/tutorial_02.py +4 -2
- {starplot-0.12.5 → starplot-0.14.0}/tutorial/tutorial_03.py +11 -5
- {starplot-0.12.5 → starplot-0.14.0}/tutorial/tutorial_04.py +10 -10
- {starplot-0.12.5 → starplot-0.14.0}/tutorial/tutorial_05.py +2 -2
- starplot-0.14.0/tutorial/tutorial_06.py +69 -0
- {starplot-0.12.5 → starplot-0.14.0}/tutorial/tutorial_07.py +7 -3
- {starplot-0.12.5 → starplot-0.14.0}/tutorial/tutorial_08.py +1 -0
- starplot-0.12.5/examples/map_big.py +0 -37
- starplot-0.12.5/examples/map_orion.py +0 -53
- starplot-0.12.5/src/starplot/data/constellations.py +0 -147
- starplot-0.12.5/src/starplot/data/stars.py +0 -157
- starplot-0.12.5/src/starplot/plotters/__init__.py +0 -2
- starplot-0.12.5/src/starplot/styles/ext/map.yml +0 -9
- starplot-0.12.5/src/starplot/styles/markers.py +0 -107
- starplot-0.12.5/tutorial/tutorial_06.py +0 -64
- {starplot-0.12.5 → starplot-0.14.0}/.dockerignore +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/.github/FUNDING.yml +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/.github/workflows/docs.yml +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/.github/workflows/release.yml +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/CODE_OF_CONDUCT.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/CONTRIBUTING.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/LICENSE +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/css/extra.css +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/custom/main.html +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/data/.keep +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/data-sources.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-big-dipper.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-big.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-comet-neowise.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-milky-way-stars.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-orthographic.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/map-sagittarius.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/optic-m45.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/optic-moon-saturn.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/optic-orion.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/optic-solar-eclipse.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/star-chart-basic.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/examples/star-chart-detail.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/banner.png +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/banner.svg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/banner.vectornator +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/celestial-globe.svg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/examples/.keep +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/favicon.png +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/favicon.svg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/logo.png +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/logo.svg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/logo.vectornator +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/logo2.png +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/logo2.vectornator +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/logo500.png +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/mono.png +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/mono.svg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/star.svg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/images/tutorial/.keep +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/license.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-callables.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-data.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-mapplot.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-models.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-ongc.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-opticplot.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/reference-selecting-objects.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/robots.txt +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/01.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/03.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/04.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/docs/tutorial/07.md +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/examples/optic_solar_eclipse.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/__init__.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/data/.keep +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/hash_checks/template.html +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/requirements-dev.txt +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/constellation_hips.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/download_cons.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/ecliptic.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/gallery.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/gpack_constellations.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/hip.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/hip_parquet.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/ipy.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/moonphases.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/ongc_docdata.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/scripts/ongc_geopack.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/__init__.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/bigsky.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/dsos.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/ecliptic.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/constellation_lines_inv.gpkg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/constellations.gpkg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/constellations_hip.fab +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/de421_2001.bsp +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/milkyway.gpkg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/milkyway_inv.gpkg +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/ongc.gpkg.zip +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/stars.bigsky.mag11.parquet +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/library/stars.hipparcos.parquet +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/messier.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/prep/__init__.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/prep/constellations.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/prep/dsos.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/prep/utils.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/data/utils.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/geod.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/mixins.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/__init__.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/dso.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/geometry.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/moon.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/objects.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/planet.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/star.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/models/sun.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/optics.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/projections.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/__init__.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/ext/color_print.yml +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/extensions.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/src/starplot/styles/helpers.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/__init__.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/data/.keep +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_constellations.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_data.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_map.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_models.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_optic.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_stars.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/test_utils.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tests/utils.py +0 -0
- {starplot-0.12.5 → starplot-0.14.0}/tutorial/build.py +0 -0
|
@@ -49,3 +49,10 @@ jobs:
|
|
|
49
49
|
- uses: actions/checkout@v4
|
|
50
50
|
- name: Run Tests - Python 3.12
|
|
51
51
|
run: make test-3.12 CI=true
|
|
52
|
+
# Python 3.13 not supported yet, needs investigation!
|
|
53
|
+
# test-python-3-13:
|
|
54
|
+
# runs-on: ubuntu-22.04
|
|
55
|
+
# steps:
|
|
56
|
+
# - uses: actions/checkout@v4
|
|
57
|
+
# - name: Run Tests - Python 3.13
|
|
58
|
+
# run: make test-3.13 CI=true
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
ARG PYTHON_VERSION=3.11.
|
|
1
|
+
ARG PYTHON_VERSION=3.11.11
|
|
2
2
|
FROM python:${PYTHON_VERSION}-bookworm AS base
|
|
3
3
|
|
|
4
4
|
WORKDIR /starplot
|
|
5
5
|
|
|
6
|
+
# Install required system libraries (GEOS + GDAL)
|
|
6
7
|
RUN apt-get clean && apt-get update -y && apt-get install -y libgeos-dev libgdal-dev
|
|
7
8
|
|
|
8
|
-
# Install fonts
|
|
9
|
-
# not required, but make the maps look better (especially greek letters)
|
|
10
|
-
RUN mkdir -p /usr/share/fonts/truetype
|
|
11
|
-
RUN wget https://github.com/google/fonts/raw/main/ofl/gfsdidot/GFSDidot-Regular.ttf -P /tmp/fonts
|
|
12
|
-
RUN install -m644 /tmp/fonts/*.ttf /usr/share/fonts/truetype/
|
|
13
|
-
RUN fc-cache -f
|
|
14
|
-
|
|
15
9
|
# ---------------------------------------------------------------------
|
|
16
10
|
FROM base as dev
|
|
17
11
|
|
|
@@ -22,7 +22,7 @@ DOCKER_RUN_PYTHON_TEST=docker run --rm $(DR_ARGS) -v $(shell pwd):/starplot star
|
|
|
22
22
|
export PYTHONPATH=./src/
|
|
23
23
|
|
|
24
24
|
# ------------------------------------------------------------------
|
|
25
|
-
build: PYTHON_VERSION=3.11.
|
|
25
|
+
build: PYTHON_VERSION=3.11.11
|
|
26
26
|
build: DOCKER_BUILD_ARGS=-t starplot-dev
|
|
27
27
|
build:
|
|
28
28
|
touch -a .env
|
|
@@ -82,26 +82,32 @@ version:
|
|
|
82
82
|
# ------------------------------------------------------------------
|
|
83
83
|
# Python version testing
|
|
84
84
|
# ------------------------------------------------------------------
|
|
85
|
-
test-3.9: PYTHON_VERSION=3.9.
|
|
85
|
+
test-3.9: PYTHON_VERSION=3.9.21
|
|
86
86
|
test-3.9:
|
|
87
87
|
$(DOCKER_BUILD_PYTHON)
|
|
88
88
|
$(DOCKER_RUN_PYTHON_TEST)
|
|
89
89
|
|
|
90
|
-
test-3.10: PYTHON_VERSION=3.10.
|
|
90
|
+
test-3.10: PYTHON_VERSION=3.10.16
|
|
91
91
|
test-3.10:
|
|
92
92
|
$(DOCKER_BUILD_PYTHON)
|
|
93
93
|
$(DOCKER_RUN_PYTHON_TEST)
|
|
94
94
|
|
|
95
|
-
test-3.11: PYTHON_VERSION=3.11.
|
|
95
|
+
test-3.11: PYTHON_VERSION=3.11.11
|
|
96
96
|
test-3.11:
|
|
97
97
|
$(DOCKER_BUILD_PYTHON)
|
|
98
98
|
$(DOCKER_RUN_PYTHON_TEST)
|
|
99
99
|
|
|
100
|
-
test-3.12: PYTHON_VERSION=3.12.
|
|
100
|
+
test-3.12: PYTHON_VERSION=3.12.8
|
|
101
101
|
test-3.12:
|
|
102
102
|
$(DOCKER_BUILD_PYTHON)
|
|
103
103
|
$(DOCKER_RUN_PYTHON_TEST)
|
|
104
104
|
|
|
105
|
+
# Python 3.13 not supported yet!
|
|
106
|
+
test-3.13: PYTHON_VERSION=3.13.1
|
|
107
|
+
test-3.13:
|
|
108
|
+
$(DOCKER_BUILD_PYTHON)
|
|
109
|
+
$(DOCKER_RUN_PYTHON_TEST)
|
|
110
|
+
|
|
105
111
|
# ------------------------------------------------------------------
|
|
106
112
|
# Docs
|
|
107
113
|
docs-serve: DR_ARGS=-it -p 8000:8000
|
|
@@ -134,6 +140,9 @@ hip8:
|
|
|
134
140
|
scripts:
|
|
135
141
|
$(DOCKER_RUN) "python ./scripts/$(SCRIPT).py"
|
|
136
142
|
|
|
143
|
+
allsky:
|
|
144
|
+
$(DOCKER_RUN) "python ./scripts/temp/allsky.py"
|
|
145
|
+
|
|
137
146
|
clean:
|
|
138
147
|
rm -rf __pycache__
|
|
139
148
|
rm -rf venv
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: starplot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0
|
|
4
4
|
Summary: Star charts and maps of the sky
|
|
5
|
-
Keywords: astronomy,stars,charts,maps,constellations
|
|
5
|
+
Keywords: astronomy,stars,charts,maps,constellations,sky,plotting
|
|
6
6
|
Author-email: Steve Berardi <hello@steveberardi.com>
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -17,7 +17,6 @@ Requires-Dist: pandas >= 1.4.0
|
|
|
17
17
|
Requires-Dist: pydantic >= 2.0.3
|
|
18
18
|
Requires-Dist: shapely >= 2.0.1
|
|
19
19
|
Requires-Dist: skyfield >= 1.41
|
|
20
|
-
Requires-Dist: adjustText >= 1.0
|
|
21
20
|
Requires-Dist: cartopy >= 0.21.1
|
|
22
21
|
Requires-Dist: geopandas >= 0.13.2
|
|
23
22
|
Requires-Dist: pillow >= 10.0.0
|
|
@@ -39,10 +38,11 @@ Project-URL: Source, https://github.com/steveberardi/starplot
|
|
|
39
38
|
|
|
40
39
|
**Starplot** is a Python library for creating star charts and maps of the sky.
|
|
41
40
|
|
|
42
|
-
- ⭐ **Zenith Plots** -
|
|
41
|
+
- ⭐ **Zenith Plots** - shows the entire sky at a specific time and place
|
|
43
42
|
- 🗺️ **Map Plots** - including many map projections
|
|
44
|
-
-
|
|
45
|
-
-
|
|
43
|
+
- 🌃 **Horizon Plots** - shows the horizon at a specific time and place
|
|
44
|
+
- 🔭 **Optic Plots** - shows what you'll see through an optic (e.g. telescope) at a specific time and place
|
|
45
|
+
- 🪐 **Planets and Deep Sky Objects (DSOs)** - more than 14,000 objects built-in
|
|
46
46
|
- 🎨 **Custom Styles** - for all objects
|
|
47
47
|
- 📥 **Export** - png, svg, jpeg
|
|
48
48
|
- 🧭 **Label Collision Avoidance**
|
|
@@ -54,7 +54,7 @@ Project-URL: Source, https://github.com/steveberardi/starplot
|
|
|
54
54
|
*Map around the constellation Orion:*
|
|
55
55
|

|
|
56
56
|
|
|
57
|
-
*
|
|
57
|
+
*The Pleiades star cluster, as seen through a refractor telescope from a specific time and location:*
|
|
58
58
|

|
|
59
59
|
|
|
60
60
|
## Basic Usage
|
|
@@ -75,12 +75,13 @@ p = sp.MapPlot(
|
|
|
75
75
|
dt=datetime.now(tz).replace(hour=22),
|
|
76
76
|
style=sp.styles.PlotStyle().extend(
|
|
77
77
|
sp.styles.extensions.BLUE_MEDIUM,
|
|
78
|
-
sp.styles.extensions.ZENITH,
|
|
79
78
|
),
|
|
80
|
-
resolution=
|
|
79
|
+
resolution=4096,
|
|
80
|
+
autoscale=True,
|
|
81
81
|
)
|
|
82
82
|
p.constellations()
|
|
83
83
|
p.stars(mag=4.6)
|
|
84
|
+
p.constellation_labels()
|
|
84
85
|
p.export("starchart.png")
|
|
85
86
|
```
|
|
86
87
|
|
|
@@ -105,12 +106,11 @@ https://discord.gg/WewJJjshFu
|
|
|
105
106
|
Contributing to Starplot is welcome and very much appreciated! Please see [here](CONTRIBUTING.md) for details.
|
|
106
107
|
|
|
107
108
|
## Coming Soon
|
|
109
|
+
- 🗄️ Data optimizations
|
|
110
|
+
- 🧮 Coordinate system helpers
|
|
108
111
|
- 🌑 Planet moons
|
|
109
112
|
- ✴️ Custom markers
|
|
110
|
-
- 🚀 Plotting Optimizations
|
|
111
113
|
- ☄️ Comet model
|
|
112
|
-
- 🌄 Horizon plots
|
|
113
|
-
- ⚖️ Better auto font-size adjustment
|
|
114
114
|
- 😄 🔭 Clear skies
|
|
115
115
|
|
|
116
116
|
See more details on the [Public Roadmap](https://trello.com/b/sUksygn4/starplot-roadmap)
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
**Starplot** is a Python library for creating star charts and maps of the sky.
|
|
8
8
|
|
|
9
|
-
- ⭐ **Zenith Plots** -
|
|
9
|
+
- ⭐ **Zenith Plots** - shows the entire sky at a specific time and place
|
|
10
10
|
- 🗺️ **Map Plots** - including many map projections
|
|
11
|
-
-
|
|
12
|
-
-
|
|
11
|
+
- 🌃 **Horizon Plots** - shows the horizon at a specific time and place
|
|
12
|
+
- 🔭 **Optic Plots** - shows what you'll see through an optic (e.g. telescope) at a specific time and place
|
|
13
|
+
- 🪐 **Planets and Deep Sky Objects (DSOs)** - more than 14,000 objects built-in
|
|
13
14
|
- 🎨 **Custom Styles** - for all objects
|
|
14
15
|
- 📥 **Export** - png, svg, jpeg
|
|
15
16
|
- 🧭 **Label Collision Avoidance**
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
*Map around the constellation Orion:*
|
|
22
23
|

|
|
23
24
|
|
|
24
|
-
*
|
|
25
|
+
*The Pleiades star cluster, as seen through a refractor telescope from a specific time and location:*
|
|
25
26
|

|
|
26
27
|
|
|
27
28
|
## Basic Usage
|
|
@@ -42,12 +43,13 @@ p = sp.MapPlot(
|
|
|
42
43
|
dt=datetime.now(tz).replace(hour=22),
|
|
43
44
|
style=sp.styles.PlotStyle().extend(
|
|
44
45
|
sp.styles.extensions.BLUE_MEDIUM,
|
|
45
|
-
sp.styles.extensions.ZENITH,
|
|
46
46
|
),
|
|
47
|
-
resolution=
|
|
47
|
+
resolution=4096,
|
|
48
|
+
autoscale=True,
|
|
48
49
|
)
|
|
49
50
|
p.constellations()
|
|
50
51
|
p.stars(mag=4.6)
|
|
52
|
+
p.constellation_labels()
|
|
51
53
|
p.export("starchart.png")
|
|
52
54
|
```
|
|
53
55
|
|
|
@@ -72,12 +74,11 @@ https://discord.gg/WewJJjshFu
|
|
|
72
74
|
Contributing to Starplot is welcome and very much appreciated! Please see [here](CONTRIBUTING.md) for details.
|
|
73
75
|
|
|
74
76
|
## Coming Soon
|
|
77
|
+
- 🗄️ Data optimizations
|
|
78
|
+
- 🧮 Coordinate system helpers
|
|
75
79
|
- 🌑 Planet moons
|
|
76
80
|
- ✴️ Custom markers
|
|
77
|
-
- 🚀 Plotting Optimizations
|
|
78
81
|
- ☄️ Comet model
|
|
79
|
-
- 🌄 Horizon plots
|
|
80
|
-
- ⚖️ Better auto font-size adjustment
|
|
81
82
|
- 😄 🔭 Clear skies
|
|
82
83
|
|
|
83
84
|
See more details on the [Public Roadmap](https://trello.com/b/sUksygn4/starplot-roadmap)
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
{ align=right width="128" .off-glb }
|
|
2
2
|
|
|
3
|
-
**Starplot** is a Python library for creating star charts and maps. It lets you create zenith plots that show the whole sky from a time/place, map plots that show more detail of an area, and optic plots that simulate the field of view from a particular optic (e.g. telescope, binoculars, or a camera).
|
|
3
|
+
**Starplot** is a Python library for creating star charts and maps of the sky. It lets you create zenith plots that show the whole sky from a time/place, map plots that show more detail of an area, and optic plots that simulate the field of view from a particular optic (e.g. telescope, binoculars, or a camera).
|
|
4
|
+
|
|
5
|
+
👷 **Work In Progress** 🚧 Starplot is still very much a work in progress, and under active development. We try to follow [semantic versioning](https://semver.org/), which means that [_anything_ can change between versions before `1.0.0`](https://semver.org/#spec-item-4).
|
|
6
|
+
|
|
7
|
+
However, the Starplot API becomes more stable with each new version. We anticipate that version `1.0.0` is still at least a year away. The best way to help us get there faster is to [join as a contributor](https://github.com/steveberardi/starplot/blob/main/CONTRIBUTING.md) 😃 help is wanted and very much appreciated!
|
|
4
8
|
|
|
5
9
|
Join other starplotters on [Discord :fontawesome-brands-discord:{ .fg-primary }](https://discord.gg/WewJJjshFu)
|
|
6
10
|
|
|
@@ -1,4 +1,26 @@
|
|
|
1
|
+
## v0.14.x
|
|
2
|
+
- Adds horizon plots, which show what the sky looks like from the horizon at a specific time and place
|
|
3
|
+
- Improved auto placement of constellation labels
|
|
4
|
+
- Separates styles and functions for constellation lines and labels
|
|
5
|
+
- Plots constellation lines and borders as a `LineCollection` to improve performance
|
|
6
|
+
- Adds option to suppress warnings from dependencies
|
|
7
|
+
- Adds legend labels to shape functions
|
|
8
|
+
|
|
9
|
+
## v0.13.x
|
|
10
|
+
[Documentation](https://archives.starplot.dev/0.13.0/)
|
|
11
|
+
|
|
12
|
+
- Adds a `scale` factor to control sizing of all objects/text
|
|
13
|
+
- Adds an "auto" option for label offsets from markers
|
|
14
|
+
- Adds constellation lines to label collision detection
|
|
15
|
+
- Adds a `gid` to plotted objects to make exported SVGs easier to work with in external applications (e.g. Inkscape)
|
|
16
|
+
- Adds Flamsteed numbers to stars
|
|
17
|
+
- Adds all star names from IAU
|
|
18
|
+
- Adds the standard symbol for planetary nebulae
|
|
19
|
+
- Adds a border size/color property to label styles
|
|
20
|
+
- Bundles fonts: Inter & GFS Didot
|
|
21
|
+
|
|
1
22
|
## v0.12.x
|
|
23
|
+
[Documentation](https://archives.starplot.dev/0.12.5/)
|
|
2
24
|
|
|
3
25
|
- Adds Shapely geometry to all sky object models, including support for `intersects` in `where` clauses
|
|
4
26
|
- Adds kwarg to map plots to allow custom clip paths
|
|
@@ -12,6 +34,9 @@
|
|
|
12
34
|
- [**v0.12.2**] Allows tuples for line styles on polygons and adds geometry kwarg to polygon function
|
|
13
35
|
- [**v0.12.3**] Fixes bug with constellation names
|
|
14
36
|
- [**v0.12.4**] Makes labels on markers default to None
|
|
37
|
+
- [**v0.12.5**]
|
|
38
|
+
- Fixes bug with a few constellation ids
|
|
39
|
+
- Fixes bug with `zenith()` function on map plots
|
|
15
40
|
|
|
16
41
|
## v0.11.x
|
|
17
42
|
[Documentation](https://archives.starplot.dev/0.11.4/)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Horizon Plot
|
|
3
|
+
---
|
|
4
|
+
[:octicons-arrow-left-24: Back to Examples](/examples)
|
|
5
|
+
|
|
6
|
+
# Horizon Plot {.example-header}
|
|
7
|
+
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
This plot shows what was in the sky when looking southwest from Lone Pine, California on August 30, 2024 at 9pm PT.
|
|
11
|
+
|
|
12
|
+
```python
|
|
13
|
+
--8<-- "examples/horizon_sgr.py"
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
|
|
@@ -7,6 +7,8 @@ title: Map of Canis Major
|
|
|
7
7
|
|
|
8
8
|

|
|
9
9
|
|
|
10
|
+
In this example, we set the plot's `clip_path` to the boundary of Canis Major, so only objects in that constellation are plotted:
|
|
11
|
+
|
|
10
12
|
```python
|
|
11
13
|
--8<-- "examples/map_canis_major.py"
|
|
12
14
|
```
|
|
@@ -7,7 +7,7 @@ title: Map of Orion
|
|
|
7
7
|
|
|
8
8
|

|
|
9
9
|
|
|
10
|
-
The following code will create a simple map plot that shows the area around the constellation
|
|
10
|
+
The following code will create a simple map plot that shows the area around the constellation [Orion](https://en.wikipedia.org/wiki/Orion_(constellation)):
|
|
11
11
|
|
|
12
12
|
```python
|
|
13
13
|
--8<-- "examples/map_orion.py"
|
|
@@ -57,6 +57,14 @@
|
|
|
57
57
|
<p class="example-card-title">Milky Way Stars</p>
|
|
58
58
|
</a>
|
|
59
59
|
</li>
|
|
60
|
+
|
|
61
|
+
<li>
|
|
62
|
+
<a href="/examples/horizon-sgr/">
|
|
63
|
+
<img src="/images/examples/horizon_sgr-sm.png" alt="Horizon Plot of Sagittarius" class="off-glb" loading="lazy"/>
|
|
64
|
+
|
|
65
|
+
<p class="example-card-title">Horizon Plot</p>
|
|
66
|
+
</a>
|
|
67
|
+
</li>
|
|
60
68
|
|
|
61
69
|
<li>
|
|
62
70
|
<a href="/examples/map-big-dipper/">
|
|
@@ -12,13 +12,15 @@ title: Star Charts and Maps of the Sky in Python
|
|
|
12
12
|
Starplot is a Python library for creating star charts and maps of the sky.
|
|
13
13
|
{.text-subtitle}
|
|
14
14
|
|
|
15
|
-
- ⭐ **Zenith Plots** -
|
|
15
|
+
- ⭐ **Zenith Plots** - shows the entire sky at a specific time and place
|
|
16
16
|
|
|
17
|
-
- 🗺️ **Map Plots** - including
|
|
17
|
+
- 🗺️ **Map Plots** - including many projections
|
|
18
18
|
|
|
19
|
-
-
|
|
19
|
+
- 🌃 **Horizon Plots** - shows the horizon at a specific time and place
|
|
20
20
|
|
|
21
|
-
-
|
|
21
|
+
- 🔭 **Optic Plots** - shows what you'll see through an optic (e.g. telescope) at a specific time and place
|
|
22
|
+
|
|
23
|
+
- 🪐 **Planets and Deep Sky Objects (DSOs)** - more than 14,000 objects built-in
|
|
22
24
|
|
|
23
25
|
- 🎨 **Custom Styles** - for all objects
|
|
24
26
|
|
|
@@ -28,6 +30,7 @@ Starplot is a Python library for creating star charts and maps of the sky.
|
|
|
28
30
|
|
|
29
31
|
Join other starplotters on [Discord :fontawesome-brands-discord:{ .fg-primary }](https://discord.gg/WewJJjshFu)
|
|
30
32
|
|
|
33
|
+
|
|
31
34
|
*Example charts and maps created with Starplot:*
|
|
32
35
|
<!-- {.text-subtitle} -->
|
|
33
36
|
|
|
@@ -38,7 +41,7 @@ Join other starplotters on [Discord :fontawesome-brands-discord:{ .fg-primary }]
|
|
|
38
41
|
|
|
39
42
|
<figure markdown>
|
|
40
43
|
<img src="images/examples/map_orion.png" width="900">
|
|
41
|
-
<figcaption>Map around the constellation Orion
|
|
44
|
+
<figcaption>Map around the constellation Orion (<a href="/examples/map-orion/">source code</a>)</figcaption>
|
|
42
45
|
</figure>
|
|
43
46
|
|
|
44
47
|
|
|
@@ -28,6 +28,19 @@ apt-get install libgeos-dev libgdal-dev
|
|
|
28
28
|
pip install starplot
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
+
## Docker
|
|
32
|
+
|
|
33
|
+
Here's a basic Docker container definition that'll get you up and running:
|
|
34
|
+
|
|
35
|
+
```docker
|
|
36
|
+
FROM python:3.11.11-bookworm
|
|
37
|
+
|
|
38
|
+
# Install required system libraries (GEOS + GDAL)
|
|
39
|
+
RUN apt-get clean && apt-get update -y && apt-get install -y libgeos-dev libgdal-dev
|
|
40
|
+
|
|
41
|
+
RUN pip install starplot
|
|
42
|
+
```
|
|
43
|
+
|
|
31
44
|
!!! star "What about Windows?"
|
|
32
45
|
|
|
33
46
|
I haven't tried installing Starplot on Windows, but if you have and would like to share instructions, please feel free to [open a pull request on GitHub](https://github.com/steveberardi/starplot) with an update to this file (`docs/installation.md`). Thanks! :)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
**Horizon plots show what the sky looks like from the horizon at a specific time and place**. They can help illustrate answers to questions like "what stars will I see in the sky tonight at 9pm when I look directly West from my backyard?"
|
|
2
|
+
|
|
3
|
+
These plots use the [Lambert azimuthal equal-area projection](https://en.wikipedia.org/wiki/Lambert_azimuthal_equal-area_projection), with the horizon as the central altitude (0 degrees) and the central azimuth is determined by the azimuth range you define when creating the plot.
|
|
4
|
+
|
|
5
|
+
::: starplot.HorizonPlot
|
|
6
|
+
options:
|
|
7
|
+
inherited_members: true
|
|
8
|
+
merge_init_into_class: true
|
|
9
|
+
show_root_heading: true
|
|
10
|
+
|
|
@@ -83,7 +83,7 @@ from starplot import PlotStyle
|
|
|
83
83
|
style = PlotStyle().extend(
|
|
84
84
|
{
|
|
85
85
|
"bayer_labels": {
|
|
86
|
-
"font_name": "
|
|
86
|
+
"font_name": "Literata",
|
|
87
87
|
"font_size": 10
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -92,7 +92,7 @@ style = PlotStyle().extend(
|
|
|
92
92
|
Alternatively, you can do this:
|
|
93
93
|
```python
|
|
94
94
|
style = PlotStyle()
|
|
95
|
-
style.bayer_labels.font_name = "
|
|
95
|
+
style.bayer_labels.font_name = "Literata"
|
|
96
96
|
style.bayer_labels.font_size = 10
|
|
97
97
|
|
|
98
98
|
```
|
|
@@ -152,8 +152,8 @@ Starplot has a bunch of built-in style extensions (all imported from `starplot.s
|
|
|
152
152
|
- `GRAYSCALE` - Optimized for printing in grayscale ([details](#extensions-grayscale))
|
|
153
153
|
- `GRAYSCALE_DARK` - Like `GRAYSCALE`, but inverted (white stars, black background) ([details](#extensions-grayscale-dark))
|
|
154
154
|
- `BLUE_LIGHT` - Light and bright colors ([details](#extensions-blue-light))
|
|
155
|
-
- `BLUE_MEDIUM` - Medium brightness
|
|
156
|
-
- `BLUE_DARK` - Dark
|
|
155
|
+
- `BLUE_MEDIUM` - Medium brightness blue colors ([details](#extensions-blue-medium))
|
|
156
|
+
- `BLUE_DARK` - Dark blue and contrasting colors ([details](#extensions-blue-dark))
|
|
157
157
|
- `ANTIQUE` - Antique map inspired colors ([details](#extensions-antique))
|
|
158
158
|
- `NORD` - Nord-inspired colors ([details](#extensions-nord))
|
|
159
159
|
- **Plot types**
|
|
@@ -37,10 +37,19 @@ On line 8, we create a [`MapPlot`][starplot.MapPlot] instance that specifies a f
|
|
|
37
37
|
- `lat`/`lon`: Observing location
|
|
38
38
|
- `dt`: Observing date/time
|
|
39
39
|
- `resolution`: Resolution (in pixels) of the widest dimension of the plot
|
|
40
|
+
- `scale`: This controls the sizing of all text and markers. At scale `1.0` everything is optimized for a basic map of 1-3 constellations, so if you're plotting a larger area (or just want everything smaller), then it's a good idea to decrease the scale so the plot isn't too crowded.
|
|
40
41
|
|
|
41
|
-
When you create a plot instance, initially it'll be empty (i.e. it won't have any stars). In Starplot, you have to explicitly plot all objects.
|
|
42
|
+
When you create a plot instance, initially it'll be empty (i.e. it won't have any stars or constellations). In Starplot, you have to explicitly plot all objects.
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
So, on line 16 we start by plotting the constellation lines. We plot these _first_, because Starplot can use the constellation lines to automatically find good places to plot object labels.
|
|
45
|
+
|
|
46
|
+
Next, we plot stars with a limiting magnitude of 4.6. Notice how none of the star names in the plot cross over a constellation line? That's because we plotted the constellation lines _before_ plotting the stars.
|
|
47
|
+
|
|
48
|
+
After the stars, we plot the horizon, which is the border around the plot with the cardinal direction labels.
|
|
49
|
+
|
|
50
|
+
Lastly, we plot the constellation labels. It's good to plot these last because they're area-based labels (vs point-based, like for star names), and area-based labels have more freedom to move around. If you plot area-based labels first, then it would limit the available space for point-based labels.
|
|
51
|
+
|
|
52
|
+
Once we're done plotting, we export the plot to a PNG file.
|
|
44
53
|
|
|
45
54
|
*In the [next section](03.md), we'll learn how to add some styles and other objects to the plot...*
|
|
46
55
|
|
|
@@ -22,7 +22,7 @@ For example, here's how you'd create an optic plot of the Beehive Star Cluster (
|
|
|
22
22
|
|
|
23
23
|
The first 13 lines should look familiar from the other plots we've created in this tutorial.
|
|
24
24
|
|
|
25
|
-
Line
|
|
25
|
+
Line 14 is where we create the instance of an `OpticPlot`. Most of the kwargs are the same as the map plot's kwargs, except for the following:
|
|
26
26
|
|
|
27
27
|
- `ra`: Right ascension of the target
|
|
28
28
|
- `dec`: Declination of the target
|
|
@@ -30,7 +30,7 @@ Line 15 is where we create the instance of an `OpticPlot`. Most of the kwargs ar
|
|
|
30
30
|
|
|
31
31
|
The `ra`/`dec` you specify for the target will be the center of the plot.
|
|
32
32
|
|
|
33
|
-
On line 31, we plot stars down to magnitude
|
|
33
|
+
On line 31, we plot stars down to magnitude 12, but we also specify the [star catalog](/reference-data/#starplot.data.stars.StarCatalog) to use. By default, Starplot uses the Hipparcos catalog, but it also has the [Big Sky Catalog](https://github.com/steveberardi/bigsky) built-in which has many more stars.
|
|
34
34
|
|
|
35
35
|
*In the [next section](06.md), we'll learn how to be more selective of objects to plot...*
|
|
36
36
|
|
|
@@ -20,7 +20,7 @@ p.stars(
|
|
|
20
20
|
],
|
|
21
21
|
)
|
|
22
22
|
```
|
|
23
|
-
When passing the `where` kwarg, the `mag` kwarg will be ignored, and only the stars/DSOs that satisfy ALL the `where` conditions will be plotted. You can reference any field on the model in expressions, and there are also a few functions available for determining if a field is null or is in a list of values. For complete details about selecting objects, see the [reference page](/reference-selecting-objects/).
|
|
23
|
+
When passing the `where` kwarg, the `mag` kwarg will be ignored, and only the stars/DSOs that satisfy ALL the `where` conditions will be plotted. You can reference any field on the [model](/reference-models/) in expressions, and there are also a few functions available for determining if a field is null or is in a list of values. For complete details about selecting objects, see the [reference page](/reference-selecting-objects/).
|
|
24
24
|
|
|
25
25
|
Here's some code that uses the `where` kwarg extensively to produce the image above:
|
|
26
26
|
<div class="tutorial" markdown>
|
|
@@ -11,7 +11,7 @@ title: 8 - Using Callables
|
|
|
11
11
|
|
|
12
12
|
[Callables](/reference-callables/) allow you to define your own functions for calculating a few of the style properties for stars: size, alpha (opacity), color, and their labels. DSOs support callables for alpha and labels only. Starplot has a few basic callables built-in, but you can also create your own.
|
|
13
13
|
|
|
14
|
-
Here's an example that uses the built-in callable `color_by_bv` to create an optic plot of [Antares](https://en.wikipedia.org/wiki/Antares) that colorizes the stars based on their B-V index (Antares B-V is 1.83 so it appears red/orange in the sky):
|
|
14
|
+
Here's an example that uses the built-in callable `color_by_bv` to create an optic plot of [Antares](https://en.wikipedia.org/wiki/Antares) that colorizes the stars based on their B-V index (Antares' B-V is 1.83 so it appears red/orange in the sky):
|
|
15
15
|
<div class="tutorial" markdown>
|
|
16
16
|
```python linenums="1"
|
|
17
17
|
--8<-- "tutorial/tutorial_08.py"
|
|
@@ -14,6 +14,7 @@ The purpose of the tutorial was just to give you an intro to some of Starplot's
|
|
|
14
14
|
- [Examples](/examples)
|
|
15
15
|
- Code References:
|
|
16
16
|
- [MapPlot](/reference-mapplot/)
|
|
17
|
+
- [HorizonPlot](/reference-horizonplot/)
|
|
17
18
|
- [OpticPlot](/reference-opticplot/)
|
|
18
19
|
- [Styling](/reference-styling/)
|
|
19
20
|
- [Join other Starplotters on Discord](https://discord.gg/WewJJjshFu)
|
|
@@ -5,10 +5,15 @@ import glob
|
|
|
5
5
|
import time
|
|
6
6
|
|
|
7
7
|
from PIL import Image
|
|
8
|
-
from multiprocessing import Pool
|
|
8
|
+
from multiprocessing import Pool
|
|
9
9
|
|
|
10
10
|
start = time.time()
|
|
11
11
|
|
|
12
|
+
skip = [
|
|
13
|
+
# "map_milky_way_stars.py",
|
|
14
|
+
# "stuff.py",
|
|
15
|
+
]
|
|
16
|
+
|
|
12
17
|
|
|
13
18
|
def thumbnail(filename, max_dimension=900):
|
|
14
19
|
print(filename)
|
|
@@ -23,16 +28,17 @@ def get_example_names():
|
|
|
23
28
|
for filename in glob.iglob("*.py"):
|
|
24
29
|
if filename.endswith("examples.py"):
|
|
25
30
|
continue
|
|
31
|
+
|
|
32
|
+
if filename in skip:
|
|
33
|
+
continue
|
|
34
|
+
|
|
26
35
|
filenames.append(filename)
|
|
27
36
|
|
|
28
37
|
return filenames
|
|
29
38
|
|
|
30
39
|
|
|
31
40
|
def run_example(filename):
|
|
32
|
-
import subprocess
|
|
33
|
-
|
|
34
41
|
print(f"Running {filename}")
|
|
35
|
-
|
|
36
42
|
subprocess.call(["python", filename])
|
|
37
43
|
|
|
38
44
|
|
|
@@ -42,16 +48,6 @@ processes = []
|
|
|
42
48
|
with Pool(5) as pool:
|
|
43
49
|
pool.map(run_example, example_files)
|
|
44
50
|
|
|
45
|
-
# Run all examples
|
|
46
|
-
# for filename in glob.iglob("*.py"):
|
|
47
|
-
# if filename.endswith("examples.py"):
|
|
48
|
-
# continue
|
|
49
|
-
|
|
50
|
-
# # if filename != "map_lyra.py":
|
|
51
|
-
# # continue
|
|
52
|
-
# print(f"Running {filename}")
|
|
53
|
-
# subprocess.call(f"python {filename}", shell=True)
|
|
54
|
-
|
|
55
51
|
# Create thumbnail images for the examples list page
|
|
56
52
|
image_files = glob.glob("*.png")
|
|
57
53
|
pool = Pool(5)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from pytz import timezone
|
|
4
|
+
|
|
5
|
+
from starplot import HorizonPlot, Star, DSO
|
|
6
|
+
from starplot.styles import PlotStyle, extensions
|
|
7
|
+
|
|
8
|
+
style = PlotStyle().extend(
|
|
9
|
+
extensions.BLUE_MEDIUM,
|
|
10
|
+
extensions.MAP,
|
|
11
|
+
{"figure_background_color": "hsl(212, 27%, 48%)"},
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
dt = timezone("US/Pacific").localize(datetime(2024, 8, 30, 21, 0, 0, 0))
|
|
15
|
+
|
|
16
|
+
p = HorizonPlot(
|
|
17
|
+
altitude=(0, 60),
|
|
18
|
+
azimuth=(175, 275),
|
|
19
|
+
lat=36.606111, # Lone Pine, California
|
|
20
|
+
lon=-118.079444,
|
|
21
|
+
dt=dt,
|
|
22
|
+
style=style,
|
|
23
|
+
resolution=4000,
|
|
24
|
+
scale=0.9,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
p.constellations()
|
|
28
|
+
p.milky_way()
|
|
29
|
+
|
|
30
|
+
p.stars(where=[Star.magnitude < 5])
|
|
31
|
+
p.messier(where=[DSO.magnitude < 12], true_size=False, label_fn=lambda d: f"M{d.m}")
|
|
32
|
+
|
|
33
|
+
p.constellation_labels()
|
|
34
|
+
p.planets()
|
|
35
|
+
p.ecliptic()
|
|
36
|
+
p.horizon()
|
|
37
|
+
p.gridlines()
|
|
38
|
+
|
|
39
|
+
p.export("horizon_sgr.png", padding=0.2)
|