starplot 0.12.1__tar.gz → 0.12.2__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.

Files changed (198) hide show
  1. {starplot-0.12.1 → starplot-0.12.2}/PKG-INFO +1 -1
  2. {starplot-0.12.1 → starplot-0.12.2}/docs/changelog.md +1 -0
  3. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/09.md +3 -1
  4. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/hashlock.yml +5 -5
  5. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/map_checks.py +20 -19
  6. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/__init__.py +1 -1
  7. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/base.py +18 -2
  8. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/base.py +6 -5
  9. {starplot-0.12.1 → starplot-0.12.2}/.dockerignore +0 -0
  10. {starplot-0.12.1 → starplot-0.12.2}/.github/FUNDING.yml +0 -0
  11. {starplot-0.12.1 → starplot-0.12.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  12. {starplot-0.12.1 → starplot-0.12.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  13. {starplot-0.12.1 → starplot-0.12.2}/.github/workflows/docs.yml +0 -0
  14. {starplot-0.12.1 → starplot-0.12.2}/.github/workflows/release.yml +0 -0
  15. {starplot-0.12.1 → starplot-0.12.2}/.github/workflows/test.yml +0 -0
  16. {starplot-0.12.1 → starplot-0.12.2}/.gitignore +0 -0
  17. {starplot-0.12.1 → starplot-0.12.2}/CODE_OF_CONDUCT.md +0 -0
  18. {starplot-0.12.1 → starplot-0.12.2}/CONTRIBUTING.md +0 -0
  19. {starplot-0.12.1 → starplot-0.12.2}/Dockerfile +0 -0
  20. {starplot-0.12.1 → starplot-0.12.2}/LICENSE +0 -0
  21. {starplot-0.12.1 → starplot-0.12.2}/Makefile +0 -0
  22. {starplot-0.12.1 → starplot-0.12.2}/README.md +0 -0
  23. {starplot-0.12.1 → starplot-0.12.2}/docs/about.md +0 -0
  24. {starplot-0.12.1 → starplot-0.12.2}/docs/coming-soon.md +0 -0
  25. {starplot-0.12.1 → starplot-0.12.2}/docs/css/extra.css +0 -0
  26. {starplot-0.12.1 → starplot-0.12.2}/docs/custom/main.html +0 -0
  27. {starplot-0.12.1 → starplot-0.12.2}/docs/data/.keep +0 -0
  28. {starplot-0.12.1 → starplot-0.12.2}/docs/data-sources.md +0 -0
  29. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-big-dipper.md +0 -0
  30. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-big.md +0 -0
  31. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-canis-major.md +0 -0
  32. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-comet-neowise.md +0 -0
  33. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-milky-way-stars.md +0 -0
  34. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-orion.md +0 -0
  35. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-orthographic.md +0 -0
  36. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/map-sagittarius.md +0 -0
  37. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/optic-m45.md +0 -0
  38. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/optic-moon-saturn.md +0 -0
  39. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/optic-orion.md +0 -0
  40. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/optic-solar-eclipse.md +0 -0
  41. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/star-chart-basic.md +0 -0
  42. {starplot-0.12.1 → starplot-0.12.2}/docs/examples/star-chart-detail.md +0 -0
  43. {starplot-0.12.1 → starplot-0.12.2}/docs/examples.md +0 -0
  44. {starplot-0.12.1 → starplot-0.12.2}/docs/gallery.md +0 -0
  45. {starplot-0.12.1 → starplot-0.12.2}/docs/images/banner.png +0 -0
  46. {starplot-0.12.1 → starplot-0.12.2}/docs/images/banner.svg +0 -0
  47. {starplot-0.12.1 → starplot-0.12.2}/docs/images/banner.vectornator +0 -0
  48. {starplot-0.12.1 → starplot-0.12.2}/docs/images/celestial-globe.svg +0 -0
  49. {starplot-0.12.1 → starplot-0.12.2}/docs/images/examples/.keep +0 -0
  50. {starplot-0.12.1 → starplot-0.12.2}/docs/images/favicon.png +0 -0
  51. {starplot-0.12.1 → starplot-0.12.2}/docs/images/favicon.svg +0 -0
  52. {starplot-0.12.1 → starplot-0.12.2}/docs/images/logo.png +0 -0
  53. {starplot-0.12.1 → starplot-0.12.2}/docs/images/logo.svg +0 -0
  54. {starplot-0.12.1 → starplot-0.12.2}/docs/images/logo.vectornator +0 -0
  55. {starplot-0.12.1 → starplot-0.12.2}/docs/images/logo2.png +0 -0
  56. {starplot-0.12.1 → starplot-0.12.2}/docs/images/logo2.vectornator +0 -0
  57. {starplot-0.12.1 → starplot-0.12.2}/docs/images/logo500.png +0 -0
  58. {starplot-0.12.1 → starplot-0.12.2}/docs/images/mono.png +0 -0
  59. {starplot-0.12.1 → starplot-0.12.2}/docs/images/mono.svg +0 -0
  60. {starplot-0.12.1 → starplot-0.12.2}/docs/images/star.svg +0 -0
  61. {starplot-0.12.1 → starplot-0.12.2}/docs/images/tutorial/.keep +0 -0
  62. {starplot-0.12.1 → starplot-0.12.2}/docs/index.md +0 -0
  63. {starplot-0.12.1 → starplot-0.12.2}/docs/installation.md +0 -0
  64. {starplot-0.12.1 → starplot-0.12.2}/docs/license.md +0 -0
  65. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-callables.md +0 -0
  66. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-data.md +0 -0
  67. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-mapplot.md +0 -0
  68. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-models.md +0 -0
  69. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-ongc.md +0 -0
  70. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-opticplot.md +0 -0
  71. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-selecting-objects.md +0 -0
  72. {starplot-0.12.1 → starplot-0.12.2}/docs/reference-styling.md +0 -0
  73. {starplot-0.12.1 → starplot-0.12.2}/docs/robots.txt +0 -0
  74. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/01.md +0 -0
  75. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/02.md +0 -0
  76. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/03.md +0 -0
  77. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/04.md +0 -0
  78. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/05.md +0 -0
  79. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/06.md +0 -0
  80. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/07.md +0 -0
  81. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial/08.md +0 -0
  82. {starplot-0.12.1 → starplot-0.12.2}/docs/tutorial.md +0 -0
  83. {starplot-0.12.1 → starplot-0.12.2}/examples/examples.py +0 -0
  84. {starplot-0.12.1 → starplot-0.12.2}/examples/map_big.py +0 -0
  85. {starplot-0.12.1 → starplot-0.12.2}/examples/map_big_dipper.py +0 -0
  86. {starplot-0.12.1 → starplot-0.12.2}/examples/map_canis_major.py +0 -0
  87. {starplot-0.12.1 → starplot-0.12.2}/examples/map_comet_neowise.py +0 -0
  88. {starplot-0.12.1 → starplot-0.12.2}/examples/map_milky_way_stars.py +0 -0
  89. {starplot-0.12.1 → starplot-0.12.2}/examples/map_orion.py +0 -0
  90. {starplot-0.12.1 → starplot-0.12.2}/examples/map_orthographic.py +0 -0
  91. {starplot-0.12.1 → starplot-0.12.2}/examples/map_sagittarius.py +0 -0
  92. {starplot-0.12.1 → starplot-0.12.2}/examples/optic_m45.py +0 -0
  93. {starplot-0.12.1 → starplot-0.12.2}/examples/optic_moon_saturn.py +0 -0
  94. {starplot-0.12.1 → starplot-0.12.2}/examples/optic_orion_nebula.py +0 -0
  95. {starplot-0.12.1 → starplot-0.12.2}/examples/optic_solar_eclipse.py +0 -0
  96. {starplot-0.12.1 → starplot-0.12.2}/examples/star_chart_basic.py +0 -0
  97. {starplot-0.12.1 → starplot-0.12.2}/examples/star_chart_detail.py +0 -0
  98. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/__init__.py +0 -0
  99. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/data/.keep +0 -0
  100. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/hashio.py +0 -0
  101. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/optic_checks.py +0 -0
  102. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/template.html +0 -0
  103. {starplot-0.12.1 → starplot-0.12.2}/hash_checks/zenith_checks.py +0 -0
  104. {starplot-0.12.1 → starplot-0.12.2}/mkdocs.yml +0 -0
  105. {starplot-0.12.1 → starplot-0.12.2}/pyproject.toml +0 -0
  106. {starplot-0.12.1 → starplot-0.12.2}/requirements-dev.txt +0 -0
  107. {starplot-0.12.1 → starplot-0.12.2}/requirements.txt +0 -0
  108. {starplot-0.12.1 → starplot-0.12.2}/scripts/constellation_hips.py +0 -0
  109. {starplot-0.12.1 → starplot-0.12.2}/scripts/download_cons.py +0 -0
  110. {starplot-0.12.1 → starplot-0.12.2}/scripts/ecliptic.py +0 -0
  111. {starplot-0.12.1 → starplot-0.12.2}/scripts/gallery.py +0 -0
  112. {starplot-0.12.1 → starplot-0.12.2}/scripts/geopack.py +0 -0
  113. {starplot-0.12.1 → starplot-0.12.2}/scripts/gpack_constellations.py +0 -0
  114. {starplot-0.12.1 → starplot-0.12.2}/scripts/hip.py +0 -0
  115. {starplot-0.12.1 → starplot-0.12.2}/scripts/hip_parquet.py +0 -0
  116. {starplot-0.12.1 → starplot-0.12.2}/scripts/ipy.py +0 -0
  117. {starplot-0.12.1 → starplot-0.12.2}/scripts/moonphases.py +0 -0
  118. {starplot-0.12.1 → starplot-0.12.2}/scripts/ongc_docdata.py +0 -0
  119. {starplot-0.12.1 → starplot-0.12.2}/scripts/ongc_geopack.py +0 -0
  120. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/callables.py +0 -0
  121. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/__init__.py +0 -0
  122. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/bayer.py +0 -0
  123. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/bigsky.py +0 -0
  124. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/constellations.py +0 -0
  125. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/dsos.py +0 -0
  126. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/ecliptic.py +0 -0
  127. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/constellation_borders_inv.gpkg +0 -0
  128. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/constellation_lines_hips.json +0 -0
  129. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/constellation_lines_inv.gpkg +0 -0
  130. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/constellations.gpkg +0 -0
  131. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/constellations_hip.fab +0 -0
  132. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/de421_2001.bsp +0 -0
  133. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/milkyway.gpkg +0 -0
  134. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/milkyway_inv.gpkg +0 -0
  135. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/ongc.gpkg.zip +0 -0
  136. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/stars.bigsky.mag11.parquet +0 -0
  137. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/library/stars.hipparcos.parquet +0 -0
  138. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/messier.py +0 -0
  139. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/prep/__init__.py +0 -0
  140. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/prep/constellations.py +0 -0
  141. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/prep/dsos.py +0 -0
  142. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/prep/utils.py +0 -0
  143. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/stars.py +0 -0
  144. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/data/utils.py +0 -0
  145. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/geod.py +0 -0
  146. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/map.py +0 -0
  147. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/mixins.py +0 -0
  148. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/__init__.py +0 -0
  149. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/base.py +0 -0
  150. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/constellation.py +0 -0
  151. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/dso.py +0 -0
  152. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/geometry.py +0 -0
  153. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/moon.py +0 -0
  154. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/objects.py +0 -0
  155. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/planet.py +0 -0
  156. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/star.py +0 -0
  157. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/models/sun.py +0 -0
  158. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/optic.py +0 -0
  159. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/optics.py +0 -0
  160. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/plotters/__init__.py +0 -0
  161. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/plotters/dsos.py +0 -0
  162. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/plotters/stars.py +0 -0
  163. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/projections.py +0 -0
  164. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/__init__.py +0 -0
  165. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/antique.yml +0 -0
  166. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/blue_dark.yml +0 -0
  167. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/blue_light.yml +0 -0
  168. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/blue_medium.yml +0 -0
  169. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/cb_wong.yml +0 -0
  170. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/color_print.yml +0 -0
  171. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/grayscale.yml +0 -0
  172. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/grayscale_dark.yml +0 -0
  173. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/map.yml +0 -0
  174. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/nord.yml +0 -0
  175. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/ext/optic.yml +0 -0
  176. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/extensions.py +0 -0
  177. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/helpers.py +0 -0
  178. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/styles/markers.py +0 -0
  179. {starplot-0.12.1 → starplot-0.12.2}/src/starplot/utils.py +0 -0
  180. {starplot-0.12.1 → starplot-0.12.2}/tests/__init__.py +0 -0
  181. {starplot-0.12.1 → starplot-0.12.2}/tests/data/.keep +0 -0
  182. {starplot-0.12.1 → starplot-0.12.2}/tests/test_constellations.py +0 -0
  183. {starplot-0.12.1 → starplot-0.12.2}/tests/test_data.py +0 -0
  184. {starplot-0.12.1 → starplot-0.12.2}/tests/test_map.py +0 -0
  185. {starplot-0.12.1 → starplot-0.12.2}/tests/test_models.py +0 -0
  186. {starplot-0.12.1 → starplot-0.12.2}/tests/test_optic.py +0 -0
  187. {starplot-0.12.1 → starplot-0.12.2}/tests/test_stars.py +0 -0
  188. {starplot-0.12.1 → starplot-0.12.2}/tests/test_styles.py +0 -0
  189. {starplot-0.12.1 → starplot-0.12.2}/tests/test_utils.py +0 -0
  190. {starplot-0.12.1 → starplot-0.12.2}/tests/utils.py +0 -0
  191. {starplot-0.12.1 → starplot-0.12.2}/tutorial/build.py +0 -0
  192. {starplot-0.12.1 → starplot-0.12.2}/tutorial/tutorial_02.py +0 -0
  193. {starplot-0.12.1 → starplot-0.12.2}/tutorial/tutorial_03.py +0 -0
  194. {starplot-0.12.1 → starplot-0.12.2}/tutorial/tutorial_04.py +0 -0
  195. {starplot-0.12.1 → starplot-0.12.2}/tutorial/tutorial_05.py +0 -0
  196. {starplot-0.12.1 → starplot-0.12.2}/tutorial/tutorial_06.py +0 -0
  197. {starplot-0.12.1 → starplot-0.12.2}/tutorial/tutorial_07.py +0 -0
  198. {starplot-0.12.1 → starplot-0.12.2}/tutorial/tutorial_08.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: starplot
3
- Version: 0.12.1
3
+ Version: 0.12.2
4
4
  Summary: Star charts and maps
5
5
  Keywords: astronomy,stars,charts,maps,constellations
6
6
  Author-email: Steve Berardi <hello@steveberardi.com>
@@ -9,6 +9,7 @@
9
9
  - Adds colors for some DSO labels that were missing them in some style extensions
10
10
  - Removed the kwarg `types` from `dsos`, so ALL DSO types are plotted by default
11
11
  - [**v0.12.1**] Fixes issue with plotting the Milky Way when it consists of multiple polygons
12
+ - [**v0.12.2**] Allows tuples for line styles on polygons and adds geometry kwarg to polygon function
12
13
 
13
14
  ## v0.11.x
14
15
  [Documentation](https://archives.starplot.dev/0.11.4/)
@@ -5,7 +5,9 @@ title: 9 - Where to Go From Here
5
5
  ---
6
6
  ![Starplot](/images/favicon.svg){ align=right width="180" .off-glb }
7
7
 
8
- **Congratulations on finishing the tutorial!** You're now a certified Level-1 Starplotter 🤩
8
+ **Congratulations on finishing the tutorial!**
9
+
10
+ You're now a certified Level-1 Starplotter 🤩
9
11
 
10
12
  The purpose of the tutorial was just to give you an intro to some of Starplot's features, so there's more to explore by checking out the rest of the documentation. Here are some good places to check out next:
11
13
 
@@ -11,15 +11,15 @@ map_gridlines:
11
11
  filename: /starplot/hash_checks/data/map-gridlines.png
12
12
  phash: f82acf9c3c616392
13
13
  map_label_callables:
14
- dhash: 80948c8c9c8c88a080988c8c9c8c88a0809c8d0d9d9c98a0
14
+ dhash: 80988c0c9c8c88a080988c0c9c8c88a0809a9d1d0d9d9aa0
15
15
  filename: /starplot/hash_checks/data/map-m45-label-callables.png
16
- phash: b26ccd99316664cd
16
+ phash: b238cdc92ce63699
17
17
  map_milky_way_multi_polygon:
18
18
  dhash: 351b89e4243a2604711b88e434322604751b88e424362624
19
19
  filename: /starplot/hash_checks/data/map-milky-way-multi-polygon.png
20
20
  phash: bc8bf89e90ce5a44
21
21
  map_mollweide:
22
- dhash: 0f2933632b3317070f2933632b3317070f295b6323130707
22
+ dhash: 0b2933632b3317070b2933632b3317070f295b6323130707
23
23
  filename: /starplot/hash_checks/data/map-mollweide.png
24
24
  phash: fa9af698c0259566
25
25
  map_moon_phase_waxing_crescent:
@@ -43,9 +43,9 @@ map_plot_limit_by_geometry:
43
43
  filename: /starplot/hash_checks/data/map-limit-by-geometry.png
44
44
  phash: e54d9b926c6d1692
45
45
  map_scope_bino_fov:
46
- dhash: 0bc0808c8c8080802bceb2ac4daa928c2bceb2ac4daa928c
46
+ dhash: 0bc0808c8c8080802bc6b22d4da9928c2bc6b22d4da9928c
47
47
  filename: /starplot/hash_checks/data/map-scope-bino-fov.png
48
- phash: e46b296a6e693964
48
+ phash: e46b296e6e293964
49
49
  map_stereo_base:
50
50
  dhash: 627666f07c3c3436627666f0382c3436727666f2ecc89416
51
51
  filename: /starplot/hash_checks/data/map-stereo-north-base.png
@@ -450,35 +450,36 @@ def check_map_plot_custom_clip_path_virgo():
450
450
 
451
451
 
452
452
  def check_map_label_callables():
453
+ style = STYLE.extend(
454
+ {
455
+ "dso_open_cluster": {
456
+ "label": {
457
+ "font_size": 28,
458
+ "font_weight": "bold",
459
+ "offset_x": 310,
460
+ "offset_y": 240,
461
+ }
462
+ },
463
+ }
464
+ )
453
465
  p = MapPlot(
454
466
  projection=Projection.MILLER,
455
467
  ra_min=3.5,
456
468
  ra_max=4,
457
469
  dec_min=22,
458
470
  dec_max=26,
459
- style=STYLE.extend(
460
- {
461
- "dso_open_cluster": {
462
- "label": {
463
- "font_size": 28,
464
- "font_weight": "bold",
465
- "offset_x": 310,
466
- "offset_y": 240,
467
- }
468
- },
469
- }
470
- ),
471
+ style=style,
471
472
  resolution=2000,
472
473
  )
473
474
  m45 = DSO.get(m="45")
474
475
 
475
- p.open_clusters(
476
- where=[
477
- (DSO.magnitude.is_null()) | (DSO.magnitude < 12),
478
- DSO.geometry.intersects(m45.geometry),
479
- DSO.size > 0.08,
480
- ],
481
- label_fn=lambda d: f"M{d.m}" if d.m else "",
476
+ p.polygon(
477
+ geometry=m45.geometry,
478
+ style__color=None,
479
+ style__fill_color=style.dso_open_cluster.marker.color,
480
+ style__edge_color="#000",
481
+ style__edge_width=4,
482
+ style__line_style=(0, (1.2, 8)),
482
483
  )
483
484
 
484
485
  p.stars(
@@ -1,6 +1,6 @@
1
1
  """Star charts and maps"""
2
2
 
3
- __version__ = "0.12.1"
3
+ __version__ = "0.12.2"
4
4
 
5
5
  from .base import BasePlot # noqa: F401
6
6
  from .map import MapPlot, Projection # noqa: F401
@@ -10,6 +10,7 @@ from matplotlib import patches
10
10
  from matplotlib import pyplot as plt, patheffects
11
11
  from matplotlib.lines import Line2D
12
12
  from pytz import timezone
13
+ from shapely import Polygon
13
14
 
14
15
  from starplot import geod, models
15
16
  from starplot.data import load, ecliptic
@@ -498,13 +499,28 @@ class BasePlot(ABC):
498
499
  self.ax.add_patch(patch)
499
500
 
500
501
  @use_style(PolygonStyle)
501
- def polygon(self, points: list, style: PolygonStyle):
502
- """Plots a polygon of points
502
+ def polygon(
503
+ self,
504
+ style: PolygonStyle,
505
+ points: list = None,
506
+ geometry: Polygon = None,
507
+ ):
508
+ """
509
+ Plots a polygon.
510
+
511
+ Must pass in either `points` **or** `geometry` (but not both).
503
512
 
504
513
  Args:
505
514
  points: List of polygon points `[(ra, dec), ...]` - **must be in counterclockwise order**
515
+ geometry: A shapely Polygon. If this value is passed, then the `points` kwarg will be ignored.
506
516
  style: Style of polygon
507
517
  """
518
+ if points is None and geometry is None:
519
+ raise ValueError("Must pass points or geometry when plotting polygons.")
520
+
521
+ if geometry is not None:
522
+ points = list(zip(*geometry.exterior.coords.xy))
523
+
508
524
  _points = [(ra * 15, dec) for ra, dec in points]
509
525
  self._polygon(_points, style)
510
526
 
@@ -1,7 +1,7 @@
1
1
  import json
2
2
  from enum import Enum
3
3
  from pathlib import Path
4
- from typing import Optional
4
+ from typing import Optional, Union
5
5
  from functools import cache
6
6
 
7
7
  import yaml
@@ -332,8 +332,8 @@ class LineStyle(BaseStyle):
332
332
  color: ColorStr = ColorStr("#000")
333
333
  """Color of the line. Can be a hex, rgb, hsl, or word string."""
334
334
 
335
- style: LineStyleEnum = LineStyleEnum.SOLID
336
- """Style of the line (e.g. solid, dashed, etc)."""
335
+ style: Union[LineStyleEnum, tuple] = LineStyleEnum.SOLID
336
+ """Style of the line (e.g. solid, dashed, etc). Can be a predefined value in `LineStyleEnum` or a [Matplotlib linestyle tuple](https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html)."""
337
337
 
338
338
  dash_capstyle: DashCapStyleEnum = DashCapStyleEnum.PROJECTING
339
339
  """Style of dash endpoints"""
@@ -401,8 +401,8 @@ class PolygonStyle(BaseStyle):
401
401
  fill_color: Optional[ColorStr] = None
402
402
  """Fill color of the polygon"""
403
403
 
404
- line_style: LineStyleEnum = LineStyleEnum.SOLID
405
- """Edge line style"""
404
+ line_style: Union[LineStyleEnum, tuple] = LineStyleEnum.SOLID
405
+ """Edge line style. Can be a predefined value in `LineStyleEnum` or a [Matplotlib linestyle tuple](https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html)."""
406
406
 
407
407
  alpha: float = 1.0
408
408
  """Alpha value (controls transparency)"""
@@ -419,6 +419,7 @@ class PolygonStyle(BaseStyle):
419
419
  linestyle=self.line_style,
420
420
  alpha=self.alpha,
421
421
  zorder=self.zorder,
422
+ capstyle="round",
422
423
  )
423
424
  if self.color:
424
425
  styles["color"] = self.color.as_hex()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes