pyhdfview (0.9.0.post1.dev8+g30425ea.d20230511)

Published 2023-05-11 08:33:57 +00:00 by calipp

Installation

pip install --index-url  pyhdfview

About this package

An HDF5 viewer in python

.. image:: src/pyhdfview/icons/splash.png :width: 500px :align: center

========= PyHDFView

PyHDFView is a Qt (PySide/PyQt) based viewer for various files that can in some way be represented as hierarchical data (most importantly HDF5) files. Readily available file formats are hdf5, csv, images, json, matlab, numpy (npz, npy). Due to a simple plugin system for file types this list can easily be extended.

Features

  • Only load parts of datasets into memory (loads more as you scroll) (if allowed by used filetype plugin)
  • Plots using matplotlib or PyQtGraph.
  • Plot 1d and 2d data
  • Plot selection of data
  • Plot any slice in 3D data
  • Plot xy with arbitrary datasets for x and y (if length matches)
  • Plot windows can be docked to main window
  • Rolling mean on PyQtGraph Plots
  • File formats as plugins, can easily be extended (Included plugins for hdf5, csv, images, json, matlab, numpy (npz, npy))
  • Endless possibilities with plugins
  • Embedded python console
  • Open multiple files (configurable)
  • Open files in tabs (configurable)
  • Show attributes (if filetype plugin implements them) including dataset shape and storage size (filterable)
  • Quick startup
  • Possibility of single instance with multiple windows (almost instant startup)
  • Copy or Export Selection as tab separated values
  • Jump to rows or columns directly without manual scrolling
  • Squeezes single entry dimensions for best handling

Setup

Installation without optional packages::

python setup.py install

Installation with optional packages with pip::

pip install ".[ipyconsole,pyqtgraph]"

On Windows it is possible to add desktop and start menu links by running pyhdfview once and in settings->core clicking on the corresponding buttons. There it is also possibility to create a .bat file that can be used as "open with" program (creates on desktop, can be moved)

Usage

After installation::

pyhdfview [path to file]

Run without installation::

python src/run.py

Screenshots

.. image:: docs/screenshots/base.png :width: 500px

.. image:: docs/screenshots/base_light.png :width: 500px

.. image:: docs/screenshots/lineplot.png :width: 500px

.. image:: docs/screenshots/2dplot.png :width: 500px

Note on Version Numbers

The version numbers for PyHDFView look like semantic versioning (Major.Minor.Patch). However, as a desktop application which is not used in dependency management and that does not really have an API, strict semantic versioning is neither necessary nor possible.

Therefore the versioning uses a "significance" scheme:

  • Patch numbers increase for bug fixes and minor enhancements.
  • Minor numbers increase for new features and larger enhancements. Multiple features and changes might be combined in a minor release.
  • Major numbers are used to label a version with a significant number of features and enhancements.. This means features are "collected" in minor versions of the previous major version. At some point when the previous major version is stable and contains a significant number of features and enhancements a new major version is created. Version Ma.0.0 might be the same as (Ma-1).Mi.Pa and just serve as a label. It does not make sense for PyHDFView to hold off on features until the next major version and features are released early. This is basically a rolling release model.

Requirements

Requires Python: >3.5