plotnine 0.15.0.dev3__tar.gz → 0.15.1__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.
Files changed (958) hide show
  1. plotnine-0.15.1/.github/DISCUSSION_TEMPLATE/2025-plotnine-contest.yml +103 -0
  2. plotnine-0.15.1/.github/utils/_repo.py +228 -0
  3. plotnine-0.15.1/.github/utils/please.py +84 -0
  4. plotnine-0.15.1/.github/workflows/documentation.yml +87 -0
  5. plotnine-0.15.1/.github/workflows/release.yml +106 -0
  6. plotnine-0.15.1/.github/workflows/testing.yml +152 -0
  7. plotnine-0.15.1/.github/workflows/weekly.yml +236 -0
  8. plotnine-0.15.1/.gitignore +89 -0
  9. plotnine-0.15.1/.pre-commit-config.yaml +9 -0
  10. plotnine-0.15.1/Makefile +126 -0
  11. plotnine-0.15.1/PKG-INFO +262 -0
  12. plotnine-0.15.1/README.md +173 -0
  13. plotnine-0.15.1/doc/Makefile +77 -0
  14. plotnine-0.15.1/doc/_quartodoc.yml +605 -0
  15. plotnine-0.15.1/doc/_renderer.py +124 -0
  16. plotnine-0.15.1/doc/changelog.qmd +1583 -0
  17. plotnine-0.15.1/doc/plotnine.scss +47 -0
  18. plotnine-0.15.1/plotnine/__init__.py +512 -0
  19. plotnine-0.15.1/plotnine/_mpl/layout_manager/_engine.py +87 -0
  20. plotnine-0.15.1/plotnine/_mpl/layout_manager/_layout_items.py +961 -0
  21. plotnine-0.15.1/plotnine/_mpl/layout_manager/_layout_tree.py +1076 -0
  22. plotnine-0.15.1/plotnine/_mpl/layout_manager/_spaces.py +1224 -0
  23. plotnine-0.15.1/plotnine/_mpl/patches.py +126 -0
  24. plotnine-0.15.1/plotnine/_mpl/text.py +194 -0
  25. plotnine-0.15.1/plotnine/_mpl/utils.py +146 -0
  26. plotnine-0.15.1/plotnine/_utils/__init__.py +1209 -0
  27. plotnine-0.15.1/plotnine/_utils/context.py +144 -0
  28. plotnine-0.15.1/plotnine/_utils/ipython.py +66 -0
  29. plotnine-0.15.1/plotnine/_utils/quarto.py +54 -0
  30. plotnine-0.15.1/plotnine/_utils/yippie.py +115 -0
  31. plotnine-0.15.1/plotnine/composition/__init__.py +11 -0
  32. plotnine-0.15.1/plotnine/composition/_beside.py +55 -0
  33. plotnine-0.15.1/plotnine/composition/_compose.py +471 -0
  34. plotnine-0.15.1/plotnine/composition/_plot_spacer.py +60 -0
  35. plotnine-0.15.1/plotnine/composition/_stack.py +55 -0
  36. plotnine-0.15.1/plotnine/coords/coord.py +250 -0
  37. plotnine-0.15.1/plotnine/data/__init__.py +651 -0
  38. plotnine-0.15.1/plotnine/data/anscombe-quartet.csv +45 -0
  39. plotnine-0.15.1/plotnine/doctools.py +541 -0
  40. plotnine-0.15.1/plotnine/facets/facet.py +623 -0
  41. plotnine-0.15.1/plotnine/facets/strips.py +188 -0
  42. plotnine-0.15.1/plotnine/geoms/annotate.py +150 -0
  43. plotnine-0.15.1/plotnine/geoms/annotation_logticks.py +287 -0
  44. plotnine-0.15.1/plotnine/geoms/annotation_stripes.py +196 -0
  45. plotnine-0.15.1/plotnine/geoms/geom.py +587 -0
  46. plotnine-0.15.1/plotnine/geoms/geom_abline.py +120 -0
  47. plotnine-0.15.1/plotnine/geoms/geom_area.py +42 -0
  48. plotnine-0.15.1/plotnine/geoms/geom_bar.py +68 -0
  49. plotnine-0.15.1/plotnine/geoms/geom_bin_2d.py +29 -0
  50. plotnine-0.15.1/plotnine/geoms/geom_blank.py +44 -0
  51. plotnine-0.15.1/plotnine/geoms/geom_boxplot.py +327 -0
  52. plotnine-0.15.1/plotnine/geoms/geom_col.py +42 -0
  53. plotnine-0.15.1/plotnine/geoms/geom_count.py +25 -0
  54. plotnine-0.15.1/plotnine/geoms/geom_crossbar.py +217 -0
  55. plotnine-0.15.1/plotnine/geoms/geom_density_2d.py +27 -0
  56. plotnine-0.15.1/plotnine/geoms/geom_dotplot.py +266 -0
  57. plotnine-0.15.1/plotnine/geoms/geom_errorbar.py +84 -0
  58. plotnine-0.15.1/plotnine/geoms/geom_errorbarh.py +84 -0
  59. plotnine-0.15.1/plotnine/geoms/geom_histogram.py +21 -0
  60. plotnine-0.15.1/plotnine/geoms/geom_hline.py +98 -0
  61. plotnine-0.15.1/plotnine/geoms/geom_linerange.py +62 -0
  62. plotnine-0.15.1/plotnine/geoms/geom_map.py +309 -0
  63. plotnine-0.15.1/plotnine/geoms/geom_path.py +558 -0
  64. plotnine-0.15.1/plotnine/geoms/geom_point.py +175 -0
  65. plotnine-0.15.1/plotnine/geoms/geom_pointdensity.py +25 -0
  66. plotnine-0.15.1/plotnine/geoms/geom_pointrange.py +101 -0
  67. plotnine-0.15.1/plotnine/geoms/geom_polygon.py +161 -0
  68. plotnine-0.15.1/plotnine/geoms/geom_qq.py +21 -0
  69. plotnine-0.15.1/plotnine/geoms/geom_qq_line.py +25 -0
  70. plotnine-0.15.1/plotnine/geoms/geom_quantile.py +37 -0
  71. plotnine-0.15.1/plotnine/geoms/geom_raster.py +208 -0
  72. plotnine-0.15.1/plotnine/geoms/geom_rect.py +145 -0
  73. plotnine-0.15.1/plotnine/geoms/geom_ribbon.py +198 -0
  74. plotnine-0.15.1/plotnine/geoms/geom_rug.py +127 -0
  75. plotnine-0.15.1/plotnine/geoms/geom_segment.py +104 -0
  76. plotnine-0.15.1/plotnine/geoms/geom_sina.py +34 -0
  77. plotnine-0.15.1/plotnine/geoms/geom_smooth.py +138 -0
  78. plotnine-0.15.1/plotnine/geoms/geom_step.py +87 -0
  79. plotnine-0.15.1/plotnine/geoms/geom_text.py +401 -0
  80. plotnine-0.15.1/plotnine/geoms/geom_violin.py +225 -0
  81. plotnine-0.15.1/plotnine/geoms/geom_vline.py +136 -0
  82. plotnine-0.15.1/plotnine/ggplot.py +805 -0
  83. plotnine-0.15.1/plotnine/guides/guide.py +277 -0
  84. plotnine-0.15.1/plotnine/guides/guide_colorbar.py +546 -0
  85. plotnine-0.15.1/plotnine/guides/guide_legend.py +457 -0
  86. plotnine-0.15.1/plotnine/guides/guides.py +492 -0
  87. plotnine-0.15.1/plotnine/helpers.py +49 -0
  88. plotnine-0.15.1/plotnine/iapi.py +387 -0
  89. plotnine-0.15.1/plotnine/labels.py +153 -0
  90. plotnine-0.15.1/plotnine/layer.py +570 -0
  91. plotnine-0.15.1/plotnine/mapping/_atomic.py +178 -0
  92. plotnine-0.15.1/plotnine/mapping/_env.py +244 -0
  93. plotnine-0.15.1/plotnine/mapping/_eval_environment.py +85 -0
  94. plotnine-0.15.1/plotnine/mapping/aes.py +667 -0
  95. plotnine-0.15.1/plotnine/scales/__init__.py +254 -0
  96. plotnine-0.15.1/plotnine/scales/limits.py +242 -0
  97. plotnine-0.15.1/plotnine/scales/scale.py +315 -0
  98. plotnine-0.15.1/plotnine/scales/scale_color.py +704 -0
  99. plotnine-0.15.1/plotnine/scales/scale_continuous.py +543 -0
  100. plotnine-0.15.1/plotnine/scales/scale_datetime.py +115 -0
  101. plotnine-0.15.1/plotnine/scales/scale_discrete.py +320 -0
  102. plotnine-0.15.1/plotnine/scales/scale_identity.py +123 -0
  103. plotnine-0.15.1/plotnine/scales/scale_manual.py +175 -0
  104. plotnine-0.15.1/plotnine/scales/scale_xy.py +384 -0
  105. plotnine-0.15.1/plotnine/stats/binning.py +350 -0
  106. plotnine-0.15.1/plotnine/stats/smoothers.py +614 -0
  107. plotnine-0.15.1/plotnine/stats/stat.py +412 -0
  108. plotnine-0.15.1/plotnine/stats/stat_bin.py +142 -0
  109. plotnine-0.15.1/plotnine/stats/stat_bin_2d.py +187 -0
  110. plotnine-0.15.1/plotnine/stats/stat_bindot.py +324 -0
  111. plotnine-0.15.1/plotnine/stats/stat_boxplot.py +230 -0
  112. plotnine-0.15.1/plotnine/stats/stat_count.py +78 -0
  113. plotnine-0.15.1/plotnine/stats/stat_density.py +351 -0
  114. plotnine-0.15.1/plotnine/stats/stat_density_2d.py +185 -0
  115. plotnine-0.15.1/plotnine/stats/stat_ecdf.py +69 -0
  116. plotnine-0.15.1/plotnine/stats/stat_ellipse.py +259 -0
  117. plotnine-0.15.1/plotnine/stats/stat_function.py +130 -0
  118. plotnine-0.15.1/plotnine/stats/stat_hull.py +69 -0
  119. plotnine-0.15.1/plotnine/stats/stat_identity.py +24 -0
  120. plotnine-0.15.1/plotnine/stats/stat_pointdensity.py +82 -0
  121. plotnine-0.15.1/plotnine/stats/stat_qq.py +115 -0
  122. plotnine-0.15.1/plotnine/stats/stat_qq_line.py +104 -0
  123. plotnine-0.15.1/plotnine/stats/stat_quantile.py +101 -0
  124. plotnine-0.15.1/plotnine/stats/stat_sina.py +281 -0
  125. plotnine-0.15.1/plotnine/stats/stat_smooth.py +235 -0
  126. plotnine-0.15.1/plotnine/stats/stat_sum.py +67 -0
  127. plotnine-0.15.1/plotnine/stats/stat_summary.py +327 -0
  128. plotnine-0.15.1/plotnine/stats/stat_summary_bin.py +168 -0
  129. plotnine-0.15.1/plotnine/stats/stat_unique.py +24 -0
  130. plotnine-0.15.1/plotnine/stats/stat_ydensity.py +192 -0
  131. plotnine-0.15.1/plotnine/themes/elements/__init__.py +14 -0
  132. plotnine-0.15.1/plotnine/themes/elements/element_line.py +73 -0
  133. plotnine-0.15.1/plotnine/themes/elements/margin.py +167 -0
  134. plotnine-0.15.1/plotnine/themes/theme.py +560 -0
  135. plotnine-0.15.1/plotnine/themes/theme_538.py +32 -0
  136. plotnine-0.15.1/plotnine/themes/theme_bw.py +30 -0
  137. plotnine-0.15.1/plotnine/themes/theme_dark.py +33 -0
  138. plotnine-0.15.1/plotnine/themes/theme_gray.py +150 -0
  139. plotnine-0.15.1/plotnine/themes/theme_light.py +37 -0
  140. plotnine-0.15.1/plotnine/themes/theme_matplotlib.py +130 -0
  141. plotnine-0.15.1/plotnine/themes/theme_seaborn.py +136 -0
  142. plotnine-0.15.1/plotnine/themes/theme_void.py +102 -0
  143. plotnine-0.15.1/plotnine/themes/theme_xkcd.py +68 -0
  144. plotnine-0.15.1/plotnine/themes/themeable.py +2748 -0
  145. plotnine-0.15.1/plotnine/typing.py +155 -0
  146. plotnine-0.15.1/plotnine/watermark.py +72 -0
  147. plotnine-0.15.1/plotnine.egg-info/PKG-INFO +262 -0
  148. plotnine-0.15.1/plotnine.egg-info/SOURCES.txt +677 -0
  149. plotnine-0.15.1/plotnine.egg-info/requires.txt +49 -0
  150. plotnine-0.15.1/pyproject.toml +250 -0
  151. plotnine-0.15.1/requirements/doc.txt +3 -0
  152. plotnine-0.15.1/tests/baseline_images/test_aes/irregular_shapes.png +0 -0
  153. plotnine-0.15.1/tests/baseline_images/test_annotate/annotate_faceting.png +0 -0
  154. plotnine-0.15.1/tests/baseline_images/test_annotation_logticks/annotation_logticks_faceting.png +0 -0
  155. plotnine-0.15.1/tests/baseline_images/test_annotation_stripes/annotation_stripes_faceting.png +0 -0
  156. plotnine-0.15.1/tests/baseline_images/test_coords/coord_fixed.png +0 -0
  157. plotnine-0.15.1/tests/baseline_images/test_coords/coord_flip.png +0 -0
  158. plotnine-0.15.1/tests/baseline_images/test_coords/coord_trans.png +0 -0
  159. plotnine-0.15.1/tests/baseline_images/test_coords/coord_trans_reverse.png +0 -0
  160. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/aslabeller_dict_0tag.png +0 -0
  161. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/aslabeller_func_hashtagit.png +0 -0
  162. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/label_both.png +0 -0
  163. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/label_context.png +0 -0
  164. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/label_context_wrap2vars.png +0 -0
  165. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/label_value.png +0 -0
  166. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/labeller_cols_both_grid.png +0 -0
  167. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/labeller_cols_both_wrap.png +0 -0
  168. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/labeller_towords.png +0 -0
  169. plotnine-0.15.1/tests/baseline_images/test_facet_labelling/uneven_num_of_lines.png +0 -0
  170. plotnine-0.15.1/tests/baseline_images/test_facets/array_mapping_and_evaluation.png +0 -0
  171. plotnine-0.15.1/tests/baseline_images/test_facets/dir_v_ncol.png +0 -0
  172. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_drop_false.png +0 -0
  173. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_expression.png +0 -0
  174. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_formula_only_cols.png +0 -0
  175. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_formula_only_rows.png +0 -0
  176. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_margins.png +0 -0
  177. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_one_by_one_var.png +0 -0
  178. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_scales_free_x.png +0 -0
  179. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_scales_free_y.png +0 -0
  180. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_space_free.png +0 -0
  181. plotnine-0.15.1/tests/baseline_images/test_facets/facet_grid_space_ratios.png +0 -0
  182. plotnine-0.15.1/tests/baseline_images/test_facets/facet_wrap_direction_v.png +0 -0
  183. plotnine-0.15.1/tests/baseline_images/test_facets/facet_wrap_expression.png +0 -0
  184. plotnine-0.15.1/tests/baseline_images/test_facets/facet_wrap_label_both.png +0 -0
  185. plotnine-0.15.1/tests/baseline_images/test_facets/facet_wrap_not_as_table.png +0 -0
  186. plotnine-0.15.1/tests/baseline_images/test_facets/facet_wrap_not_as_table_direction_v.png +0 -0
  187. plotnine-0.15.1/tests/baseline_images/test_facets/facet_wrap_one_var.png +0 -0
  188. plotnine-0.15.1/tests/baseline_images/test_facets/facet_wrap_two_vars.png +0 -0
  189. plotnine-0.15.1/tests/baseline_images/test_facets/manual_mapping_with_lists.png +0 -0
  190. plotnine-0.15.1/tests/baseline_images/test_facets/non_mapped_facetting.png +0 -0
  191. plotnine-0.15.1/tests/baseline_images/test_facets/variable_and_annotate.png +0 -0
  192. plotnine-0.15.1/tests/baseline_images/test_geom_abline/aesthetics.png +0 -0
  193. plotnine-0.15.1/tests/baseline_images/test_geom_bar_col_histogram/bar-count.png +0 -0
  194. plotnine-0.15.1/tests/baseline_images/test_geom_bar_col_histogram/col.png +0 -0
  195. plotnine-0.15.1/tests/baseline_images/test_geom_bar_col_histogram/histogram-count.png +0 -0
  196. plotnine-0.15.1/tests/baseline_images/test_geom_bar_col_histogram/histogram_weights.png +0 -0
  197. plotnine-0.15.1/tests/baseline_images/test_geom_bar_col_histogram/stat-count-float.png +0 -0
  198. plotnine-0.15.1/tests/baseline_images/test_geom_bar_col_histogram/stat-count-int.png +0 -0
  199. plotnine-0.15.1/tests/baseline_images/test_geom_boxplot/aesthetics+coord_flip.png +0 -0
  200. plotnine-0.15.1/tests/baseline_images/test_geom_boxplot/aesthetics.png +0 -0
  201. plotnine-0.15.1/tests/baseline_images/test_geom_boxplot/params.png +0 -0
  202. plotnine-0.15.1/tests/baseline_images/test_geom_crossbar/aesthetics.png +0 -0
  203. plotnine-0.15.1/tests/baseline_images/test_geom_density/few_datapoints.png +0 -0
  204. plotnine-0.15.1/tests/baseline_images/test_geom_density/gaussian-trimmed.png +0 -0
  205. plotnine-0.15.1/tests/baseline_images/test_geom_density/gaussian.png +0 -0
  206. plotnine-0.15.1/tests/baseline_images/test_geom_density/gaussian_weighted.png +0 -0
  207. plotnine-0.15.1/tests/baseline_images/test_geom_density/triangular.png +0 -0
  208. plotnine-0.15.1/tests/baseline_images/test_geom_dotplot/group_basic.png +0 -0
  209. plotnine-0.15.1/tests/baseline_images/test_geom_dotplot/group_stackgroups.png +0 -0
  210. plotnine-0.15.1/tests/baseline_images/test_geom_dotplot/group_stackgroups_binaxis_y.png +0 -0
  211. plotnine-0.15.1/tests/baseline_images/test_geom_errorbar_errorbarh/errorbarh_aesthetics.png +0 -0
  212. plotnine-0.15.1/tests/baseline_images/test_geom_freqpoly/midpoint.png +0 -0
  213. plotnine-0.15.1/tests/baseline_images/test_geom_hline/aesthetics.png +0 -0
  214. plotnine-0.15.1/tests/baseline_images/test_geom_map/facet_wrap.png +0 -0
  215. plotnine-0.15.1/tests/baseline_images/test_geom_path_line_step/arrow_facets.png +0 -0
  216. plotnine-0.15.1/tests/baseline_images/test_geom_point/aesthetics.png +0 -0
  217. plotnine-0.15.1/tests/baseline_images/test_geom_point/color_only_mapping.png +0 -0
  218. plotnine-0.15.1/tests/baseline_images/test_geom_polygon/aesthetics.png +0 -0
  219. plotnine-0.15.1/tests/baseline_images/test_geom_rect_tile/coord-trans-groups.png +0 -0
  220. plotnine-0.15.1/tests/baseline_images/test_geom_rect_tile/rect-aesthetics.png +0 -0
  221. plotnine-0.15.1/tests/baseline_images/test_geom_rect_tile/tile-aesthetics.png +0 -0
  222. plotnine-0.15.1/tests/baseline_images/test_geom_ribbon_area/area_aesthetics.png +0 -0
  223. plotnine-0.15.1/tests/baseline_images/test_geom_ribbon_area/ribbon_aesthetics.png +0 -0
  224. plotnine-0.15.1/tests/baseline_images/test_geom_ribbon_area/ribbon_facetting.png +0 -0
  225. plotnine-0.15.1/tests/baseline_images/test_geom_segment/aesthetics.png +0 -0
  226. plotnine-0.15.1/tests/baseline_images/test_geom_smooth/legend_fill_ratio.png +0 -0
  227. plotnine-0.15.1/tests/baseline_images/test_geom_spoke/aesthetics.png +0 -0
  228. plotnine-0.15.1/tests/baseline_images/test_geom_text_label/label_aesthetics.png +0 -0
  229. plotnine-0.15.1/tests/baseline_images/test_geom_text_label/text_aesthetics.png +0 -0
  230. plotnine-0.15.1/tests/baseline_images/test_geom_violin/aesthetics+coord_flip.png +0 -0
  231. plotnine-0.15.1/tests/baseline_images/test_geom_violin/aesthetics.png +0 -0
  232. plotnine-0.15.1/tests/baseline_images/test_geom_violin/overlap.png +0 -0
  233. plotnine-0.15.1/tests/baseline_images/test_geom_violin/quantiles_width_dodge.png +0 -0
  234. plotnine-0.15.1/tests/baseline_images/test_geom_violin/scales_free.png +0 -0
  235. plotnine-0.15.1/tests/baseline_images/test_geom_vline/aesthetics.png +0 -0
  236. plotnine-0.15.1/tests/baseline_images/test_guide_internals/guide_legend_after_scale.png +0 -0
  237. plotnine-0.15.1/tests/baseline_images/test_layout/facet_grid.png +0 -0
  238. plotnine-0.15.1/tests/baseline_images/test_layout/facet_wrap.png +0 -0
  239. plotnine-0.15.1/tests/baseline_images/test_layout/facet_wrap_scales_free.png +0 -0
  240. plotnine-0.15.1/tests/baseline_images/test_plot_composition/and_operator.png +0 -0
  241. plotnine-0.15.1/tests/baseline_images/test_plot_composition/basic_horizontal_align_resize.png +0 -0
  242. plotnine-0.15.1/tests/baseline_images/test_plot_composition/basic_vertical_align_resize.png +0 -0
  243. plotnine-0.15.1/tests/baseline_images/test_plot_composition/complex_composition.png +0 -0
  244. plotnine-0.15.1/tests/baseline_images/test_plot_composition/facets.png +0 -0
  245. plotnine-0.15.1/tests/baseline_images/test_plot_composition/horizontal_tag_align.png +0 -0
  246. plotnine-0.15.1/tests/baseline_images/test_plot_composition/minus.png +0 -0
  247. plotnine-0.15.1/tests/baseline_images/test_plot_composition/mul_operator.png +0 -0
  248. plotnine-0.15.1/tests/baseline_images/test_plot_composition/nested_horizontal_align_resize.png +0 -0
  249. plotnine-0.15.1/tests/baseline_images/test_plot_composition/nested_vertical_align_resize.png +0 -0
  250. plotnine-0.15.1/tests/baseline_images/test_plot_composition/plus_operator.png +0 -0
  251. plotnine-0.15.1/tests/baseline_images/test_plot_composition/test_nested_horizontal_align_1.png +0 -0
  252. plotnine-0.15.1/tests/baseline_images/test_plot_composition/test_nested_horizontal_align_2.png +0 -0
  253. plotnine-0.15.1/tests/baseline_images/test_plot_composition/test_nested_vertical_align_1.png +0 -0
  254. plotnine-0.15.1/tests/baseline_images/test_plot_composition/test_nested_vertical_align_2.png +0 -0
  255. plotnine-0.15.1/tests/baseline_images/test_plot_composition/vertical_tag_align.png +0 -0
  256. plotnine-0.15.1/tests/baseline_images/test_position/dodge.png +0 -0
  257. plotnine-0.15.1/tests/baseline_images/test_position/dodge2.png +0 -0
  258. plotnine-0.15.1/tests/baseline_images/test_position/dodge2_varwidth.png +0 -0
  259. plotnine-0.15.1/tests/baseline_images/test_position/dodge_preserve_single.png +0 -0
  260. plotnine-0.15.1/tests/baseline_images/test_position/dodge_preserve_single_text.png +0 -0
  261. plotnine-0.15.1/tests/baseline_images/test_position/fill.png +0 -0
  262. plotnine-0.15.1/tests/baseline_images/test_position/jitterdodge.png +0 -0
  263. plotnine-0.15.1/tests/baseline_images/test_position/stack-negative.png +0 -0
  264. plotnine-0.15.1/tests/baseline_images/test_position/stack-non-linear-scale.png +0 -0
  265. plotnine-0.15.1/tests/baseline_images/test_position/stack.png +0 -0
  266. plotnine-0.15.1/tests/baseline_images/test_scale_internals/datetime_scale_expansion.png +0 -0
  267. plotnine-0.15.1/tests/baseline_images/test_scale_internals/discrete_xy_scale_drop_limits.png +0 -0
  268. plotnine-0.15.1/tests/baseline_images/test_scale_internals/legend_ordering_added_scales.png +0 -0
  269. plotnine-0.15.1/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_1.png +0 -0
  270. plotnine-0.15.1/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_2.png +0 -0
  271. plotnine-0.15.1/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_1.png +0 -0
  272. plotnine-0.15.1/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_2.png +0 -0
  273. plotnine-0.15.1/tests/baseline_images/test_scale_internals/legend_ordering_mixed_scope_aesthetics.png +0 -0
  274. plotnine-0.15.1/tests/baseline_images/test_scale_internals/missing_data_discrete_position_scale.png +0 -0
  275. plotnine-0.15.1/tests/baseline_images/test_scale_internals/missing_data_discrete_scale.png +0 -0
  276. plotnine-0.15.1/tests/baseline_images/test_scale_internals/transform_datetime_aes_param.png +0 -0
  277. plotnine-0.15.1/tests/baseline_images/test_scale_labelling/caption_complex.png +0 -0
  278. plotnine-0.15.1/tests/baseline_images/test_stat_hull/hull.png +0 -0
  279. plotnine-0.15.1/tests/baseline_images/test_theme/element_text_with_sequence_values.png +0 -0
  280. plotnine-0.15.1/tests/baseline_images/test_theme/override_axis_text.png +0 -0
  281. plotnine-0.15.1/tests/baseline_images/test_theme/theme_538.png +0 -0
  282. plotnine-0.15.1/tests/baseline_images/test_theme/theme_bw.png +0 -0
  283. plotnine-0.15.1/tests/baseline_images/test_theme/theme_classic.png +0 -0
  284. plotnine-0.15.1/tests/baseline_images/test_theme/theme_dark.png +0 -0
  285. plotnine-0.15.1/tests/baseline_images/test_theme/theme_gray.png +0 -0
  286. plotnine-0.15.1/tests/baseline_images/test_theme/theme_light.png +0 -0
  287. plotnine-0.15.1/tests/baseline_images/test_theme/theme_linedraw.png +0 -0
  288. plotnine-0.15.1/tests/baseline_images/test_theme/theme_matplotlib.png +0 -0
  289. plotnine-0.15.1/tests/baseline_images/test_theme/theme_minimal.png +0 -0
  290. plotnine-0.15.1/tests/baseline_images/test_theme/theme_seaborn.png +0 -0
  291. plotnine-0.15.1/tests/baseline_images/test_theme/theme_tufte.png +0 -0
  292. plotnine-0.15.1/tests/baseline_images/test_theme/theme_void.png +0 -0
  293. plotnine-0.15.1/tests/baseline_images/test_theme/theme_xkcd.png +0 -0
  294. plotnine-0.15.1/tests/baseline_images/test_theme/theme_xkcd_ci.png +0 -0
  295. plotnine-0.15.1/tests/conftest.py +282 -0
  296. plotnine-0.15.1/tests/test_aes.py +136 -0
  297. plotnine-0.15.1/tests/test_annotate.py +75 -0
  298. plotnine-0.15.1/tests/test_geom_bar_col_histogram.py +113 -0
  299. plotnine-0.15.1/tests/test_geom_dotplot.py +87 -0
  300. plotnine-0.15.1/tests/test_geom_quantile.py +35 -0
  301. plotnine-0.15.1/tests/test_ggplot_internals.py +405 -0
  302. plotnine-0.15.1/tests/test_helpers.py +40 -0
  303. plotnine-0.15.1/tests/test_layers.py +133 -0
  304. plotnine-0.15.1/tests/test_plot_composition.py +153 -0
  305. plotnine-0.15.1/tests/test_scale_internals.py +914 -0
  306. plotnine-0.15.1/tests/test_stat.py +86 -0
  307. plotnine-0.15.1/tests/test_theme.py +296 -0
  308. plotnine-0.15.1/tools/release-checklist-tpl.md +121 -0
  309. plotnine-0.15.0.dev3/.github/utils/_repo.py +0 -219
  310. plotnine-0.15.0.dev3/.github/utils/please.py +0 -55
  311. plotnine-0.15.0.dev3/.github/workflows/documentation.yml +0 -105
  312. plotnine-0.15.0.dev3/.github/workflows/release.yml +0 -123
  313. plotnine-0.15.0.dev3/.github/workflows/testing.yml +0 -185
  314. plotnine-0.15.0.dev3/.github/workflows/weekly.yml +0 -295
  315. plotnine-0.15.0.dev3/.gitignore +0 -87
  316. plotnine-0.15.0.dev3/.pre-commit-config.yaml +0 -9
  317. plotnine-0.15.0.dev3/Makefile +0 -102
  318. plotnine-0.15.0.dev3/PKG-INFO +0 -255
  319. plotnine-0.15.0.dev3/README.md +0 -168
  320. plotnine-0.15.0.dev3/doc/Makefile +0 -71
  321. plotnine-0.15.0.dev3/doc/_quartodoc.yml +0 -586
  322. plotnine-0.15.0.dev3/doc/_renderer.py +0 -70
  323. plotnine-0.15.0.dev3/doc/changelog.qmd +0 -1479
  324. plotnine-0.15.0.dev3/doc/plotnine.scss +0 -41
  325. plotnine-0.15.0.dev3/plotnine/__init__.py +0 -510
  326. plotnine-0.15.0.dev3/plotnine/_mpl/layout_manager/_engine.py +0 -87
  327. plotnine-0.15.0.dev3/plotnine/_mpl/layout_manager/_layout_items.py +0 -876
  328. plotnine-0.15.0.dev3/plotnine/_mpl/layout_manager/_layout_tree.py +0 -678
  329. plotnine-0.15.0.dev3/plotnine/_mpl/layout_manager/_spaces.py +0 -1020
  330. plotnine-0.15.0.dev3/plotnine/_mpl/patches.py +0 -90
  331. plotnine-0.15.0.dev3/plotnine/_mpl/text.py +0 -113
  332. plotnine-0.15.0.dev3/plotnine/_mpl/utils.py +0 -146
  333. plotnine-0.15.0.dev3/plotnine/_utils/__init__.py +0 -1266
  334. plotnine-0.15.0.dev3/plotnine/_utils/context.py +0 -68
  335. plotnine-0.15.0.dev3/plotnine/_utils/ipython.py +0 -82
  336. plotnine-0.15.0.dev3/plotnine/_utils/quarto.py +0 -33
  337. plotnine-0.15.0.dev3/plotnine/coords/coord.py +0 -250
  338. plotnine-0.15.0.dev3/plotnine/data/__init__.py +0 -620
  339. plotnine-0.15.0.dev3/plotnine/doctools.py +0 -541
  340. plotnine-0.15.0.dev3/plotnine/facets/facet.py +0 -623
  341. plotnine-0.15.0.dev3/plotnine/facets/strips.py +0 -199
  342. plotnine-0.15.0.dev3/plotnine/geoms/annotate.py +0 -150
  343. plotnine-0.15.0.dev3/plotnine/geoms/annotation_logticks.py +0 -288
  344. plotnine-0.15.0.dev3/plotnine/geoms/annotation_stripes.py +0 -196
  345. plotnine-0.15.0.dev3/plotnine/geoms/geom.py +0 -554
  346. plotnine-0.15.0.dev3/plotnine/geoms/geom_abline.py +0 -119
  347. plotnine-0.15.0.dev3/plotnine/geoms/geom_area.py +0 -42
  348. plotnine-0.15.0.dev3/plotnine/geoms/geom_bar.py +0 -67
  349. plotnine-0.15.0.dev3/plotnine/geoms/geom_bin_2d.py +0 -25
  350. plotnine-0.15.0.dev3/plotnine/geoms/geom_blank.py +0 -47
  351. plotnine-0.15.0.dev3/plotnine/geoms/geom_boxplot.py +0 -323
  352. plotnine-0.15.0.dev3/plotnine/geoms/geom_col.py +0 -42
  353. plotnine-0.15.0.dev3/plotnine/geoms/geom_count.py +0 -21
  354. plotnine-0.15.0.dev3/plotnine/geoms/geom_crossbar.py +0 -217
  355. plotnine-0.15.0.dev3/plotnine/geoms/geom_density_2d.py +0 -23
  356. plotnine-0.15.0.dev3/plotnine/geoms/geom_dotplot.py +0 -266
  357. plotnine-0.15.0.dev3/plotnine/geoms/geom_errorbar.py +0 -84
  358. plotnine-0.15.0.dev3/plotnine/geoms/geom_errorbarh.py +0 -84
  359. plotnine-0.15.0.dev3/plotnine/geoms/geom_histogram.py +0 -21
  360. plotnine-0.15.0.dev3/plotnine/geoms/geom_hline.py +0 -97
  361. plotnine-0.15.0.dev3/plotnine/geoms/geom_linerange.py +0 -62
  362. plotnine-0.15.0.dev3/plotnine/geoms/geom_map.py +0 -309
  363. plotnine-0.15.0.dev3/plotnine/geoms/geom_path.py +0 -559
  364. plotnine-0.15.0.dev3/plotnine/geoms/geom_point.py +0 -176
  365. plotnine-0.15.0.dev3/plotnine/geoms/geom_pointdensity.py +0 -21
  366. plotnine-0.15.0.dev3/plotnine/geoms/geom_pointrange.py +0 -103
  367. plotnine-0.15.0.dev3/plotnine/geoms/geom_polygon.py +0 -162
  368. plotnine-0.15.0.dev3/plotnine/geoms/geom_qq.py +0 -17
  369. plotnine-0.15.0.dev3/plotnine/geoms/geom_qq_line.py +0 -21
  370. plotnine-0.15.0.dev3/plotnine/geoms/geom_quantile.py +0 -33
  371. plotnine-0.15.0.dev3/plotnine/geoms/geom_raster.py +0 -209
  372. plotnine-0.15.0.dev3/plotnine/geoms/geom_rect.py +0 -146
  373. plotnine-0.15.0.dev3/plotnine/geoms/geom_ribbon.py +0 -198
  374. plotnine-0.15.0.dev3/plotnine/geoms/geom_rug.py +0 -127
  375. plotnine-0.15.0.dev3/plotnine/geoms/geom_segment.py +0 -104
  376. plotnine-0.15.0.dev3/plotnine/geoms/geom_sina.py +0 -34
  377. plotnine-0.15.0.dev3/plotnine/geoms/geom_smooth.py +0 -134
  378. plotnine-0.15.0.dev3/plotnine/geoms/geom_step.py +0 -87
  379. plotnine-0.15.0.dev3/plotnine/geoms/geom_text.py +0 -402
  380. plotnine-0.15.0.dev3/plotnine/geoms/geom_violin.py +0 -222
  381. plotnine-0.15.0.dev3/plotnine/geoms/geom_vline.py +0 -135
  382. plotnine-0.15.0.dev3/plotnine/ggplot.py +0 -826
  383. plotnine-0.15.0.dev3/plotnine/guides/guide.py +0 -280
  384. plotnine-0.15.0.dev3/plotnine/guides/guide_colorbar.py +0 -546
  385. plotnine-0.15.0.dev3/plotnine/guides/guide_legend.py +0 -457
  386. plotnine-0.15.0.dev3/plotnine/guides/guides.py +0 -492
  387. plotnine-0.15.0.dev3/plotnine/iapi.py +0 -364
  388. plotnine-0.15.0.dev3/plotnine/labels.py +0 -153
  389. plotnine-0.15.0.dev3/plotnine/layer.py +0 -553
  390. plotnine-0.15.0.dev3/plotnine/mapping/_env.py +0 -233
  391. plotnine-0.15.0.dev3/plotnine/mapping/_eval_environment.py +0 -85
  392. plotnine-0.15.0.dev3/plotnine/mapping/aes.py +0 -631
  393. plotnine-0.15.0.dev3/plotnine/plot_composition/__init__.py +0 -10
  394. plotnine-0.15.0.dev3/plotnine/plot_composition/_compose.py +0 -436
  395. plotnine-0.15.0.dev3/plotnine/plot_composition/_spacer.py +0 -32
  396. plotnine-0.15.0.dev3/plotnine/scales/__init__.py +0 -252
  397. plotnine-0.15.0.dev3/plotnine/scales/limits.py +0 -242
  398. plotnine-0.15.0.dev3/plotnine/scales/scale.py +0 -315
  399. plotnine-0.15.0.dev3/plotnine/scales/scale_color.py +0 -640
  400. plotnine-0.15.0.dev3/plotnine/scales/scale_continuous.py +0 -541
  401. plotnine-0.15.0.dev3/plotnine/scales/scale_datetime.py +0 -101
  402. plotnine-0.15.0.dev3/plotnine/scales/scale_discrete.py +0 -320
  403. plotnine-0.15.0.dev3/plotnine/scales/scale_identity.py +0 -104
  404. plotnine-0.15.0.dev3/plotnine/scales/scale_manual.py +0 -169
  405. plotnine-0.15.0.dev3/plotnine/scales/scale_xy.py +0 -384
  406. plotnine-0.15.0.dev3/plotnine/stats/binning.py +0 -347
  407. plotnine-0.15.0.dev3/plotnine/stats/smoothers.py +0 -627
  408. plotnine-0.15.0.dev3/plotnine/stats/stat.py +0 -424
  409. plotnine-0.15.0.dev3/plotnine/stats/stat_bin.py +0 -141
  410. plotnine-0.15.0.dev3/plotnine/stats/stat_bin_2d.py +0 -185
  411. plotnine-0.15.0.dev3/plotnine/stats/stat_bindot.py +0 -327
  412. plotnine-0.15.0.dev3/plotnine/stats/stat_boxplot.py +0 -230
  413. plotnine-0.15.0.dev3/plotnine/stats/stat_count.py +0 -81
  414. plotnine-0.15.0.dev3/plotnine/stats/stat_density.py +0 -354
  415. plotnine-0.15.0.dev3/plotnine/stats/stat_density_2d.py +0 -181
  416. plotnine-0.15.0.dev3/plotnine/stats/stat_ecdf.py +0 -68
  417. plotnine-0.15.0.dev3/plotnine/stats/stat_ellipse.py +0 -256
  418. plotnine-0.15.0.dev3/plotnine/stats/stat_function.py +0 -128
  419. plotnine-0.15.0.dev3/plotnine/stats/stat_hull.py +0 -66
  420. plotnine-0.15.0.dev3/plotnine/stats/stat_identity.py +0 -21
  421. plotnine-0.15.0.dev3/plotnine/stats/stat_pointdensity.py +0 -84
  422. plotnine-0.15.0.dev3/plotnine/stats/stat_qq.py +0 -89
  423. plotnine-0.15.0.dev3/plotnine/stats/stat_qq_line.py +0 -99
  424. plotnine-0.15.0.dev3/plotnine/stats/stat_quantile.py +0 -95
  425. plotnine-0.15.0.dev3/plotnine/stats/stat_sina.py +0 -283
  426. plotnine-0.15.0.dev3/plotnine/stats/stat_smooth.py +0 -237
  427. plotnine-0.15.0.dev3/plotnine/stats/stat_sum.py +0 -64
  428. plotnine-0.15.0.dev3/plotnine/stats/stat_summary.py +0 -330
  429. plotnine-0.15.0.dev3/plotnine/stats/stat_summary_bin.py +0 -171
  430. plotnine-0.15.0.dev3/plotnine/stats/stat_unique.py +0 -21
  431. plotnine-0.15.0.dev3/plotnine/stats/stat_ydensity.py +0 -195
  432. plotnine-0.15.0.dev3/plotnine/themes/elements/__init__.py +0 -13
  433. plotnine-0.15.0.dev3/plotnine/themes/elements/element_line.py +0 -65
  434. plotnine-0.15.0.dev3/plotnine/themes/elements/margin.py +0 -104
  435. plotnine-0.15.0.dev3/plotnine/themes/theme.py +0 -552
  436. plotnine-0.15.0.dev3/plotnine/themes/theme_538.py +0 -33
  437. plotnine-0.15.0.dev3/plotnine/themes/theme_bw.py +0 -31
  438. plotnine-0.15.0.dev3/plotnine/themes/theme_dark.py +0 -34
  439. plotnine-0.15.0.dev3/plotnine/themes/theme_gray.py +0 -149
  440. plotnine-0.15.0.dev3/plotnine/themes/theme_light.py +0 -37
  441. plotnine-0.15.0.dev3/plotnine/themes/theme_matplotlib.py +0 -130
  442. plotnine-0.15.0.dev3/plotnine/themes/theme_seaborn.py +0 -133
  443. plotnine-0.15.0.dev3/plotnine/themes/theme_void.py +0 -101
  444. plotnine-0.15.0.dev3/plotnine/themes/theme_xkcd.py +0 -69
  445. plotnine-0.15.0.dev3/plotnine/themes/themeable.py +0 -2670
  446. plotnine-0.15.0.dev3/plotnine/typing.py +0 -144
  447. plotnine-0.15.0.dev3/plotnine/watermark.py +0 -72
  448. plotnine-0.15.0.dev3/plotnine.egg-info/PKG-INFO +0 -255
  449. plotnine-0.15.0.dev3/plotnine.egg-info/SOURCES.txt +0 -648
  450. plotnine-0.15.0.dev3/plotnine.egg-info/requires.txt +0 -47
  451. plotnine-0.15.0.dev3/pyproject.toml +0 -246
  452. plotnine-0.15.0.dev3/requirements/doc.txt +0 -3
  453. plotnine-0.15.0.dev3/tests/baseline_images/test_annotation_logticks/annotation_logticks_faceting.png +0 -0
  454. plotnine-0.15.0.dev3/tests/baseline_images/test_annotation_stripes/annotation_stripes_faceting.png +0 -0
  455. plotnine-0.15.0.dev3/tests/baseline_images/test_coords/coord_fixed.png +0 -0
  456. plotnine-0.15.0.dev3/tests/baseline_images/test_coords/coord_flip.png +0 -0
  457. plotnine-0.15.0.dev3/tests/baseline_images/test_coords/coord_trans.png +0 -0
  458. plotnine-0.15.0.dev3/tests/baseline_images/test_coords/coord_trans_reverse.png +0 -0
  459. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/aslabeller_dict_0tag.png +0 -0
  460. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/aslabeller_func_hashtagit.png +0 -0
  461. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/label_both.png +0 -0
  462. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/label_context.png +0 -0
  463. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/label_context_wrap2vars.png +0 -0
  464. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/label_value.png +0 -0
  465. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/labeller_cols_both_grid.png +0 -0
  466. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/labeller_cols_both_wrap.png +0 -0
  467. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/labeller_towords.png +0 -0
  468. plotnine-0.15.0.dev3/tests/baseline_images/test_facet_labelling/uneven_num_of_lines.png +0 -0
  469. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/array_mapping_and_evaluation.png +0 -0
  470. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/dir_v_ncol.png +0 -0
  471. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_drop_false.png +0 -0
  472. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_expression.png +0 -0
  473. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_formula_only_cols.png +0 -0
  474. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_formula_only_rows.png +0 -0
  475. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_margins.png +0 -0
  476. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_one_by_one_var.png +0 -0
  477. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_scales_free_x.png +0 -0
  478. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_scales_free_y.png +0 -0
  479. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_space_free.png +0 -0
  480. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_grid_space_ratios.png +0 -0
  481. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_wrap_direction_v.png +0 -0
  482. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_wrap_expression.png +0 -0
  483. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_wrap_label_both.png +0 -0
  484. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_wrap_not_as_table.png +0 -0
  485. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_wrap_not_as_table_direction_v.png +0 -0
  486. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_wrap_one_var.png +0 -0
  487. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/facet_wrap_two_vars.png +0 -0
  488. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/manual_mapping_with_lists.png +0 -0
  489. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/non_mapped_facetting.png +0 -0
  490. plotnine-0.15.0.dev3/tests/baseline_images/test_facets/variable_and_annotate.png +0 -0
  491. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_abline/aesthetics.png +0 -0
  492. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_bar_col_histogram/bar-count.png +0 -0
  493. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_bar_col_histogram/col.png +0 -0
  494. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_bar_col_histogram/histogram-count.png +0 -0
  495. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_bar_col_histogram/stat-count-float.png +0 -0
  496. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_bar_col_histogram/stat-count-int.png +0 -0
  497. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_boxplot/aesthetics+coord_flip.png +0 -0
  498. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_boxplot/aesthetics.png +0 -0
  499. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_boxplot/params.png +0 -0
  500. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_crossbar/aesthetics.png +0 -0
  501. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_density/few_datapoints.png +0 -0
  502. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_density/gaussian-trimmed.png +0 -0
  503. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_density/gaussian.png +0 -0
  504. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_density/gaussian_weighted.png +0 -0
  505. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_density/triangular.png +0 -0
  506. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_dotplot/group_basic.png +0 -0
  507. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_dotplot/group_stackgroups.png +0 -0
  508. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_dotplot/group_stackgroups_binaxis_y.png +0 -0
  509. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_errorbar_errorbarh/errorbarh_aesthetics.png +0 -0
  510. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_freqpoly/midpoint.png +0 -0
  511. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_hline/aesthetics.png +0 -0
  512. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_map/facet_wrap.png +0 -0
  513. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_path_line_step/arrow_facets.png +0 -0
  514. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_point/aesthetics.png +0 -0
  515. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_point/color_only_mapping.png +0 -0
  516. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_polygon/aesthetics.png +0 -0
  517. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_rect_tile/coord-trans-groups.png +0 -0
  518. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_rect_tile/rect-aesthetics.png +0 -0
  519. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_rect_tile/tile-aesthetics.png +0 -0
  520. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_ribbon_area/area_aesthetics.png +0 -0
  521. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_ribbon_area/ribbon_aesthetics.png +0 -0
  522. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_ribbon_area/ribbon_facetting.png +0 -0
  523. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_segment/aesthetics.png +0 -0
  524. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_smooth/legend_fill_ratio.png +0 -0
  525. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_spoke/aesthetics.png +0 -0
  526. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_text_label/label_aesthetics.png +0 -0
  527. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_text_label/text_aesthetics.png +0 -0
  528. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_violin/aesthetics+coord_flip.png +0 -0
  529. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_violin/aesthetics.png +0 -0
  530. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_violin/overlap.png +0 -0
  531. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_violin/quantiles_width_dodge.png +0 -0
  532. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_violin/scales_free.png +0 -0
  533. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_vline/aesthetics.png +0 -0
  534. plotnine-0.15.0.dev3/tests/baseline_images/test_guide_internals/guide_legend_after_scale.png +0 -0
  535. plotnine-0.15.0.dev3/tests/baseline_images/test_layout/facet_grid.png +0 -0
  536. plotnine-0.15.0.dev3/tests/baseline_images/test_layout/facet_wrap.png +0 -0
  537. plotnine-0.15.0.dev3/tests/baseline_images/test_layout/facet_wrap_scales_free.png +0 -0
  538. plotnine-0.15.0.dev3/tests/baseline_images/test_position/dodge.png +0 -0
  539. plotnine-0.15.0.dev3/tests/baseline_images/test_position/dodge2.png +0 -0
  540. plotnine-0.15.0.dev3/tests/baseline_images/test_position/dodge2_varwidth.png +0 -0
  541. plotnine-0.15.0.dev3/tests/baseline_images/test_position/dodge_preserve_single.png +0 -0
  542. plotnine-0.15.0.dev3/tests/baseline_images/test_position/dodge_preserve_single_text.png +0 -0
  543. plotnine-0.15.0.dev3/tests/baseline_images/test_position/fill.png +0 -0
  544. plotnine-0.15.0.dev3/tests/baseline_images/test_position/jitterdodge.png +0 -0
  545. plotnine-0.15.0.dev3/tests/baseline_images/test_position/stack-negative.png +0 -0
  546. plotnine-0.15.0.dev3/tests/baseline_images/test_position/stack-non-linear-scale.png +0 -0
  547. plotnine-0.15.0.dev3/tests/baseline_images/test_position/stack.png +0 -0
  548. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/datetime_scale_expansion.png +0 -0
  549. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/discrete_xy_scale_drop_limits.png +0 -0
  550. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/legend_ordering_added_scales.png +0 -0
  551. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_1.png +0 -0
  552. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_2.png +0 -0
  553. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_1.png +0 -0
  554. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_2.png +0 -0
  555. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/legend_ordering_mixed_scope_aesthetics.png +0 -0
  556. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/missing_data_discrete_position_scale.png +0 -0
  557. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/missing_data_discrete_scale.png +0 -0
  558. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_internals/transform_datetime_aes_param.png +0 -0
  559. plotnine-0.15.0.dev3/tests/baseline_images/test_scale_labelling/caption_complex.png +0 -0
  560. plotnine-0.15.0.dev3/tests/baseline_images/test_stat_hull/hull.png +0 -0
  561. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/element_text_with_sequence_values.png +0 -0
  562. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_538.png +0 -0
  563. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_bw.png +0 -0
  564. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_classic.png +0 -0
  565. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_dark.png +0 -0
  566. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_gray.png +0 -0
  567. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_light.png +0 -0
  568. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_linedraw.png +0 -0
  569. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_matplotlib.png +0 -0
  570. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_minimal.png +0 -0
  571. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_seaborn.png +0 -0
  572. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_tufte.png +0 -0
  573. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_void.png +0 -0
  574. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_xkcd.png +0 -0
  575. plotnine-0.15.0.dev3/tests/conftest.py +0 -234
  576. plotnine-0.15.0.dev3/tests/test_aes.py +0 -109
  577. plotnine-0.15.0.dev3/tests/test_annotate.py +0 -48
  578. plotnine-0.15.0.dev3/tests/test_geom_bar_col_histogram.py +0 -101
  579. plotnine-0.15.0.dev3/tests/test_geom_dotplot.py +0 -82
  580. plotnine-0.15.0.dev3/tests/test_geom_quantile.py +0 -24
  581. plotnine-0.15.0.dev3/tests/test_ggplot_internals.py +0 -393
  582. plotnine-0.15.0.dev3/tests/test_layers.py +0 -133
  583. plotnine-0.15.0.dev3/tests/test_scale_internals.py +0 -909
  584. plotnine-0.15.0.dev3/tests/test_stat.py +0 -87
  585. plotnine-0.15.0.dev3/tests/test_theme.py +0 -271
  586. plotnine-0.15.0.dev3/tools/gha_check_semver.py +0 -114
  587. plotnine-0.15.0.dev3/tools/release-checklist-tpl.md +0 -129
  588. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/.gitattributes +0 -0
  589. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/.github/DISCUSSION_TEMPLATE/2024-plotnine-contest.yml +0 -0
  590. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/.readthedocs.yaml +0 -0
  591. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/CITATION.bib +0 -0
  592. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/LICENSE +0 -0
  593. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/code-of-conduct.md +0 -0
  594. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/codecov.yml +0 -0
  595. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/.gitignore +0 -0
  596. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/_config.py +0 -0
  597. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/_quarto.yml +0 -0
  598. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/favicon-16x16.png +0 -0
  599. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/favicon-32x32.png +0 -0
  600. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/logo-512.png +0 -0
  601. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/logo.png +0 -0
  602. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/readme-image-1.png +0 -0
  603. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/readme-image-2.png +0 -0
  604. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/readme-image-3.png +0 -0
  605. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/readme-image-4.png +0 -0
  606. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/readme-image-5.png +0 -0
  607. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/readme-image-5alt.png +0 -0
  608. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/doc/images/readme_images.py +0 -0
  609. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/licences/SEABORN_LICENSE +0 -0
  610. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_mpl/__init__.py +0 -0
  611. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_mpl/gridspec.py +0 -0
  612. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_mpl/layout_manager/__init__.py +0 -0
  613. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_mpl/offsetbox.py +0 -0
  614. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_mpl/ticker.py +0 -0
  615. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_mpl/transforms.py +0 -0
  616. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_utils/dev.py +0 -0
  617. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/_utils/registry.py +0 -0
  618. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/animation.py +0 -0
  619. {plotnine-0.15.0.dev3/plotnine/plot_composition → plotnine-0.15.1/plotnine/composition}/_plotspec.py +0 -0
  620. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/coords/__init__.py +0 -0
  621. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/coords/coord_cartesian.py +0 -0
  622. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/coords/coord_fixed.py +0 -0
  623. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/coords/coord_flip.py +0 -0
  624. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/coords/coord_trans.py +0 -0
  625. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/diamonds.csv +0 -0
  626. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/economics.csv +0 -0
  627. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/economics_long.csv +0 -0
  628. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/faithful.csv +0 -0
  629. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/faithfuld.csv +0 -0
  630. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/huron.csv +0 -0
  631. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/luv_colours.csv +0 -0
  632. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/meat.csv +0 -0
  633. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/midwest.csv +0 -0
  634. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/mpg.csv +0 -0
  635. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/msleep.csv +0 -0
  636. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/mtcars.csv +0 -0
  637. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/pageviews.csv +0 -0
  638. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/penguins.csv +0 -0
  639. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/presidential.csv +0 -0
  640. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/seals.csv +0 -0
  641. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/data/txhousing.csv +0 -0
  642. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/exceptions.py +0 -0
  643. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/facets/__init__.py +0 -0
  644. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/facets/facet_grid.py +0 -0
  645. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/facets/facet_null.py +0 -0
  646. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/facets/facet_wrap.py +0 -0
  647. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/facets/labelling.py +0 -0
  648. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/facets/layout.py +0 -0
  649. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/__init__.py +0 -0
  650. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/geom_density.py +0 -0
  651. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/geom_freqpoly.py +0 -0
  652. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/geom_jitter.py +0 -0
  653. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/geom_label.py +0 -0
  654. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/geom_line.py +0 -0
  655. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/geom_spoke.py +0 -0
  656. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/geoms/geom_tile.py +0 -0
  657. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/guides/__init__.py +0 -0
  658. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/guides/guide_axis.py +0 -0
  659. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/mapping/__init__.py +0 -0
  660. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/mapping/evaluation.py +0 -0
  661. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/options.py +0 -0
  662. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/__init__.py +0 -0
  663. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position.py +0 -0
  664. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_dodge.py +0 -0
  665. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_dodge2.py +0 -0
  666. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_fill.py +0 -0
  667. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_identity.py +0 -0
  668. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_jitter.py +0 -0
  669. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_jitterdodge.py +0 -0
  670. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_nudge.py +0 -0
  671. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/positions/position_stack.py +0 -0
  672. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/py.typed +0 -0
  673. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/qplot.py +0 -0
  674. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/_expand.py +0 -0
  675. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/_runtime_typing.py +0 -0
  676. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/range.py +0 -0
  677. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/scale_alpha.py +0 -0
  678. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/scale_linetype.py +0 -0
  679. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/scale_shape.py +0 -0
  680. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/scale_size.py +0 -0
  681. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/scale_stroke.py +0 -0
  682. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/scales/scales.py +0 -0
  683. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/stats/__init__.py +0 -0
  684. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/stats/density.py +0 -0
  685. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/stats/distributions.py +0 -0
  686. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/__init__.py +0 -0
  687. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/elements/element_base.py +0 -0
  688. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/elements/element_blank.py +0 -0
  689. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/elements/element_rect.py +0 -0
  690. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/elements/element_text.py +0 -0
  691. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/seaborn_rcmod.py +0 -0
  692. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/targets.py +0 -0
  693. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/theme_classic.py +0 -0
  694. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/theme_linedraw.py +0 -0
  695. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/theme_minimal.py +0 -0
  696. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine/themes/theme_tufte.py +0 -0
  697. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine.egg-info/dependency_links.txt +0 -0
  698. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/plotnine.egg-info/top_level.txt +0 -0
  699. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/setup.cfg +0 -0
  700. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_aes/geom_crossbar.png +0 -0
  701. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_aes/reorder.png +0 -0
  702. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_aes/reorder_index.png +0 -0
  703. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_aes/stat_bin_2d.png +0 -0
  704. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_aes/stat_ecdf.png +0 -0
  705. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_aes/test_stat_function.png +0 -0
  706. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotate/multiple_annotation_geoms.png +0 -0
  707. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_logticks/annotation_logticks.png +0 -0
  708. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_logticks/annotation_logticks_base_5.png +0 -0
  709. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_logticks/annotation_logticks_base_8.png +0 -0
  710. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip.png +0 -0
  711. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip_discrete.png +0 -0
  712. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip_discrete_bottom.png +0 -0
  713. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_stripes/annotation_stripes.png +0 -0
  714. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_stripes/annotation_stripes_continuous_scale.png +0 -0
  715. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_stripes/annotation_stripes_coord_flip.png +0 -0
  716. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_direction_extend.png +0 -0
  717. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_range.png +0 -0
  718. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_range_cycle.png +0 -0
  719. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_annotation_stripes/annotation_stripes_single_stripe.png +0 -0
  720. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_coords/coord_trans_backtransform.png +0 -0
  721. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_coords/datetime_scale_limits.png +0 -0
  722. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_abline/aes_inheritance.png +0 -0
  723. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_bar_col_histogram/col_just.png +0 -0
  724. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_bin_2d/drop_false.png +0 -0
  725. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_bin_2d/drop_true.png +0 -0
  726. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_blank/blank.png +0 -0
  727. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_boxplot/no_outliers.png +0 -0
  728. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_boxplot/position_nudge.png +0 -0
  729. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_boxplot/weight.png +0 -0
  730. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_count/continuous_x_y.png +0 -0
  731. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_count/discrete_x.png +0 -0
  732. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_count/discrete_y.png +0 -0
  733. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_density/bounds.png +0 -0
  734. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_density_2d/contours.png +0 -0
  735. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_density_2d/points.png +0 -0
  736. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_density_2d/polygon.png +0 -0
  737. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_dotplot/binaxis_y.png +0 -0
  738. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_dotplot/dotdensity.png +0 -0
  739. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_dotplot/histodot.png +0 -0
  740. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_dotplot/stackdir_center.png +0 -0
  741. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_dotplot/stackdir_centerwhole.png +0 -0
  742. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_dotplot/stackdir_down.png +0 -0
  743. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_dotplot/stackratio.png +0 -0
  744. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_errorbar_errorbarh/errorbar_aesthetics.png +0 -0
  745. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_linerange_pointrange/linerange_aesthetics.png +0 -0
  746. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_linerange_pointrange/pointrange_aesthetics.png +0 -0
  747. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_map/geometries.png +0 -0
  748. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_map/multipoint.png +0 -0
  749. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_map/multipolygon.png +0 -0
  750. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_path_line_step/aesthetics.png +0 -0
  751. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_path_line_step/arrow.png +0 -0
  752. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_path_line_step/missing_values.png +0 -0
  753. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_path_line_step/no_missing_values.png +0 -0
  754. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_path_line_step/path_line_step.png +0 -0
  755. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_path_line_step/step.png +0 -0
  756. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_path_line_step/step_mid.png +0 -0
  757. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_point/custom_shapes.png +0 -0
  758. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_point/legend_transparency.png +0 -0
  759. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_point/no_fill.png +0 -0
  760. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_point/no_mapping.png +0 -0
  761. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_pointdensity/contours.png +0 -0
  762. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_pointdensity/points.png +0 -0
  763. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_polygon/no_fill.png +0 -0
  764. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_qq_qq_line/normal.png +0 -0
  765. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_qq_qq_line/normal_with_line.png +0 -0
  766. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_quantile/lines.png +0 -0
  767. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_raster/gap_no_interpolation.png +0 -0
  768. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_raster/gap_with_interpolation.png +0 -0
  769. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_raster/rectangle.png +0 -0
  770. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_raster/square.png +0 -0
  771. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_rect_tile/coord-trans.png +0 -0
  772. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_rect_tile/infinite-rects.png +0 -0
  773. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_rect_tile/rect-nofill.png +0 -0
  774. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_ribbon_area/ribbon_coord_flip.png +0 -0
  775. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_ribbon_area/ribbon_outline_type.png +0 -0
  776. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_ribbon_area/ribbon_outline_type_coord_flip.png +0 -0
  777. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_ribbon_area/ribbon_where.png +0 -0
  778. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_rug/aesthetics.png +0 -0
  779. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_rug/coord_flip.png +0 -0
  780. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_segment/arrow.png +0 -0
  781. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_sina/method_counts.png +0 -0
  782. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_sina/scale_area+coord_flip.png +0 -0
  783. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_sina/scale_area.png +0 -0
  784. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_sina/scale_count.png +0 -0
  785. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_sina/style.png +0 -0
  786. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/continuous_x.png +0 -0
  787. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/continuous_x_fullrange.png +0 -0
  788. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/coord_trans_se_false.png +0 -0
  789. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/discrete_x.png +0 -0
  790. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/discrete_x_fullrange.png +0 -0
  791. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/glm_formula.png +0 -0
  792. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/gls_formula.png +0 -0
  793. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/init_and_fit_kwargs.png +0 -0
  794. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/linear_smooth.png +0 -0
  795. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/linear_smooth_no_ci.png +0 -0
  796. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/lm_formula.png +0 -0
  797. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/lm_formula_weights.png +0 -0
  798. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/non_linear_smooth.png +0 -0
  799. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/non_linear_smooth_no_ci.png +0 -0
  800. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/rlm_formula.png +0 -0
  801. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_smooth/sorts_by_x.png +0 -0
  802. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_spoke/test_unmapped_angle.png +0 -0
  803. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_text_label/adjust_label.png +0 -0
  804. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_text_label/adjust_text.png +0 -0
  805. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_text_label/adjust_text_default_color.png +0 -0
  806. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_text_label/format_missing_values.png +0 -0
  807. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_violin/no_trim.png +0 -0
  808. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_violin/scale.png +0 -0
  809. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_violin/style.png +0 -0
  810. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_geom_violin/style_alternating.png +0 -0
  811. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_ggplot_internals/after_scale_mapping.png +0 -0
  812. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_ggplot_internals/to_pandas.png +0 -0
  813. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layers/inserting_layers.png +0 -0
  814. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/axis_text_justification.png +0 -0
  815. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/axis_title_x_justification.png +0 -0
  816. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/axis_title_y_justification.png +0 -0
  817. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/colorbar_frame.png +0 -0
  818. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/default.png +0 -0
  819. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/default_tag_location.png +0 -0
  820. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/different_colorbar_themes.png +0 -0
  821. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/inside_legend_90pct_top_right.png +0 -0
  822. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/inside_legend_left.png +0 -0
  823. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/inside_legend_top.png +0 -0
  824. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/inside_legend_top_right.png +0 -0
  825. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/justification_with_blank_title_and_text.png +0 -0
  826. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/legend_at_the_bottom.png +0 -0
  827. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/legend_at_top.png +0 -0
  828. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/legend_on_the_left.png +0 -0
  829. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/legends_in_different_positions.png +0 -0
  830. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/margin_bottom.png +0 -0
  831. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/outside_legend_bottom_left.png +0 -0
  832. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/outside_legend_left_top.png +0 -0
  833. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/outside_legend_right_bottom.png +0 -0
  834. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/outside_legend_top_right.png +0 -0
  835. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/panel_bottomleft.png +0 -0
  836. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/panel_topleft_margin_in_fig.png +0 -0
  837. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/panel_topleft_margin_in_pt.png +0 -0
  838. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/panel_topleft_margin_in_pt_ar1.png +0 -0
  839. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/panel_xycoords.png +0 -0
  840. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_margin_aspect_ratio.png +0 -0
  841. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_margin_protruding_axis_text.png +0 -0
  842. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_title_justification.png +0 -0
  843. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_titles_and_caption_positioning.png +0 -0
  844. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_topright.png +0 -0
  845. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_topright_margin_in_fig.png +0 -0
  846. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_topright_margin_in_pt.png +0 -0
  847. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/plot_xycoords.png +0 -0
  848. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_layout/turn_off_guide.png +0 -0
  849. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_position/dodge2_preserve_single_interval.png +0 -0
  850. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_position/dodge_segment.png +0 -0
  851. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_position/jitter.png +0 -0
  852. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_position/nudge.png +0 -0
  853. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/arrays.png +0 -0
  854. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/multiple_geoms.png +0 -0
  855. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/onlyx.png +0 -0
  856. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/onlyy.png +0 -0
  857. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/range.png +0 -0
  858. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/sample.png +0 -0
  859. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/scalars.png +0 -0
  860. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/series_labelling.png +0 -0
  861. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/string-arrays.png +0 -0
  862. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/xlim.png +0 -0
  863. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_qplot/ylim.png +0 -0
  864. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/bool_mapping.png +0 -0
  865. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/breaks_and_labels_outside_of_limits.png +0 -0
  866. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/datetime_scale_limits.png +0 -0
  867. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/expand_limits.png +0 -0
  868. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/missing_manual_dict_aesthetic.png +0 -0
  869. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/multiple_aesthetics.png +0 -0
  870. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/ordinal_scale.png +0 -0
  871. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/test_legend_ordering_with_identity_scale.png +0 -0
  872. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_internals/transform_aes_defaults_and_params.png +0 -0
  873. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_labelling/caption_simple.png +0 -0
  874. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_labelling/labelling_with_colour.png +0 -0
  875. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_linetype/scale_linetype_manual_strings.png +0 -0
  876. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_linetype/scale_linetype_manual_tuples.png +0 -0
  877. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_scale_symlog/scale_y_symlog.png +0 -0
  878. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_ecdf/computed_y_column.png +0 -0
  879. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_ecdf/ecdf.png +0 -0
  880. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_ecdf/ecdf_no_pad.png +0 -0
  881. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_ellipse/ellipse.png +0 -0
  882. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_function/args.png +0 -0
  883. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_function/limits.png +0 -0
  884. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary/fun_args.png +0 -0
  885. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary/mean_cl_boot.png +0 -0
  886. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary/mean_cl_normal.png +0 -0
  887. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary/mean_sdl.png +0 -0
  888. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary/mean_se.png +0 -0
  889. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary/median_hilow.png +0 -0
  890. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary/summary_functions.png +0 -0
  891. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary_bin/continuous_x.png +0 -0
  892. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary_bin/discrete_x.png +0 -0
  893. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_stat_summary_bin/setting_binwidth.png +0 -0
  894. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_theme/axis_ticks_and_length.png +0 -0
  895. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_theme/no_ticks.png +0 -0
  896. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/baseline_images/test_watermark/watermark.png +0 -0
  897. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/images/plotnine-watermark.png +0 -0
  898. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_animation.py +0 -0
  899. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_annotation_logticks.py +0 -0
  900. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_annotation_stripes.py +0 -0
  901. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_binning.py +0 -0
  902. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_coords.py +0 -0
  903. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_doctools.py +0 -0
  904. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_facet_labelling.py +0 -0
  905. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_facets.py +0 -0
  906. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom.py +0 -0
  907. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_abline.py +0 -0
  908. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_bin_2d.py +0 -0
  909. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_blank.py +0 -0
  910. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_boxplot.py +0 -0
  911. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_count.py +0 -0
  912. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_crossbar.py +0 -0
  913. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_density.py +0 -0
  914. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_density_2d.py +0 -0
  915. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_errorbar_errorbarh.py +0 -0
  916. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_freqpoly.py +0 -0
  917. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_hline.py +0 -0
  918. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_linerange_pointrange.py +0 -0
  919. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_map.py +0 -0
  920. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_path_line_step.py +0 -0
  921. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_point.py +0 -0
  922. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_pointdensity.py +0 -0
  923. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_polygon.py +0 -0
  924. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_qq_qq_line.py +0 -0
  925. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_raster.py +0 -0
  926. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_rect_tile.py +0 -0
  927. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_ribbon_area.py +0 -0
  928. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_rug.py +0 -0
  929. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_segment.py +0 -0
  930. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_sina.py +0 -0
  931. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_smooth.py +0 -0
  932. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_spoke.py +0 -0
  933. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_text_label.py +0 -0
  934. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_violin.py +0 -0
  935. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_geom_vline.py +0 -0
  936. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_ggsave.py +0 -0
  937. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_guide_internals.py +0 -0
  938. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_layout.py +0 -0
  939. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_lint_and_format.py +0 -0
  940. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_position.py +0 -0
  941. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_qplot.py +0 -0
  942. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_save_as_pdf_pages.py +0 -0
  943. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_scale_labelling.py +0 -0
  944. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_scale_linetype.py +0 -0
  945. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_scale_symlog.py +0 -0
  946. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_stat_calculate_methods.py +0 -0
  947. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_stat_ecdf.py +0 -0
  948. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_stat_ellipse.py +0 -0
  949. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_stat_function.py +0 -0
  950. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_stat_hull.py +0 -0
  951. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_stat_summary.py +0 -0
  952. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_stat_summary_bin.py +0 -0
  953. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_utils.py +0 -0
  954. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tests/test_watermark.py +0 -0
  955. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tools/release-checklist.py +0 -0
  956. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tools/term.py +0 -0
  957. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tools/update_baseline_images.py +0 -0
  958. {plotnine-0.15.0.dev3 → plotnine-0.15.1}/tools/visualize_tests.py +0 -0
