|
1 | | -Announcing Python-Blosc2 4.4.5 |
| 1 | +Announcing Python-Blosc2 4.5.0 |
2 | 2 | ============================== |
3 | 3 |
|
4 | | -We are happy to announce this release, which promotes the ``b2view`` |
5 | | -terminal data viewer to a core feature — installed by default and with new |
6 | | -interactive row and column filtering — and makes BatchArray block layouts |
7 | | -(and hence compression ratios) reproducible across CPUs. |
| 4 | +We are happy to announce this release, which teaches the ``b2view`` |
| 5 | +terminal data viewer to **plot**, gives ``CTable`` a **pandas-like display |
| 6 | +and CSV** experience, and publishes **WASM/Pyodide wheels to PyPI**. |
8 | 7 |
|
9 | 8 | The main highlights are: |
10 | 9 |
|
11 | | -- **b2view installed by default**: the terminal browser for Blosc2 stores |
12 | | - (``.b2d`` directories and ``.b2z`` files) now ships with the package — |
13 | | - no extras needed. It shows the tree of a store and pages through |
14 | | - NDArrays of any dimensionality and CTables far larger than the screen. |
| 10 | +- **Plotting in b2view**: press ``p`` on a numeric series (a CTable column |
| 11 | + or an array row) to draw an in-terminal line plot. Plots are |
| 12 | + peak-preserving min/max envelopes by default, so no spike or trough is |
| 13 | + hidden however large the series is — large local series stream their |
| 14 | + envelope *exactly*. Zoom into a row range, press ``v`` to lock the data |
| 15 | + grid to it, or ``h`` to open a high-resolution ``matplotlib`` view (new |
| 16 | + optional ``hires`` extra). |
15 | 17 |
|
16 | | -- **Interactive filtering**: press ``f`` on a CTable to type the same |
17 | | - string expressions ``CTable.where()`` accepts (dotted nested names, |
18 | | - ``and``/``or``) and page through just the matching rows, and ``/`` to |
19 | | - narrow the visible columns by substring. Both filters combine, are |
20 | | - remembered per node, and escape clears them one layer at a time. |
| 18 | +- **pandas-like CTable display**: ``to_string()`` now renders the whole |
| 19 | + table by default (with ``max_rows``/``max_width`` to truncate), ``repr`` |
| 20 | + shows the same truncated table as ``str``, and a new |
| 21 | + ``blosc2.printoptions(...)`` context manager plus ``display_width`` / |
| 22 | + ``display_rows`` options control the view. ``to_csv()`` called without a |
| 23 | + path now returns the CSV as a string. |
21 | 24 |
|
22 | | -- **Friendlier mouse and navigation**: the terminal keeps the mouse by |
23 | | - default, so selecting and copying text works as usual (``--mouse`` opts |
24 | | - into capture with click-to-focus and wheel scrolling); ``?`` opens a key |
25 | | - reference, ``c`` jumps to a column by name or index, and float columns |
26 | | - align their decimal points. |
| 25 | +- **WASM/Pyodide wheels on PyPI**: ``blosc2`` now ships ``pyemscripten`` |
| 26 | + wheels for CPython 3.13 and 3.14, so it is ``micropip``-installable in |
| 27 | + Pyodide straight from PyPI. |
27 | 28 |
|
28 | | -- **Reproducible BatchArray layouts**: automatic variable-length block |
29 | | - sizing now uses fixed byte budgets per compression level instead of the |
30 | | - CPU cache sizes, so the layout — and the compression ratio — no longer |
31 | | - depends on the machine that created the array. |
| 29 | +- **Faster strided reads**: ``NDArray`` and ``Column`` getitem gain fast |
| 30 | + paths for large strides and identity gathers, and compact CTable queries |
| 31 | + prune more blocks via cross-column index pruning. |
32 | 32 |
|
33 | | -A quick taste of ``b2view``:: |
| 33 | +A quick taste of the new plotting — open a store and press ``p`` on a |
| 34 | +numeric column:: |
34 | 35 |
|
35 | 36 | $ pip install blosc2 --upgrade |
36 | 37 | $ b2view chicago-taxi.b2z |
37 | 38 |
|
38 | | -Then press ``f`` on the table node and type a filter, e.g.:: |
39 | | - |
40 | | - payment.tips > 100 and trip.km > 0 and trip.sec > 0 |
41 | | - |
42 | | -and page through the 67 matching trips of the 24-million-row table — |
43 | | -instantly, and without decompressing anything you do not look at. |
| 39 | +Zoom into a range, press ``v`` to pin the grid to it, then ``h`` for a |
| 40 | +high-resolution view — all without decompressing anything you do not look |
| 41 | +at. |
44 | 42 |
|
45 | 43 | Install it with:: |
46 | 44 |
|
|
0 commit comments