Skip to main content

ParSeq is a python software library for Parallel execution of Sequential data analysis

Project description

ParSeq

Package ParSeq is a python software library for Parallel execution of Sequential data analysis workflows. It implements a general analysis framework built around transformation nodes -- intermediate steps in a data pipeline used for visualization, cross-data operations (e.g., averaging), user interaction and status reporting -- and the transformations that connect these nodes.

ParSeq provides an adjustable data tree model that supports grouping, renaming, moving and drag-and-drop arrangement of datasets. It also includes customizable data format definitions, plotting tools for 1D, 2D, and 3D data, cross-data analysis routines and a flexible widget workspace suitable for both single- and multi-screen environments. ParSeq defines a structure for implementing specific analysis pipelines as lightweight Python packages.

ParSeq is primarily designed for synchrotron-based techniques, with a particular emphasis on spectroscopy.

An example application is ParSeq-XAS, an EXAFS analysis pipeline, shown in the screenshot below:

Main features

  • ParSeq enables the creation of analysis pipelines as lightweight Python packages.

  • Flexible use of screen space through detachable and dockable transformation nodes (components of the analysis pipeline).

  • Two modes of applying GUI actions to multiple datasets: (a) simultaneous operations on multiple selected datasets, and (b) copying individual parameters or parameter groups from active datasets to subsequently selected datasets.

  • Undo and redo support for most data processing steps.

  • Ability to enter the analysis pipeline at any node, not only at its starting point.

  • Creation of cross-data combinations (including average, sum, RMS, classical PCA, cumulative PCA, Target Transformation and MCR-ALS), with downstream propagation alongside the parent data. Parent datasets can optionally be terminated at any selected downstream node.

  • General data correction routines for 1D data, including range deletion, scaling, spline replacement, spike removal, and jump correction.

  • Parallel execution of data transformations using either multiprocessing or multithreading (configurable by the pipeline application).

  • Optional curve-fitting solvers, also supporting parallel execution across multiple datasets.

  • Informative error handling, providing alerts and stack traceback with the type and location of errors.

  • Optional time profiling of the pipeline, controllable via a command-line option.

  • Export of workflows to project files, as well as data export to various formats, accompanied by Python scripts that visualize the exported data in publication-quality plots.

  • Support for container files (currently HDF5), which are represented as subfolders within the system file tree. The file tree, including containers, is lazy-loaded to efficiently handle large datasets.

  • Integrated web viewer widget for each analysis node, displaying help pages automatically generated from docstrings using Sphinx at startup.

  • The pipeline can be executed either through the GUI or via Python scripts (headless operation).

  • Optional automatic loading of new data during ongoing measurements.

The mechanisms for creating nodes, transformations, and curve-fitting solvers, as well as for connecting them and developing Qt widgets for transformations and curve fitting, are demonstrated in separately distributed packages:

Running without installation

Download the ZIP archives of ParSeq and a ParSeq pipeline from GitHub. Extract their contents (e.g., parseq and parseq_XES_scan folders) into the same suitable directory. Install the [dependencies] (https://parseq.readthedocs.io/instructions.html), then run the pipeline starter.

One advantage of this approach is that a single ParSeq installation can be shared across multiple Python environments.

Running with installation

a) Install py pip: pip install parseq and e.g. pip install parseq-XAS. b) Alternatively, install from unzipped GitHub sources. Navigate to the directories containing pyproject.toml and run: python -m pip install ..

After installation, pipeline starters can be executed directly from the command line, for example: parseq-XAS.

Launch an example

Run the *_start.py module of a pipeline. If ParSeq and the corresponding pipeline are installed (rather than simply unpacked), these starters are also available as command-line commands.

You can invoke them with the --help option to explore the available parameters. A common usage pattern is to load a project (.pspj) file either from the GUI or directly via the command line at startup.

Documentation

See the documentation inside ParSeq or on https://parseq.readthedocs.io Documentation Status

Project details


Download files

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

Source Distribution

parseq-2026.6.0.tar.gz (3.4 MB view details)

Uploaded Source

File details

Details for the file parseq-2026.6.0.tar.gz.

File metadata

  • Download URL: parseq-2026.6.0.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for parseq-2026.6.0.tar.gz
Algorithm Hash digest
SHA256 7578c48299641646c6f922aaa5e5779758eef06f37814e12258ec8e1fe101d5f
MD5 ad2a162deb9dbac89348f083ad2a1ca4
BLAKE2b-256 a23817b5ed8b5724eaa3c25773dc0ba10218265e9318ea56115e4fbf9f1f7a00

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page