nexpy

NeXpy provides a high-level python interface to NeXus data contained 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.

https://github.com/nexpy/nexpy

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    7 of 12 committers (58.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords from Contributors

parallelization qt
Last synced: 10 months ago · JSON representation

Repository

NeXpy provides a high-level python interface to NeXus data contained 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.

Basic Info
Statistics
  • Stars: 51
  • Watchers: 13
  • Forks: 23
  • Open Issues: 5
  • Releases: 86
Created about 13 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

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 using either

$ pip install nexpy

or::

$ conda install -c conda-forge nexpy

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

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

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 PyQt. The qtpy package is used to import whatever PyQt library is installed, whether PyQt5, PyQt6, PySide2, or PySide6.

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.

Owner

  • Name: NeXpy
  • Login: nexpy
  • Kind: organization
  • Email: nexpydev@gmail.com

GitHub Events

Total
  • Create event: 7
  • Issues event: 4
  • Release event: 6
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 3
  • Push event: 46
  • Pull request review event: 2
  • Pull request event: 65
  • Fork event: 1
Last Year
  • Create event: 7
  • Issues event: 4
  • Release event: 6
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 3
  • Push event: 46
  • Pull request review event: 2
  • Pull request event: 65
  • Fork event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 2,245
  • Total Committers: 12
  • Avg Commits per committer: 187.083
  • Development Distribution Score (DDS): 0.048
Past Year
  • Commits: 92
  • Committers: 1
  • Avg Commits per committer: 92.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ray Osborn r****n@m****m 2,137
Pete Jemian p****n@g****m 59
Justin M Wozniak w****k@m****v 27
Thomas A Caswell t****l@b****v 5
Pete Peterson p****f@o****v 3
Tom Schoonjans T****s@d****k 3
Ray Osborn r****n@a****v 3
Peter Jemian j****n@g****v 2
Jan Kotanski j****n@g****m 2
Pete R Jemian p****n 2
Thomas A Caswell t****l@g****m 1
Matthias Vogelgesang m****g@k****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 24
  • Total pull requests: 170
  • Average time to close issues: 11 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 14
  • Total pull request authors: 4
  • Average comments per issue: 2.75
  • Average comments per pull request: 0.08
  • Merged pull requests: 160
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 3
  • Pull requests: 57
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 hour
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 48
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • rayosborn (9)
  • j-woz (2)
  • spc93 (2)
  • aconceicao (1)
  • picca (1)
  • krogstad (1)
  • cucrui (1)
  • prjemian (1)
  • keara-soloway (1)
  • aglie (1)
  • njweadock (1)
  • candiedhaw (1)
  • llimeht (1)
  • zzj1965186613 (1)
Pull Request Authors
  • rayosborn (167)
  • mrakitin (2)
  • dependabot[bot] (1)
  • tacaswell (1)
Top Labels
Issue Labels
bug (4) maintenance (3) enhancement (3) question (2)
Pull Request Labels
dependencies (1) github_actions (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 632 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 117
  • Total maintainers: 2
pypi.org: nexpy

A Python GUI to analyze NeXus data

  • Versions: 96
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 632 Last month
Rankings
Forks count: 8.9%
Stargazers count: 9.9%
Dependent packages count: 10.1%
Downloads: 11.7%
Average: 12.4%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 11 months ago
conda-forge.org: nexpy
  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.4%
Forks count: 38.0%
Average: 38.9%
Stargazers count: 41.5%
Dependent packages count: 51.6%
Last synced: 10 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite