hilbertplot 1.0.0__tar.gz → 1.0.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 (50) hide show
  1. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/CHANGELOG.md +13 -0
  2. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/PKG-INFO +1 -1
  3. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/pyproject.toml +1 -1
  4. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/__init__.py +1 -1
  5. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_robustness.py +10 -6
  6. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/.gitignore +0 -0
  7. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/LICENSE +0 -0
  8. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/README.md +0 -0
  9. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/examples/groups.py +0 -0
  10. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/examples/plot_catalog.py +0 -0
  11. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/examples/plot_data.py +0 -0
  12. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/examples/readme_figures.py +0 -0
  13. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/examples/show_curve.py +0 -0
  14. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/examples/try_api.py +0 -0
  15. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/scripts/build_release.sh +0 -0
  16. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/scripts/check_release.py +0 -0
  17. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_api.py +0 -0
  18. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/__init__.py +0 -0
  19. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/arbitrary.py +0 -0
  20. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/catalog.py +0 -0
  21. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/curve.py +0 -0
  22. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/generation.py +0 -0
  23. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/geometry.py +0 -0
  24. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/indexing.py +0 -0
  25. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/limits.py +0 -0
  26. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_core/symmetry.py +0 -0
  27. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_data/__init__.py +0 -0
  28. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_data/conversion.py +0 -0
  29. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_data/mapping.py +0 -0
  30. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_viz/__init__.py +0 -0
  31. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_viz/hilbert_plot.py +0 -0
  32. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/_viz/render.py +0 -0
  33. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/config.py +0 -0
  34. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/curves.py +0 -0
  35. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/data.py +0 -0
  36. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/src/hilbertplot/py.typed +0 -0
  37. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/conftest.py +0 -0
  38. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_api.py +0 -0
  39. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_arbitrary.py +0 -0
  40. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_catalog.py +0 -0
  41. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_conversion.py +0 -0
  42. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_curve_shapes.py +0 -0
  43. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_data.py +0 -0
  44. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_geometry.py +0 -0
  45. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_indexing.py +0 -0
  46. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_performance.py +0 -0
  47. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_plotting.py +0 -0
  48. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_readme.py +0 -0
  49. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_symmetry.py +0 -0
  50. {hilbertplot-1.0.0 → hilbertplot-1.0.1}/tests/test_words.py +0 -0
@@ -63,6 +63,19 @@ validates `fit` instead of ignoring it.
63
63
 
64
64
  <!-- version list -->
65
65
 
66
+ ## v1.0.1 (2026-11-01)
67
+
68
+ ### Bug Fixes
69
+
70
+ - Provide citation metadata for software archives
71
+ ([`be2d92b`](https://github.com/El3ssar/hilbertplot/commit/be2d92b00b5d8ce083eec3c6c9ec5a2d9215028c))
72
+
73
+ ### Testing
74
+
75
+ - Measure construction allocations without interpreter overhead
76
+ ([`0b95704`](https://github.com/El3ssar/hilbertplot/commit/0b9570438681c47d0736415c1e74fb8522d2f04e))
77
+
78
+
66
79
  ## v1.0.0 (2026-11-01)
67
80
 
68
81
  ### Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: hilbertplot
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: The complete set of 40 two-dimensional Hilbert curves, and data plots on them.
5
5
  Project-URL: Homepage, https://github.com/El3ssar/hilbertplot
6
6
  Project-URL: Source, https://github.com/El3ssar/hilbertplot
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hilbertplot"
7
- version = "1.0.0"
7
+ version = "1.0.1"
8
8
  description = "The complete set of 40 two-dimensional Hilbert curves, and data plots on them."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -27,7 +27,7 @@ all custom curve and plot classes are implementation details.
27
27
  from . import config, curves, data
28
28
  from ._api import gallery, plot, plot_curve
29
29
 
30
- __version__ = "1.0.0"
30
+ __version__ = "1.0.1"
31
31
 
32
32
  __all__ = ["__version__", "config", "curves", "data", "gallery", "plot", "plot_curve"]
33
33
 
@@ -542,16 +542,20 @@ def test_construction_does_not_triple_peak_memory():
542
542
  import sys
543
543
 
544
544
  script = """
545
- import numpy as np, resource, sys
545
+ import numpy as np, tracemalloc
546
546
  from hilbertplot._viz.hilbert_plot import hilbert_plot as make_plot
547
547
  n = 8_000_000
548
+ # NumPy traces its data buffers. Start after imports so interpreter overhead and
549
+ # inherited process high-water marks cannot masquerade as another array copy.
550
+ tracemalloc.start()
548
551
  data = np.arange(n, dtype=float)
549
- mib = n * 8 / 2**20
550
552
  plot = make_plot(0, data)
551
- rss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
552
- peak = rss / (2**20 if sys.platform == "darwin" else 1024)
553
- assert plot.data[0] == 0.0
554
- print(round(peak / mib, 2))
553
+ current, peak = tracemalloc.get_traced_memory()
554
+ if current < 2 * data.nbytes:
555
+ raise AssertionError("NumPy data buffers were not tracked")
556
+ if plot.data[0] != 0.0:
557
+ raise AssertionError("construction changed the input")
558
+ print(round(peak / data.nbytes, 2))
555
559
  """
556
560
  ratio = float(
557
561
  subprocess.run(
File without changes
File without changes
File without changes