Metadata-Version: 2.4
Name: arrayview
Version: 0.3.0
Summary: Fast multi-dimensional array viewer
Project-URL: Home, https://github.com/oscarvanderheide/arrayview
Project-URL: Source, https://github.com/oscarvanderheide/arrayview
Author-email: Oscar <oscarvanderheide@example.com>
License: MIT
License-File: LICENSE
Keywords: array,mri,npy,viewer,visualization
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Requires-Dist: fastapi>=0.129.0
Requires-Dist: h5py>=3.0
Requires-Dist: matplotlib>=3.9.0
Requires-Dist: nibabel>=5.3.3
Requires-Dist: numpy>=2.4.2
Requires-Dist: pillow>=12.1.1
Requires-Dist: pyqt5>=5.15; sys_platform == 'linux'
Requires-Dist: pyqtwebengine>=5.15; sys_platform == 'linux'
Requires-Dist: pywebview>=6.1
Requires-Dist: qmricolors>=0.1.2
Requires-Dist: qtpy>=2.0; sys_platform == 'linux'
Requires-Dist: scipy>=1.10
Requires-Dist: tifffile>=2023.1.1
Requires-Dist: uvicorn>=0.41.0
Requires-Dist: websockets>=14.0
Requires-Dist: zarr>=2.17
Description-Content-Type: text/markdown

# arrayview

A fast, minimal viewer for multi-dimensional arrays, inspired by the great
[arrShow](https://github.com/tsumpf/arrShow) and [sigpy's ImagePlot](https://github.com/mikgroup/sigpy/blob/5da0e8605f166be41e520ef0ef913482487611d8/sigpy/plot.py#L48).

- CLI and Python useage
- Inline in Jupyter / vscode interactive window
- Runs locally, over SSH, and through VS Code tunnels

## CLI

`uvx arrayview your_array.npy`

Opens in a native window. To open in browser, pass `--browser` flag.

## Python

`uv add arrayview`

```python
from arrayview import view
import numpy as np

np.random.rand(256,256,32,2)
view(x)
```

## Development

```bash
git clone https://github.com/oscarvanderheide/arrayview
cd arrayview
uv sync --group test
uv run playwright install chromium
```

Run the tests:

```bash
uv run pytest tests/              # all (API + browser, ~100s)
uv run pytest tests/test_api.py   # HTTP layer only (~40s)
uv run pytest tests/test_browser.py  # Playwright/Chromium only (~60s)
```

Visual regression baselines live in `tests/snapshots/`. Delete a file there to reset its baseline.
