mgplot 0.2.22__tar.gz → 0.2.24__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 (57) hide show
  1. mgplot-0.2.24/.claude/settings.local.json +7 -0
  2. mgplot-0.2.24/.python-version +1 -0
  3. {mgplot-0.2.22 → mgplot-0.2.24}/CHANGELOG.md +53 -0
  4. {mgplot-0.2.22 → mgplot-0.2.24}/PKG-INFO +1 -1
  5. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/finalise_plot.html +713 -653
  6. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot.html +102 -68
  7. mgplot-0.2.24/docs/search.js +46 -0
  8. {mgplot-0.2.22 → mgplot-0.2.24}/pyproject.toml +1 -1
  9. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/__init__.py +4 -2
  10. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/axis_utils.py +28 -21
  11. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/finalise_plot.py +32 -12
  12. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/settings.py +31 -0
  13. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/summary_plot.py +7 -3
  14. mgplot-0.2.24/test/test_chart_subdir.py +82 -0
  15. {mgplot-0.2.22 → mgplot-0.2.24}/test/test_splat_sequences.py +49 -0
  16. {mgplot-0.2.22 → mgplot-0.2.24}/uv.lock +509 -438
  17. mgplot-0.2.22/docs/search.js +0 -46
  18. {mgplot-0.2.22 → mgplot-0.2.24}/.gitignore +0 -0
  19. {mgplot-0.2.22 → mgplot-0.2.24}/.pylintrc +0 -0
  20. {mgplot-0.2.22 → mgplot-0.2.24}/LICENSE +0 -0
  21. {mgplot-0.2.22 → mgplot-0.2.24}/README.md +0 -0
  22. {mgplot-0.2.22 → mgplot-0.2.24}/build-all.sh +0 -0
  23. {mgplot-0.2.22 → mgplot-0.2.24}/build-docs.sh +0 -0
  24. {mgplot-0.2.22 → mgplot-0.2.24}/docs/index.html +0 -0
  25. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/bar_plot.html +0 -0
  26. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/fill_between_plot.html +0 -0
  27. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/growth_plot.html +0 -0
  28. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/line_plot.html +0 -0
  29. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/postcovid_plot.html +0 -0
  30. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/revision_plot.html +0 -0
  31. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/run_plot.html +0 -0
  32. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/seastrend_plot.html +0 -0
  33. {mgplot-0.2.22 → mgplot-0.2.24}/docs/mgplot/summary_plot.html +0 -0
  34. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/bar_plot.py +0 -0
  35. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/colors.py +0 -0
  36. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/fill_between_plot.py +0 -0
  37. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/finalisers.py +0 -0
  38. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/growth_plot.py +0 -0
  39. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/keyword_checking.py +0 -0
  40. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/line_plot.py +0 -0
  41. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/lint-all.sh +0 -0
  42. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/multi_plot.py +0 -0
  43. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/postcovid_plot.py +0 -0
  44. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/py.typed +0 -0
  45. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/revision_plot.py +0 -0
  46. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/run_plot.py +0 -0
  47. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/seastrend_plot.py +0 -0
  48. {mgplot-0.2.22 → mgplot-0.2.24}/src/mgplot/utilities.py +0 -0
  49. {mgplot-0.2.22 → mgplot-0.2.24}/test/test-executed.ipynb +0 -0
  50. {mgplot-0.2.22 → mgplot-0.2.24}/test/test.ipynb +0 -0
  51. {mgplot-0.2.22 → mgplot-0.2.24}/test/test_bar_string_index.py +0 -0
  52. {mgplot-0.2.22 → mgplot-0.2.24}/test/test_multi_series_ticks.py +0 -0
  53. {mgplot-0.2.22 → mgplot-0.2.24}/test/test_zorder.py +0 -0
  54. {mgplot-0.2.22 → mgplot-0.2.24}/test/zz-test-data/ocr_rba.csv +0 -0
  55. {mgplot-0.2.22 → mgplot-0.2.24}/test/zz-test-data/revisions.csv +0 -0
  56. {mgplot-0.2.22 → mgplot-0.2.24}/test/zz-test-data/summary.csv +0 -0
  57. {mgplot-0.2.22 → mgplot-0.2.24}/uv-upgrade.sh +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(uv run *)"
5
+ ]
6
+ }
7
+ }
@@ -0,0 +1 @@
1
+ 3.14
@@ -1,3 +1,56 @@
1
+ Version 0.2.24 - released 4-Jun-2026 (Canberra, Australia)
2
+
3
+ * enhancement
4
+ - added the chart_subdir() context manager to settings.py. It
5
+ temporarily redirects chart output to a subdirectory of the current
6
+ chart_dir, optionally clearing the subdirectory of image files on
7
+ entry (clear=True), and restores the previous chart directory on
8
+ exit, even if an exception is raised. Yields the subdirectory path.
9
+ Useful in notebooks that group saved charts into per-topic
10
+ subdirectories
11
+ - added test/test_chart_subdir.py covering redirect/restore,
12
+ exception safety, clear=True semantics and nested contexts
13
+ - sorted __all__ in __init__.py (removed a duplicate "run_plot"
14
+ entry), fixing a pre-existing RUF022 lint error
15
+ - resolved all remaining mypy/pyright errors with runtime type
16
+ narrowing (no casts): plot_latest_datapoint() in summary_plot.py
17
+ now verifies datapoints are numeric (raising TypeError otherwise)
18
+ before calling float(), and apply_splat_kwargs() in
19
+ finalise_plot.py narrows dynamically-fetched kwarg values before
20
+ passing them to _apply_splat()
21
+
22
+ ---
23
+
24
+ Version 0.2.23 - released 24-Apr-2026 (Canberra, Australia)
25
+
26
+ * bug fix
27
+ - finalise_plot() now refreshes PeriodIndex x-axis ticks after applying
28
+ late-stage splat kwargs (axvspan, axvline). Previously, an axvspan or
29
+ axvline that extended the view beyond the plotted data (e.g. a
30
+ recession shade for dates before the series starts) would widen the
31
+ xlim but leave the tick labels frozen at the original data range
32
+ - a Period passed to axvspan/axvline now also widens the stashed period
33
+ range, so tick labels cover the span even when matplotlib's auto-scale
34
+ does not visibly extend the view
35
+
36
+ * enhancement
37
+ - factored label regeneration out of set_labels() into the new
38
+ refresh_period_labels() helper in axis_utils
39
+ - added axes_only=True flag to finalise_plot() that suppresses all
40
+ figure-level side effects (fig.set_size_inches, fig.tight_layout,
41
+ fig.suptitle, header/footer fig.text, savefig, plt.show, plt.close).
42
+ Use when finalising individual axes inside a multi-panel figure
43
+ created with plt.subplots — the caller manages figure-level layout
44
+ and saving themselves
45
+ - added test_axvspan_period_widens_ticks and test_axes_only_preserves_figure
46
+ to test/test_splat_sequences.py
47
+ - added filename kwarg to finalise_plot() that overrides the title-derived
48
+ stem used in the saved file's name. The override is sanitized and still
49
+ composed with pre_tag/tag/file_type, so existing tagging behaviour is
50
+ preserved
51
+
52
+ ---
53
+
1
54
  Version 0.2.22 - released 22-Apr-2026 (Canberra, Australia)
2
55
 
3
56
  * bug fix
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mgplot
3
- Version: 0.2.22
3
+ Version: 0.2.24
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