mgplot 0.2.21__tar.gz → 0.2.23__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 (56) hide show
  1. mgplot-0.2.23/.claude/settings.local.json +7 -0
  2. {mgplot-0.2.21 → mgplot-0.2.23}/CHANGELOG.md +52 -0
  3. {mgplot-0.2.21 → mgplot-0.2.23}/PKG-INFO +1 -1
  4. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/finalise_plot.html +783 -688
  5. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot.html +135 -101
  6. mgplot-0.2.23/docs/search.js +46 -0
  7. {mgplot-0.2.21 → mgplot-0.2.23}/pyproject.toml +1 -1
  8. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/axis_utils.py +67 -15
  9. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/finalise_plot.py +59 -8
  10. mgplot-0.2.23/test/test_splat_sequences.py +219 -0
  11. {mgplot-0.2.21 → mgplot-0.2.23}/uv.lock +354 -341
  12. mgplot-0.2.21/docs/search.js +0 -46
  13. mgplot-0.2.21/test/test_splat_sequences.py +0 -118
  14. {mgplot-0.2.21 → mgplot-0.2.23}/.gitignore +0 -0
  15. {mgplot-0.2.21 → mgplot-0.2.23}/.pylintrc +0 -0
  16. {mgplot-0.2.21 → mgplot-0.2.23}/LICENSE +0 -0
  17. {mgplot-0.2.21 → mgplot-0.2.23}/README.md +0 -0
  18. {mgplot-0.2.21 → mgplot-0.2.23}/build-all.sh +0 -0
  19. {mgplot-0.2.21 → mgplot-0.2.23}/build-docs.sh +0 -0
  20. {mgplot-0.2.21 → mgplot-0.2.23}/docs/index.html +0 -0
  21. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/bar_plot.html +0 -0
  22. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/fill_between_plot.html +0 -0
  23. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/growth_plot.html +0 -0
  24. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/line_plot.html +0 -0
  25. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/postcovid_plot.html +0 -0
  26. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/revision_plot.html +0 -0
  27. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/run_plot.html +0 -0
  28. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/seastrend_plot.html +0 -0
  29. {mgplot-0.2.21 → mgplot-0.2.23}/docs/mgplot/summary_plot.html +0 -0
  30. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/__init__.py +0 -0
  31. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/bar_plot.py +0 -0
  32. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/colors.py +0 -0
  33. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/fill_between_plot.py +0 -0
  34. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/finalisers.py +0 -0
  35. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/growth_plot.py +0 -0
  36. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/keyword_checking.py +0 -0
  37. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/line_plot.py +0 -0
  38. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/lint-all.sh +0 -0
  39. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/multi_plot.py +0 -0
  40. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/postcovid_plot.py +0 -0
  41. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/py.typed +0 -0
  42. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/revision_plot.py +0 -0
  43. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/run_plot.py +0 -0
  44. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/seastrend_plot.py +0 -0
  45. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/settings.py +0 -0
  46. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/summary_plot.py +0 -0
  47. {mgplot-0.2.21 → mgplot-0.2.23}/src/mgplot/utilities.py +0 -0
  48. {mgplot-0.2.21 → mgplot-0.2.23}/test/test-executed.ipynb +0 -0
  49. {mgplot-0.2.21 → mgplot-0.2.23}/test/test.ipynb +0 -0
  50. {mgplot-0.2.21 → mgplot-0.2.23}/test/test_bar_string_index.py +0 -0
  51. {mgplot-0.2.21 → mgplot-0.2.23}/test/test_multi_series_ticks.py +0 -0
  52. {mgplot-0.2.21 → mgplot-0.2.23}/test/test_zorder.py +0 -0
  53. {mgplot-0.2.21 → mgplot-0.2.23}/test/zz-test-data/ocr_rba.csv +0 -0
  54. {mgplot-0.2.21 → mgplot-0.2.23}/test/zz-test-data/revisions.csv +0 -0
  55. {mgplot-0.2.21 → mgplot-0.2.23}/test/zz-test-data/summary.csv +0 -0
  56. {mgplot-0.2.21 → mgplot-0.2.23}/uv-upgrade.sh +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(uv run *)"
5
+ ]
6
+ }
7
+ }
@@ -1,3 +1,55 @@
1
+ Version 0.2.23 - released 24-Apr-2026 (Canberra, Australia)
2
+
3
+ * bug fix
4
+ - finalise_plot() now refreshes PeriodIndex x-axis ticks after applying
5
+ late-stage splat kwargs (axvspan, axvline). Previously, an axvspan or
6
+ axvline that extended the view beyond the plotted data (e.g. a
7
+ recession shade for dates before the series starts) would widen the
8
+ xlim but leave the tick labels frozen at the original data range
9
+ - a Period passed to axvspan/axvline now also widens the stashed period
10
+ range, so tick labels cover the span even when matplotlib's auto-scale
11
+ does not visibly extend the view
12
+
13
+ * enhancement
14
+ - factored label regeneration out of set_labels() into the new
15
+ refresh_period_labels() helper in axis_utils
16
+ - added axes_only=True flag to finalise_plot() that suppresses all
17
+ figure-level side effects (fig.set_size_inches, fig.tight_layout,
18
+ fig.suptitle, header/footer fig.text, savefig, plt.show, plt.close).
19
+ Use when finalising individual axes inside a multi-panel figure
20
+ created with plt.subplots — the caller manages figure-level layout
21
+ and saving themselves
22
+ - added test_axvspan_period_widens_ticks and test_axes_only_preserves_figure
23
+ to test/test_splat_sequences.py
24
+ - added filename kwarg to finalise_plot() that overrides the title-derived
25
+ stem used in the saved file's name. The override is sanitized and still
26
+ composed with pre_tag/tag/file_type, so existing tagging behaviour is
27
+ preserved
28
+
29
+ ---
30
+
31
+ Version 0.2.22 - released 22-Apr-2026 (Canberra, Australia)
32
+
33
+ * bug fix
34
+ - finalise_plot() now converts pandas Period values passed to axvline
35
+ (x) and axvspan (xmin, xmax) into their integer ordinals, matching
36
+ the ordinal-mapped x-axis used for PeriodIndex plots
37
+
38
+ * enhancement
39
+ - axis_utils now stashes (freq, min_ordinal, max_ordinal) on any Axes
40
+ that mgplot period-maps, via register_period_axes() / get_period_axes()
41
+ - set_labels() registers the PeriodIndex and uses the union of the
42
+ stashed ordinal range and the current xlim when building tick labels
43
+ - plotting a second PeriodIndex with a different freq onto the same
44
+ axes now raises ValueError (ordinals live in different spaces)
45
+ - finalise_plot() raises ValueError when a Period passed to
46
+ axvline/axvspan has a freq that does not match the axes' stashed freq;
47
+ axes without a stash (e.g. external matplotlib axes) retain the
48
+ trust-the-programmer behaviour and just use Period.ordinal
49
+ - added freq-mismatch tests to test/test_splat_sequences.py
50
+
51
+ ---
52
+
1
53
  Version 0.2.21 - released 17-Mar-2026 (Canberra, Australia)
2
54
 
3
55
  * enhancement
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mgplot
3
- Version: 0.2.21
3
+ Version: 0.2.23
4
4
  Summary: mgplot is a time-series/PeriodIndex frontend for matplotlib
5
5
  Project-URL: Repository, https://github.com/bpalmer4/mgplot
6
6
  Project-URL: Homepage, https://github.com/bpalmer4/mgplot