dysonsphere 3.4.2__tar.gz → 3.4.3__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 (362) hide show
  1. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/CHANGELOG.md +6 -0
  2. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/PKG-INFO +1 -1
  3. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/export.py +7 -7
  4. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/theme.py +0 -5
  5. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/pyproject.toml +1 -1
  6. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_export.py +1 -2
  7. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/uv.lock +1 -1
  8. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/lib/fixSuperscripts.ts +9 -15
  9. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/.github/workflows/pages.yml +0 -0
  10. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/.github/workflows/publish.yml +0 -0
  11. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/.gitignore +0 -0
  12. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/CLAUDE.md +0 -0
  13. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/LICENSE +0 -0
  14. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/README.md +0 -0
  15. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/.nojekyll +0 -0
  16. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/correlation_example.png +0 -0
  17. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/index.html +0 -0
  18. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/labels_example.png +0 -0
  19. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/logo.svg +0 -0
  20. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/marks_example.png +0 -0
  21. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/multilabel_example.png +0 -0
  22. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/multilabel_span_example.png +0 -0
  23. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/nonlinear_example.png +0 -0
  24. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/omnibus_example.png +0 -0
  25. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/pairwise_example.png +0 -0
  26. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/reference_line_example.png +0 -0
  27. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/shade_example.png +0 -0
  28. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/text_example.png +0 -0
  29. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/thumbnail.png +0 -0
  30. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/docs/transforms_example.png +0 -0
  31. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/__init__.py +0 -0
  32. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/_placement.py +0 -0
  33. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/annotations.py +0 -0
  34. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/discovery.py +0 -0
  35. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/ext.py +0 -0
  36. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/inference.py +0 -0
  37. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/labels.py +0 -0
  38. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/marks.py +0 -0
  39. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/metadata.py +0 -0
  40. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/multilabel.py +0 -0
  41. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/nonlinear.py +0 -0
  42. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/palettes.py +0 -0
  43. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/py.typed +0 -0
  44. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/statistics.py +0 -0
  45. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/transforms.py +0 -0
  46. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere/utils.py +0 -0
  47. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere-biology/README.md +0 -0
  48. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere-biology/dysonsphere_biology/__init__.py +0 -0
  49. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere-biology/dysonsphere_biology/volcano.py +0 -0
  50. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere-biology/examples/volcano_example.py +0 -0
  51. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere-biology/pyproject.toml +0 -0
  52. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere-biology/tests/conftest.py +0 -0
  53. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere-biology/tests/test_volcano.py +0 -0
  54. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/dysonsphere.toml +0 -0
  55. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_correlation_example.py +0 -0
  56. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_gallery.py +0 -0
  57. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_labels_example.py +0 -0
  58. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_marks_example.py +0 -0
  59. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_multilabel_example.py +0 -0
  60. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_multilabel_span_example.py +0 -0
  61. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_nonlinear_example.py +0 -0
  62. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_omnibus_example.py +0 -0
  63. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_pairwise_example.py +0 -0
  64. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_reference_line_example.py +0 -0
  65. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_shade_example.py +0 -0
  66. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_text_example.py +0 -0
  67. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_thumbnail.py +0 -0
  68. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/build_transforms_example.py +0 -0
  69. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build/print_palettes.py +0 -0
  70. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/build_all.py +0 -0
  71. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/illustrator/dysonsphere.ase +0 -0
  72. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/illustrator/export_swatches_to_illustrator.py +0 -0
  73. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/illustrator/import_dysonsphere_palettes_to_illustrator.jsx +0 -0
  74. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/arc.py +0 -0
  75. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/area_chart.py +0 -0
  76. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/area_chart_gradient.py +0 -0
  77. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/beeswarm.py +0 -0
  78. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/beeswarm_panels.py +0 -0
  79. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/boxplot.py +0 -0
  80. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/bubble.py +0 -0
  81. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/double-x.py +0 -0
  82. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/double-y.py +0 -0
  83. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/errorband.py +0 -0
  84. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/errorbar.py +0 -0
  85. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/geomark.py +0 -0
  86. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/heatmap.py +0 -0
  87. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/histogram.py +0 -0
  88. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/html_export.py +0 -0
  89. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/inward_ticks.py +0 -0
  90. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/line.py +0 -0
  91. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/logarithmic.py +0 -0
  92. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/p-value.py +0 -0
  93. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/paired.py +0 -0
  94. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/palette_test.py +0 -0
  95. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/point_labels.py +0 -0
  96. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/power.py +0 -0
  97. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/reference_lines.py +0 -0
  98. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/ridgeplot.py +0 -0
  99. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/scatter.py +0 -0
  100. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/sequences.py +0 -0
  101. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/stacked_bar_chart.py +0 -0
  102. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/strip.py +0 -0
  103. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/strip_manual.py +0 -0
  104. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/text.py +0 -0
  105. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/violin.py +0 -0
  106. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/scripts/plots/volcano.py +0 -0
  107. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/conftest.py +0 -0
  108. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_annotations.py +0 -0
  109. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_ext.py +0 -0
  110. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_extensions.py +0 -0
  111. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_labels.py +0 -0
  112. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_marks.py +0 -0
  113. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_metadata.py +0 -0
  114. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_multilabel.py +0 -0
  115. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_nonlinear.py +0 -0
  116. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_package.py +0 -0
  117. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_palettes.py +0 -0
  118. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_placement.py +0 -0
  119. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_statistics.py +0 -0
  120. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_theme.py +0 -0
  121. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_transforms.py +0 -0
  122. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/tests/test_utils.py +0 -0
  123. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/.gitignore +0 -0
  124. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/.vscode/extensions.json +0 -0
  125. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/.vscode/launch.json +0 -0
  126. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/CLAUDE.md +0 -0
  127. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/astro.config.mjs +0 -0
  128. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/bar.py +0 -0
  129. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/beeswarm.py +0 -0
  130. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/boxplot.py +0 -0
  131. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/closed_frame.py +0 -0
  132. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/comparisons.py +0 -0
  133. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/comparisons_asterisks.py +0 -0
  134. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/comparisons_kruskal.py +0 -0
  135. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/comparisons_notation.py +0 -0
  136. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/comparisons_pairwise.py +0 -0
  137. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/comparisons_perpair.py +0 -0
  138. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/corner_radius.py +0 -0
  139. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/correlation.py +0 -0
  140. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/correlation_both.py +0 -0
  141. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/correlation_spearman.py +0 -0
  142. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/darkmode_dark.py +0 -0
  143. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/darkmode_light.py +0 -0
  144. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/first_chart.py +0 -0
  145. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/grid_lines.py +0 -0
  146. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/heatmap_palette.py +0 -0
  147. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/home_demo.py +0 -0
  148. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/inward_ticks.py +0 -0
  149. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/jitter.py +0 -0
  150. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/label_angle.py +0 -0
  151. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/labels.py +0 -0
  152. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/log.py +0 -0
  153. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/multilabel.py +0 -0
  154. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/multilabel_sample_size.py +0 -0
  155. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/multilabel_symbol.py +0 -0
  156. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/nonlinear_labels.py +0 -0
  157. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/nonlinear_pow.py +0 -0
  158. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/palette_categorical.py +0 -0
  159. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/palette_grouped.py +0 -0
  160. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/palette_slice.py +0 -0
  161. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/preview_bars.py +0 -0
  162. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/preview_heatmap.py +0 -0
  163. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/preview_lines.py +0 -0
  164. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/preview_scatter.py +0 -0
  165. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/rule.py +0 -0
  166. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/rule_labeled.py +0 -0
  167. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/rule_vertical.py +0 -0
  168. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/shade_bands.py +0 -0
  169. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/shade_range.py +0 -0
  170. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/shade_region.py +0 -0
  171. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/strip.py +0 -0
  172. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/strip_beeswarm.py +0 -0
  173. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/strip_errorbars.py +0 -0
  174. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/text.py +0 -0
  175. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/theme_after.py +0 -0
  176. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/theme_before.py +0 -0
  177. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/violin.py +0 -0
  178. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/violin_styled.py +0 -0
  179. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/examples/volcano.py +0 -0
  180. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/NOTE.md +0 -0
  181. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/README.md +0 -0
  182. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/correlation_example.png +0 -0
  183. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/labels_example.png +0 -0
  184. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/marks_example.png +0 -0
  185. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/multilabel_example.png +0 -0
  186. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/multilabel_span_example.png +0 -0
  187. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/nonlinear_example.png +0 -0
  188. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/omnibus_example.png +0 -0
  189. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/pairwise_example.png +0 -0
  190. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/reference_line_example.png +0 -0
  191. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/shade_example.png +0 -0
  192. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/text_example.png +0 -0
  193. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/thumbnail.png +0 -0
  194. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/legacy-readme/docs/transforms_example.png +0 -0
  195. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/logo/dysonsphere_favicon.svg +0 -0
  196. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/logo/dysonsphere_logo.svg +0 -0
  197. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/logo/dysonsphere_logo_portrait_with_text.svg +0 -0
  198. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/logo/dysonsphere_logo_portrait_with_text_outlined.svg +0 -0
  199. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/logo/gen_dysonsphere_logo.py +0 -0
  200. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/package-lock.json +0 -0
  201. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/package.json +0 -0
  202. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/bar-dark.json +0 -0
  203. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/bar-light.json +0 -0
  204. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/beeswarm-dark.json +0 -0
  205. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/beeswarm-light.json +0 -0
  206. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/boxplot-dark.json +0 -0
  207. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/boxplot-light.json +0 -0
  208. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/closed_frame-dark.json +0 -0
  209. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/closed_frame-light.json +0 -0
  210. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons-dark.json +0 -0
  211. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons-light.json +0 -0
  212. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_asterisks-dark.json +0 -0
  213. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_asterisks-light.json +0 -0
  214. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_kruskal-dark.json +0 -0
  215. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_kruskal-light.json +0 -0
  216. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_notation-dark.json +0 -0
  217. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_notation-light.json +0 -0
  218. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_pairwise-dark.json +0 -0
  219. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_pairwise-light.json +0 -0
  220. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_perpair-dark.json +0 -0
  221. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/comparisons_perpair-light.json +0 -0
  222. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/corner_radius-dark.json +0 -0
  223. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/corner_radius-light.json +0 -0
  224. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/correlation-dark.json +0 -0
  225. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/correlation-light.json +0 -0
  226. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/correlation_both-dark.json +0 -0
  227. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/correlation_both-light.json +0 -0
  228. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/correlation_spearman-dark.json +0 -0
  229. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/correlation_spearman-light.json +0 -0
  230. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/darkmode_dark-dark.json +0 -0
  231. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/darkmode_dark-light.json +0 -0
  232. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/darkmode_light-dark.json +0 -0
  233. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/darkmode_light-light.json +0 -0
  234. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/first_chart-dark.json +0 -0
  235. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/first_chart-light.json +0 -0
  236. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/grid_lines-dark.json +0 -0
  237. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/grid_lines-light.json +0 -0
  238. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/heatmap_palette-dark.json +0 -0
  239. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/heatmap_palette-light.json +0 -0
  240. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/home_demo-dark.json +0 -0
  241. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/home_demo-light.json +0 -0
  242. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/inward_ticks-dark.json +0 -0
  243. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/inward_ticks-light.json +0 -0
  244. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/jitter-dark.json +0 -0
  245. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/jitter-light.json +0 -0
  246. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/label_angle-dark.json +0 -0
  247. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/label_angle-light.json +0 -0
  248. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/labels-dark.json +0 -0
  249. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/labels-light.json +0 -0
  250. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/log-dark.json +0 -0
  251. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/log-light.json +0 -0
  252. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/multilabel-dark.json +0 -0
  253. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/multilabel-light.json +0 -0
  254. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/multilabel_sample_size-dark.json +0 -0
  255. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/multilabel_sample_size-light.json +0 -0
  256. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/multilabel_symbol-dark.json +0 -0
  257. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/multilabel_symbol-light.json +0 -0
  258. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/nonlinear_labels-dark.json +0 -0
  259. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/nonlinear_labels-light.json +0 -0
  260. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/nonlinear_pow-dark.json +0 -0
  261. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/nonlinear_pow-light.json +0 -0
  262. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/palette_categorical-dark.json +0 -0
  263. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/palette_categorical-light.json +0 -0
  264. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/palette_grouped-dark.json +0 -0
  265. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/palette_grouped-light.json +0 -0
  266. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/palette_slice-dark.json +0 -0
  267. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/palette_slice-light.json +0 -0
  268. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_bars-dark.json +0 -0
  269. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_bars-light.json +0 -0
  270. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_heatmap-dark.json +0 -0
  271. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_heatmap-light.json +0 -0
  272. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_lines-dark.json +0 -0
  273. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_lines-light.json +0 -0
  274. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_scatter-dark.json +0 -0
  275. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/preview_scatter-light.json +0 -0
  276. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/rule-dark.json +0 -0
  277. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/rule-light.json +0 -0
  278. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/rule_labeled-dark.json +0 -0
  279. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/rule_labeled-light.json +0 -0
  280. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/rule_vertical-dark.json +0 -0
  281. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/rule_vertical-light.json +0 -0
  282. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/shade_bands-dark.json +0 -0
  283. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/shade_bands-light.json +0 -0
  284. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/shade_range-dark.json +0 -0
  285. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/shade_range-light.json +0 -0
  286. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/shade_region-dark.json +0 -0
  287. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/shade_region-light.json +0 -0
  288. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/strip-dark.json +0 -0
  289. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/strip-light.json +0 -0
  290. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/strip_beeswarm-dark.json +0 -0
  291. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/strip_beeswarm-light.json +0 -0
  292. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/strip_errorbars-dark.json +0 -0
  293. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/strip_errorbars-light.json +0 -0
  294. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/text-dark.json +0 -0
  295. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/text-light.json +0 -0
  296. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/theme_after-dark.json +0 -0
  297. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/theme_after-light.json +0 -0
  298. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/theme_before-dark.json +0 -0
  299. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/theme_before-light.json +0 -0
  300. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/violin-dark.json +0 -0
  301. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/violin-light.json +0 -0
  302. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/violin_styled-dark.json +0 -0
  303. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/violin_styled-light.json +0 -0
  304. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/volcano-dark.json +0 -0
  305. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/charts/volcano-light.json +0 -0
  306. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/public/favicon.svg +0 -0
  307. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/scripts/gen_api.py +0 -0
  308. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/scripts/gen_config.py +0 -0
  309. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/scripts/gen_examples.py +0 -0
  310. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/scripts/gen_palettes.py +0 -0
  311. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/assets/dysonsphere_logo.svg +0 -0
  312. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/Chart.astro +0 -0
  313. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/ConfigGenerator.astro +0 -0
  314. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/Example.astro +0 -0
  315. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/PalettePreview.astro +0 -0
  316. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/Palettes.astro +0 -0
  317. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/PlaygroundRedirect.astro +0 -0
  318. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/SiteTitle.astro +0 -0
  319. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/components/Studio.astro +0 -0
  320. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/config-generator.mdx +0 -0
  321. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/extensions/authoring.mdx +0 -0
  322. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/extensions/biology.mdx +0 -0
  323. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/extensions/index.mdx +0 -0
  324. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/extensions/volcano.md +0 -0
  325. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/gallery.mdx +0 -0
  326. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/annotations.mdx +0 -0
  327. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/configuration.mdx +0 -0
  328. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/getting-started.mdx +0 -0
  329. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/marks.mdx +0 -0
  330. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/multilabels.mdx +0 -0
  331. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/nonlinear.mdx +0 -0
  332. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/palettes.mdx +0 -0
  333. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/saving.mdx +0 -0
  334. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/statistics.mdx +0 -0
  335. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/guides/theming.mdx +0 -0
  336. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/index.mdx +0 -0
  337. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/palettes.mdx +0 -0
  338. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/playground.mdx +0 -0
  339. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/annotations.md +0 -0
  340. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/discovery.md +0 -0
  341. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/export.md +0 -0
  342. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/ext.md +0 -0
  343. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/index.md +0 -0
  344. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/inference.md +0 -0
  345. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/labels.md +0 -0
  346. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/marks.md +0 -0
  347. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/metadata.md +0 -0
  348. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/multilabel.md +0 -0
  349. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/nonlinear.md +0 -0
  350. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/palettes.md +0 -0
  351. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/statistics.md +0 -0
  352. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/theme.md +0 -0
  353. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/transforms.md +0 -0
  354. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/reference/utils.md +0 -0
  355. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content/docs/studio.mdx +0 -0
  356. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/content.config.ts +0 -0
  357. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/generated/default_config.toml +0 -0
  358. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/generated/palettes.json +0 -0
  359. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/generated/theme_defaults.json +0 -0
  360. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/lib/runtime.ts +0 -0
  361. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/src/styles/theme.css +0 -0
  362. {dysonsphere-3.4.2 → dysonsphere-3.4.3}/website/tsconfig.json +0 -0
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [3.4.3] - 2026-07-07
6
+
7
+ ### Changes
8
+
9
+ - **Comment-only source cleanup; no functional changes.** Drops a rationale comment from the theme defaults and stale style-guide / version-history wording from the italics pattern comment and a test comment.
10
+
5
11
  ## [3.4.2] - 2026-07-07
