Skip to main content

Introduction

NeXpy provides a high-level python interface to HDF5 files, particularly those stored as NeXus data, within a simple GUI. It is designed to provide an intuitive interactive toolbox allowing users both to access existing NeXus files and to create new NeXus-conforming data structures without expert knowledge of the file format.

See the NeXpy documentation for more details.

Installing and Running

Released versions of NeXpy can be installed into an existing environment using

    $ pip install nexpy

or

    $ conda install -c conda-forge nexpy

NeXpy will only run if a PyQt library (PyQt5, PyQt6, PySide2 or PySide6) is also installed. With pip (but not conda), a Qt binding can also be installed as an optional extra package

    $ pip install nexpy[qt]

The [qt] extra installs PyQt5 as the Qt binding. If you prefer a different binding, you can use [pyqt6], [pyside2], or [pyside6] instead.

NeXpy can be installed in an isolated environment using

    $ uv tool install nexpy[qt]

or

    $ pipx install nexpy[qt]

The source code can be downloaded from the NeXpy Git repository:

    $ git clone https://github.com/nexpy/nexpy.git

Once installed, NeXpy can be run from the command line:

    $ nexpy -h
    usage: nexpy [-h] [-v] [-r] [-f] [filenames ...]

    Launch NeXpy

    positional arguments:
      filenames             NeXus file(s) to open on launch (optional)

    options:
      -h, --help            show this help message and exit
      -v, --version         show program's version number and exit
      -r, --restore         open files from previous session
      -f, --faulthandler    enable faulthandler for system crashes

Prerequisites

Python Command-Line API

NeXpy provides a GUI interface to the nexusformat API, which uses h5py to read and write HDF5 files that implement the NeXus data format standard. It does not use the NeXus C API, which means that the current version cannot read and write legacy HDF4 or XML NeXus files. One of the NeXus conversion utilities should be used to convert such files to HDF5.

If you only intend to utilize the Python API from the command-line, the only other required libraries are NumPy and SciPy. Autocompletion of group and field paths within an open file is available if IPython is installed.

NeXpy GUI

The GUI is built using Qt. The qtpy package is used to import whatever Qt binding is installed. One of PyQt5, PyQt6, PySide2, or PySide6 must be installed separately (see installation instructions above).

The GUI embeds an IPython shell and Matplotlib plotting pane, within a Qt GUI based on the Jupyter QtConsole with an in-process kernel.

Least-squares fitting of 1D data uses the LMFIT package.

Additional Packages

Importers may require additional libraries to read the imported files in their native format, e.g., spec2nexus for reading SPEC files or FabIO for reading TIFF and CBF images.

A 2D smoothing option is available in the list of interpolations in the signal tab if astropy is installed. It is labelled 'convolve' and provides, by default, a 2-pixel Gaussian smoothing of the data. The number of pixels can be changed in the shell by setting plotview.smooth.

The following packages are recommended.

To run with the GUI

To run from the installed location, add the $prefix/bin directory to your path if you installed outside the python installation, and then run:

    $ nexpy [-r]

The -r option restores all files loaded in the previous session.

User Support

Consult the NeXpy documentation for details of both the Python command-line API and how to use the NeXpy GUI. If you have any general questions concerning the use of NeXpy, please address them to the NeXus Mailing List. If you discover any bugs, please submit a Github issue, preferably with relevant tracebacks.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nexpy-2.0.2.tar.gz (6.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nexpy-2.0.2-py3-none-any.whl (631.1 kB view details)

Uploaded Python 3

File details

Details for the file nexpy-2.0.2.tar.gz.

File metadata

  • Download URL: nexpy-2.0.2.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for nexpy-2.0.2.tar.gz
Algorithm Hash digest
SHA256 ce2c75f865d57f2ceeb2c781a63021175f128d14bc6ff65b04a1dbfffa334344
MD5 74857883018dfa0947afcdef237cbe4b
BLAKE2b-256 afbfed910680f32504831240ee43062d312cb0922ea23791321e9549add75d50

See more details on using hashes here.

File details

Details for the file nexpy-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: nexpy-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 631.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for nexpy-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe3c310f1cd56fa3d028ab9a9aab01ded03e70fd8f58ea79d5646d05bff503c2
MD5 f6df2d3c17748f252e9c72a5ea401357
BLAKE2b-256 4003a77df29a80dff9eade8774512b75a22d630f65ed78c9a251987780b30af8

See more details on using hashes here.

Release history Release notifications | RSS feed

2.0.3

2 files

This release

2.0.2 This release

2 files

2.0.1

2 files

2.0.0

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.14.8

2 files

0.14.7

2 files

0.14.6

2 files

0.14.5

2 files

0.14.4

2 files

0.14.3

2 files

0.14.2

2 files

0.14.1

2 files

0.14.0

2 files

0.13.3

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.7

2 files

0.12.6

2 files

0.12.5

2 files

0.12.4

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.12

1 file

0.10.11

1 file

0.10.10

1 file

0.10.9

1 file

0.10.8

1 file

0.10.7

1 file

0.10.6

1 file

0.10.5

1 file

0.10.4

1 file

0.10.3

1 file

0.10.2

1 file

0.10.1

1 file

0.10.0

1 file

0.9.3

1 file

0.9.2

1 file

0.9.1

1 file

0.9.0

1 file

0.8.1

1 file

0.8.0

1 file

0.7.2

1 file

0.7.1

1 file

0.7.0

1 file

0.6.5

1 file

0.6.4

1 file

0.6.3

1 file

0.6.2

1 file

0.6.1

1 file

0.6.0

1 file

0.5.4

1 file

0.5.3

1 file

0.5.2

1 file

0.5.1

1 file

0.5.0

1 file

0.4.7

1 file

0.4.6

1 file

0.4.5

1 file

0.4.4

1 file

0.4.3

1 file

0.4.2

1 file

0.4.1

1 file

0.4.0

1 file

0.3.0

1 file

0.2.1

1 file

0.2.0

1 file

0.1.7

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page