@@ -0,0 +1,103 @@
1
+ labels: ["contest-2025"]
2
+ body:
3
+ - type: markdown
4
+
5
+ attributes:
6
+ value: >-
7
+ Thank you for submitting to the [2025 Plotnine Contest](https://github.com/has2k1/plotnine/discussions/972).
8
+ The submission deadline is Friday, October 3, 2025 ([Anywhere on Earth](https://time.is/Anywhere_on_Earth)).
9
+
10
+ <details>
11
+ <summary><b>What should my submission include?</b></summary>
12
+ <br/>
13
+ To produce your final plot, every submission must include all the code, data, and processing steps, at least minimally documented.
14
+ <br/><br/>
15
+
16
+
17
+ #### 1. Code
18
+
19
+ <br>
20
+ A link to the repository or script that fully reproduces your submission. Please include any data used to produce the plot.
21
+ <br><br>
22
+
23
+ #### 2. Plot
24
+
25
+ <br>
26
+ Include your plot. If your submission includes many plots (e.g. it’s a multipart tutorial or article that includes many plots), please also link away to the full article.
27
+ <br><br>
28
+
29
+ #### 3. Documentation
30
+
31
+ <br>
32
+ Whether as code comments or via prose in something like a Quarto doc or Jupyter notebook, be sure to include an explanation of what you are doing, and how your code works. Comments may be minimal, but they should help a novice to plotnine understand how your code produces your final plot.
33
+
34
+ <br/><br/>
35
+ </details>
36
+
37
+
38
+ <details>
39
+ <summary><b>How will submissions be judged?</b></summary>
40
+ <br>
41
+
42
+
43
+ Broadly, entries will be judged based on utility and beauty.
44
+ Is your plot easy to read and comprehend?
45
+ Is it a technically impressive, well-documented example?
46
+ Does it demonstrate novel, useful elements of plot design?
47
+ Is it aesthetically pleasing?
48
+ We recognize that some plots may excel in one of these categories, with some in another (and some in all).
49
+ We promise that the evaluation will keep this in mind.
50
+ <br><br>
51
+ We also realize our judging criteria are subjective.
52
+ Therefore, Hassan Kibirige, the creator of plotnine, along with a panel of visualization wizards will help review this year’s submissions.
53
+
54
+ </details>
55
+
56
+
57
+ <details>
58
+ <summary><b>What are the prizes?</b></summary>
59
+
60
+
61
+ #### 1. Fabulous Prizes
62
+
63
+ We are still working out the fabulous prizes, but anticipate some beautiful combo of stickers, and sundry Posit swag.
64
+
65
+
66
+ </details>
67
+
68
+ - type: textarea
69
+ id: output
70
+ attributes:
71
+ label: Plot
72
+ description: "This is your submission!"
73
+ validations:
74
+ required: true
75
+ - type: input
76
+ id: authors
77
+ attributes:
78
+ label: Authors
79
+ description: "List full names of all authors of the submission. If you include affiliation, please do so inside parentheses."
80
+ validations:
81
+ required: true
82
+ - type: input
83
+ id: links
84
+ attributes:
85
+ label: Links
86
+ description: "Any social or website links for authors. Use markdown for, e.g. `[twitter](https://twitter.com/HKibirige)`, `[github](https://github.com/has2k1)`"
87
+ placeholder: "e.g. [twitter](https://twitter.com/HKibirige), [github](https://github.com/has2k1)"
88
+ validations:
89
+ required: false
90
+ - type: textarea
91
+ id: description
92
+ attributes:
93
+ label: Full description
94
+ description: "Fully describe your submission. Feel free to link away to a Quarto Pub post, a README, personal blog, or similar. This can be edited after your submission."
95
+ validations:
96
+ required: true
97
+ - type: textarea
98
+ id: repo
99
+ attributes:
100
+ label: Code repository
101
+ description: "Link to a repo with data & code for reproducing your plotnine plot."
102
+ validations:
103
+ required: false
@@ -0,0 +1,228 @@
1
+ #!/usr/bin/env python
2
+ from __future__ import annotations
3
+
4
+ import os
5
+ import re
6
+ import shlex
7
+ from subprocess import PIPE, Popen
8
+ from typing import Literal, Sequence, TypeAlias
9
+
10
+ ReleaseType: TypeAlias = Literal[
11
+ "alpha",
12
+ "beta",
13
+ "candidate",
14
+ "development",
15
+ "stable",
16
+ ]
17
+
18
+ pre_release_lookup: dict[str, ReleaseType] = {
19
+ "a": "alpha",
20
+ "alpha": "alpha",
21
+ "b": "beta",
22
+ "beta": "beta",
23
+ "rc": "candidate",
24
+ "dev": "development",
25
+ ".dev": "development",
26
+ }
27
+
28
+ # https://docs.github.com/en/actions/learn-github-actions/variables
29
+ # #default-environment-variables
30
+ GITHUB_VARS = [
31
+ "GITHUB_REF_NAME", # main, dev, v0.1.0, v0.1.3a1
32
+ "GITHUB_REF_TYPE", # "branch" or "tag"
33
+ "GITHUB_REPOSITORY", # has2k1/scikit-misc
34
+ "GITHUB_SERVER_URL", # https://github.com
35
+ "GITHUB_SHA", # commit shasum
36
+ "GITHUB_WORKSPACE", # /home/runner/work/scikit-misc/scikit-misc
37
+ "GITHUB_EVENT_NAME", # push, schedule, workflow_dispatch, ...
38
+ ]
39
+
40
+
41
+ count = r"(?:[0-9]|[1-9][0-9]+)"
42
+ DESCRIBE = re.compile(
43
+ r"^v"
44
+ rf"(?P<version>{count}\.{count}\.{count})"
45
+ rf"((?P<pre>a|b|rc|alpha|beta|\.dev){count})?"
46
+ r"(-(?P<commits>\d+)-g(?P<hash>[a-z0-9]+))?"
47
+ r"(?P<dirty>-dirty)?"
48
+ r"$"
49
+ )
50
+
51
+ # Define a stable release version to be valid according to PEP440
52
+ # and is a semver
53
+ STABLE_TAG = re.compile(r"^v" rf"{count}\.{count}\.{count}" r"$")
54
+
55
+ # Prerelease version
56
+ PRE_RELEASE_TAG = re.compile(
57
+ r"^v"
58
+ rf"{count}\.{count}\.{count}"
59
+ rf"((?P<pre>a|b|rc|alpha|beta|\.dev){count})?"
60
+ r"$"
61
+ )
62
+
63
+ REF_NAME = os.environ.get("GITHUB_REF_NAME", "")
64
+ REF_TYPE = os.environ.get("GITHUB_REF_TYPE", "")
65
+
66
+
67
+ def run(cmd: str | Sequence[str]) -> str:
68
+ if isinstance(cmd, str) and os.name == "posix":
69
+ cmd = shlex.split(cmd)
70
+ with Popen(
71
+ cmd, stdin=PIPE, stderr=PIPE, stdout=PIPE, text=True, encoding="utf-8"
72
+ ) as p:
73
+ stdout, _ = p.communicate()
74
+ return stdout.strip()
75
+
76
+
77
+ class Git:
78
+ @staticmethod
79
+ def checkout(committish):
80
+ """
81
+ Return True if inside a git repo
82
+ """
83
+ res = run(f"git checkout {committish}")
84
+ return res
85
+
86
+ @staticmethod
87
+ def commit_titles(n=1) -> list[str]:
88
+ """
89
+ Return a list n of commit titles
90
+ """
91
+ output = run(
92
+ f"git log --oneline --no-merges --pretty='format:%s' -{n}"
93
+ )
94
+ return output.split("\n")[:n]
95
+
96
+ @staticmethod
97
+ def commit_messages(n=1) -> list[str]:
98
+ """
99
+ Return a list n of commit messages
100
+ """
101
+ sep = "______ MESSAGE _____"
102
+ output = run(
103
+ f"git log --no-merges --pretty='format:%B{sep}' -{n}"
104
+ ).strip()
105
+ if output.endswith(sep):
106
+ output = output[: -len(sep)]
107
+ return output.split(sep)[:n]
108
+
109
+ @staticmethod
110
+ def commit_title() -> str:
111
+ """
112
+ Commit subject
113
+ """
114
+ return Git.commit_titles(1)[0]
115
+
116
+ @staticmethod
117
+ def commit_message() -> str:
118
+ """
119
+ Commit title
120
+ """
121
+ return Git.commit_messages(1)[0]
122
+
123
+ @staticmethod
124
+ def is_repo():
125
+ """
126
+ Return True if inside a git repo
127
+ """
128
+ res = run("git rev-parse --is-inside-work-tree")
129
+ return res == "return"
130
+
131
+ @staticmethod
132
+ def fetch_tags() -> str:
133
+ """
134
+ Fetch all tags
135
+ """
136
+ return run("git fetch --tags --force")
137
+
138
+ @staticmethod
139
+ def is_shallow() -> bool:
140
+ """
141
+ Return True if current repo is shallow
142
+ """
143
+ res = run("git rev-parse --is-shallow-repository")
144
+ return res == "true"
145
+
146
+ @staticmethod
147
+ def deepen(n: int = 1) -> str:
148
+ """
149
+ Fetch n commits beyond the shallow limit
150
+ """
151
+ return run(f"git fetch --deepen={n}")
152
+
153
+ @staticmethod
154
+ def describe() -> str:
155
+ """
156
+ Git describe to determine version
157
+ """
158
+ return run("git describe --dirty --tags --long --match '*[0-9]*'")
159
+
160
+ @staticmethod
161
+ def can_describe() -> bool:
162
+ """
163
+ Return True if repo can be "described" from a semver tag
164
+ """
165
+ return bool(DESCRIBE.match(Git.describe()))
166
+
167
+ @staticmethod
168
+ def get_tag_at_commit(committish: str) -> str:
169
+ """
170
+ Get tag of a given commit
171
+ """
172
+ return run(f"git describe --exact-match {committish}")
173
+
174
+ @staticmethod
175
+ def tag_message(tag: str) -> str:
176
+ """
177
+ Get the message of a tag
178
+ """
179
+ return run(f"git tag -l --format='%(subject)' {tag}")
180
+
181
+ @staticmethod
182
+ def is_annotated(tag: str) -> bool:
183
+ """
184
+ Return true if tag is annotated tag
185
+ """
186
+ # LHS prints to stderr and returns nothing when
187
+ # tag is an empty string
188
+ return run(f"git cat-file -t {tag}") == "tag"
189
+
190
+ @staticmethod
191
+ def shallow_checkout(branch: str, url: str, depth: int = 1) -> str:
192
+ """
193
+ Shallow clone upto n commits
194
+ """
195
+ _branch = f"--branch={branch}"
196
+ _depth = f"--depth={depth}"
197
+ return run(f"git clone {_depth} {_branch} {url} .")
198
+
199
+ @staticmethod
200
+ def is_stable_release():
201
+ """
202
+ Return True if event is a stable release
203
+ """
204
+ return REF_TYPE == "tag" and bool(STABLE_TAG.match(REF_NAME))
205
+
206
+ @staticmethod
207
+ def is_pre_release():
208
+ """
209
+ Return True if event is any kind of pre-release
210
+ """
211
+ return REF_TYPE == "tag" and bool(PRE_RELEASE_TAG.match(REF_NAME))
212
+
213
+ @staticmethod
214
+ def release_type() -> ReleaseType | None:
215
+ if Git.is_stable_release():
216
+ return "stable"
217
+ elif Git.is_pre_release():
218
+ match = PRE_RELEASE_TAG.match(REF_NAME)
219
+ assert match is not None
220
+ pre = match.group("pre")
221
+ return pre_release_lookup[pre]
222
+
223
+ @staticmethod
224
+ def branch():
225
+ """
226
+ Return event branch
227
+ """
228
+ return REF_NAME if REF_TYPE == "branch" else ""
@@ -0,0 +1,84 @@
1
+ import os
2
+ import sys
3
+ from pathlib import Path
4
+ from typing import Callable, TypeAlias
5
+
6
+ from _repo import Git
7
+
8
+ Ask: TypeAlias = Callable[[], bool | str]
9
+ Do: TypeAlias = Callable[[], str]
10
+
11
+ gh_output_file = os.environ.get("GITHUB_OUTPUT")
12
+
13
+
14
+ def set_deploy_to():
15
+ """
16
+ Write where to deploy to deploy_on in the GITHUB_OUTPUT env
17
+ """
18
+ if not gh_output_file:
19
+ return
20
+
21
+ if Git.is_stable_release():
22
+ deploy_to = "website"
23
+ elif Git.is_pre_release():
24
+ deploy_to = "pre-website"
25
+ elif Git.branch() in {"main", "dev"}:
26
+ deploy_to = "gh-pages"
27
+ else:
28
+ deploy_to = ""
29
+
30
+ with Path(gh_output_file).open("a") as f:
31
+ print(f"deploy_to={deploy_to}", file=f)
32
+
33
+
34
+ def set_publish_on():
35
+ """
36
+ Write index (pypi or testpypi) to publish_on in the GITHUB_OUTPUT env
37
+
38
+ i.e. Where to release
39
+ """
40
+ # Probably not on GHA
41
+ if not gh_output_file:
42
+ return
43
+
44
+ rtype = Git.release_type()
45
+
46
+ if rtype in {"stable", "alpha", "beta", "development"}:
47
+ publish_on = "pypi"
48
+ elif rtype == "candidate":
49
+ publish_on = "testpypi"
50
+ else:
51
+ publish_on = ""
52
+
53
+ with Path(gh_output_file).open("a") as f:
54
+ print(f"publish_on={publish_on}", file=f)
55
+
56
+
57
+ def set_commit_title():
58
+ """
59
+ Write the commit title to commit_title in the GITHUB_OUTPUT env
60
+ """
61
+ if not gh_output_file:
62
+ return
63
+
64
+ with Path(gh_output_file).open("a") as f:
65
+ print(f"commit_title={Git.commit_title()}", file=f)
66
+
67
+
68
+ def process_request(task_name: str) -> str | None:
69
+ if task_name in TASKS:
70
+ return TASKS[task_name]()
71
+
72
+
73
+ TASKS: dict[str, Callable[[], str | None]] = {
74
+ "set_deploy_to": set_deploy_to,
75
+ "set_publish_on": set_publish_on,
76
+ "set_commit_title": set_commit_title,
77
+ }
78
+
79
+ if __name__ == "__main__":
80
+ if len(sys.argv) == 2:
81
+ arg = sys.argv[1]
82
+ output = process_request(arg)
83
+ if output:
84
+ print(output)
@@ -0,0 +1,87 @@
1
+ name: Documentation
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ workflow_call:
6
+
7
+ env:
8
+ HEAD_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
9
+
10
+ jobs:
11
+ parse_commit_info:
12
+ runs-on: ubuntu-latest
13
+ outputs:
14
+ deploy_to: ${{ steps.variables.outputs.deploy_to }}
15
+ commit_title: ${{ steps.variables.outputs.commit_title }}
16
+
17
+ steps:
18
+ - name: Checkout Code
19
+ uses: actions/checkout@v4
20
+ with:
21
+ fetch-depth: 0
22
+
23
+ - name: Copy build utils
24
+ run: cp -r .github/utils ../utils
25
+
26
+ - name: Decide where to deploy and create output variables
27
+ id: variables
28
+ run: |
29
+ python ../utils/please.py set_deploy_to
30
+ python ../utils/please.py set_commit_title
31
+
32
+ echo github.ref ${{ github.ref }}
33
+
34
+ - name: See outputs
35
+ run: |
36
+ echo 'deploy_to=${{ steps.variables.outputs.deploy_to }}'
37
+ echo 'commit_title=${{ steps.variables.outputs.commit_title }}'
38
+
39
+ build-documentation:
40
+ runs-on: ubuntu-latest
41
+ needs: parse_commit_info
42
+
43
+ strategy:
44
+ matrix:
45
+ python-version: [3.13]
46
+
47
+ steps:
48
+ - name: Checkout Code
49
+ uses: actions/checkout@v4
50
+
51
+ - name: Install uv and set python version
52
+ uses: astral-sh/setup-uv@v6
53
+ with:
54
+ python-version: ${{ matrix.python-version }}
55
+
56
+ - name: Install Quarto
57
+ uses: quarto-dev/quarto-actions/setup@v2
58
+ with:
59
+ version: pre-release
60
+
61
+ - name: Install Documentation Dependencies
62
+ run: |
63
+ uv venv
64
+ make doc-dependencies
65
+
66
+ - name: Environment Information
67
+ run: |
68
+ ls -la
69
+ ls -la doc
70
+ uv pip list
71
+
72
+ - name: Build docs
73
+ run: make doc
74
+
75
+ - name: Environment Information
76
+ run: |
77
+ ls -la doc
78
+ ls -la doc/reference
79
+ cat doc/_variables.yml
80
+
81
+ - name: Deploy to Documentation to a Branch
82
+ uses: JamesIves/github-pages-deploy-action@v4
83
+ if: ${{ needs.parse_commit_info.outputs.deploy_to != '' }}
84
+ with:
85
+ folder: doc/_site
86
+ branch: ${{ needs.parse_commit_info.outputs.deploy_to }}
87
+ commit-message: ${{ needs.parse_commit_info.outputs.commit_title }}
@@ -0,0 +1,106 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v[0-9]*'
7
+
8
+ jobs:
9
+ run-tests:
10
+ name: Run all tests
11
+ uses: ./.github/workflows/testing.yml
12
+ with:
13
+ skip_codecov: true
14
+
15
+ check-semver-tag:
16
+ name: Check if the tag is in semantic version format
17
+ needs: [run-tests]
18
+ runs-on: ubuntu-latest
19
+ outputs:
20
+ publish_on: ${{ steps.variables.outputs.publish_on }}
21
+
22
+ strategy:
23
+ matrix:
24
+ python-version: ["3.13"]
25
+
26
+ steps:
27
+ - name: Checkout Code
28
+ uses: actions/checkout@v4
29
+
30
+ - name: Install a specific version of uv
31
+ uses: astral-sh/setup-uv@v6
32
+ with:
33
+ python-version: ${{ matrix.python-version }}
34
+
35
+ - name: Copy build utils
36
+ run: cp -r .github/utils ../utils
37
+
38
+ - name: Decide where to publish and create output variables
39
+ id: variables
40
+ run: uv run python ../utils/please.py set_publish_on
41
+
42
+ - name: See outputs
43
+ run: echo "publish_on="${{ steps.variables.outputs.publish_on }}
44
+
45
+ # Ref: https://github.com/pypa/gh-action-pypi-publish
46
+ publish:
47
+ name: Build and publish Python 🐍 distributions 📦 to TestPyPI or PyPI
48
+ needs: [check-semver-tag]
49
+ runs-on: ubuntu-latest
50
+
51
+ if: ${{ needs.check-semver-tag.outputs.publish_on != '' }}
52
+
53
+ environment:
54
+ name: release
55
+ url: https://github.com/has2k1/plotnine
56
+
57
+ permissions:
58
+ id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
59
+
60
+ strategy:
61
+ matrix:
62
+ python-version: ["3.13"]
63
+
64
+ steps:
65
+ - name: Checkout Code
66
+ uses: actions/checkout@v4
67
+
68
+ - name: Install a specific version of uv
69
+ uses: astral-sh/setup-uv@v6
70
+ with:
71
+ python-version: ${{ matrix.python-version }}
72
+
73
+ - name: Install Packages
74
+ run: uv run uv pip install build
75
+
76
+ - name: Build a wheel and a source tarball
77
+ run: make dist
78
+
79
+ - name: Publish distribution 📦 to Test PyPI
80
+ if: ${{ needs.check-semver-tag.outputs.publish_on == 'testpypi' }}
81
+ uses: pypa/gh-action-pypi-publish@release/v1
82
+ with:
83
+ repository-url: https://test.pypi.org/legacy/
84
+ skip-existing: true
85
+
86
+ - name: Publish distribution 📦 to PyPI
87
+ if: ${{ needs.check-semver-tag.outputs.publish_on == 'pypi' }}
88
+ uses: pypa/gh-action-pypi-publish@release/v1
89
+ with:
90
+ skip-existing: true
91
+
92
+ - name: Build Website (Dev)
93
+ if: ${{ needs.check-semver-tag.outputs.publish_on == 'testpypi' }}
94
+ uses: peter-evans/repository-dispatch@v3
95
+ with:
96
+ token: ${{ secrets.PLOTNINE_WEBSITE }}
97
+ repository: has2k1/plotnine.org
98
+ event-type: plotnine-pre-release
99
+
100
+ - name: Build Website
101
+ if: ${{ needs.check-semver-tag.outputs.publish_on == 'pypi' }}
102
+ uses: peter-evans/repository-dispatch@v3
103
+ with:
104
+ token: ${{ secrets.PLOTNINE_WEBSITE }}
105
+ repository: has2k1/plotnine.org
106
+ event-type: plotnine-release