6
12
 
7
13
  ### Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dysonsphere
3
- Version: 3.4.2
3
+ Version: 3.4.3
4
4
  Summary: An Altair theme and chart utility library for publication-ready scientific figures.
5
5
  Project-URL: Repository, https://github.com/dkkung/dysonsphere
6
6
  Author-email: dkkung <128324842+dkkung@users.noreply.github.com>
@@ -570,13 +570,13 @@ def _fix_superscript_labels(root: ET.Element) -> None:
570
570
  el.insert(0, tspan)
571
571
 
572
572
 
573
- # Latin statistical symbols that scientific convention (APA/CSE) sets in italic; Greek
574
- # symbols (ρ, τ, η², ε², χ²) stay upright and are deliberately absent. Matched globally
575
- # on rendered text - dysonsphere-generated labels and user annotations alike - because
576
- # the typography is correct regardless of who wrote the text (same policy as
577
- # _SUP_LABEL_PATTERN above). Each alternative is anchored to the exact context our
578
- # labels generate, so accidental matches in prose are rare (and typographically right
579
- # when they do occur).
573
+ # Single-letter Latin statistical symbols, set in italic by scientific convention; Greek
574
+ # symbols (ρ, τ, η², ε², χ²) and multi-letter abbreviations (ns) stay upright and are
575
+ # deliberately absent. Matched globally on rendered text - dysonsphere-generated labels
576
+ # and user annotations alike - because the typography is correct regardless of who wrote
577
+ # the text (same policy as _SUP_LABEL_PATTERN above). Each alternative is anchored to the
578
+ # exact context our labels generate, so accidental matches in prose are rare (and
579
+ # typographically right when they do occur).
580
580
  _ITALIC_STAT_PATTERN = re.compile(
581
581
  r"(?<![A-Za-z])(?:"
582
582
  r"P(?=\s*[=<≈])" # p-value: P = 0.012 / P < 0.001 / P ≈ 10⁻⁵
@@ -42,11 +42,6 @@ _BUILTIN_DEFAULTS: dict[str, Any] = {
42
42
  "dashedLine": False,
43
43
  "dashedRule": True,
44
44
  "dashedWidth": [2, 2],
45
- # The FAMILY name (with space), not the PostScript name "HelveticaNeue": vl-convert's
46
- # rasterizer matches the PostScript name to the regular face only, so the italic face
47
- # (used by export._italicize_stat_symbols) is never found and stat symbols render
48
- # upright in PNGs. Both names resolve to identical regular-face metrics (verified
49
- # byte-identical SVG output), so this is rendering-inert everywhere else.
50
45
  "font": "Helvetica Neue",
51
46
  "fontSize": 7,
52
47
  "secondaryFontSize": None,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dysonsphere"
3
- version = "3.4.2"
3
+ version = "3.4.3"
4
4
  description = "An Altair theme and chart utility library for publication-ready scientific figures."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -813,8 +813,7 @@ class TestItalicizeStatSymbols:
813
813
 
814
814
  def test_ns_label_stays_upright(self):
815
815
  # "ns" is an abbreviation (not significant), not a symbol - multi-letter
816
- # abbreviations stay upright (the whole-label italic shipped in 3.4.0/3.4.1 was
817
- # an APA-ism, dropped in 3.4.2)
816
+ # abbreviations stay upright
818
817
  for label in ("ns", "delay of 10 ns"):
819
818
  root = self._root_with_text(label)
820
819
  _italicize_stat_symbols(root)
@@ -109,7 +109,7 @@ wheels = [
109
109
 
110
110
  [[package]]
111
111
  name = "dysonsphere"
112
- version = "3.4.2"
112
+ version = "3.4.3"
113
113
  source = { editable = "." }
114
114
  dependencies = [
115
115
  { name = "altair" },
@@ -55,28 +55,22 @@ export function fixSuperscripts(root: ParentNode): void {
55
55
  }
56
56
  }
57
57
 
58
- // Client-side port of `export._italicize_stat_symbols()` (dysonsphere >= 3.4.0): Latin
59
- // statistical symbols are set in italic per APA/CSE convention while digits, operators, and
60
- // Greek symbols (η², ε², χ², ρ, τ) stay upright. The library applies this at save() time;
61
- // the same treatment is applied here to the live vega-embed SVG so the site's charts match
62
- // exported figures. The pattern mirrors export._ITALIC_STAT_PATTERN exactly.
58
+ // Client-side port of `export._italicize_stat_symbols()` (dysonsphere >= 3.4.2): single-letter
59
+ // Latin statistical symbols are set in italic per scientific convention while digits, operators,
60
+ // Greek symbols (η², ε², χ², ρ, τ), and multi-letter abbreviations (`ns`) stay upright. The
61
+ // library applies this at save() time; the same treatment is applied here to the live
62
+ // vega-embed SVG so the site's charts match exported figures. The pattern mirrors
63
+ // export._ITALIC_STAT_PATTERN exactly.
63
64
  const ITALIC_STAT =
64
65
  /(?<![A-Za-z])(?:P(?=\s*[=<≈])|[FHA](?=\()|W(?=\s*=)|r(?=²?\s*=)|n(?=\s*=)|y(?=\s*=)|t(?=-test))|(?<=Mann-Whitney )U(?![A-Za-z])|(?<=[\d.])x(?=\s*[+\-−]\s*\d)/g;
65
66
 
66
67
  /**
67
- * Italicize Latin statistical symbols (`P n F H A W r y x t U`, whole-label `ns`) in every
68
- * `<text>` of the rendered chart(s) under `root`. Run AFTER `fixSuperscripts` (both split
69
- * text into tspans; this one walks all remaining text nodes, so it must see the final ones).
68
+ * Italicize Latin statistical symbols (`P n F H A W r y x t U`) in every `<text>` of the
69
+ * rendered chart(s) under `root`. Run AFTER `fixSuperscripts` (both split text into tspans;
70
+ * this one walks all remaining text nodes, so it must see the final ones).
70
71
  */
71
72
  export function italicizeStatSymbols(root: ParentNode): void {
72
73
  for (const text of root.querySelectorAll('svg text')) {
73
- // A label that is exactly "ns" (the asterisks-style non-significant bracket label) is
74
- // italicized whole; "ns" is deliberately NOT matched inside longer text, where it is
75
- // usually prose or a unit (nanoseconds).
76
- if (text.childElementCount === 0 && (text.textContent ?? '').trim() === 'ns') {
77
- text.setAttribute('font-style', 'italic');
78
- continue;
79
- }
80
74
  // Snapshot the text nodes first - matches are replaced by (text, tspan, text) splices.
81
75
  const walker = document.createTreeWalker(text, NodeFilter.SHOW_TEXT);
82
76
  const nodes: Text[] = [];
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes