Skip to content

Repository files navigation

MsPASS — Massive Parallel Analysis System for Seismologists

MsPASS: Massive Parallel Analysis System for Seismologists

Docker Build Docker Pulls Docker Image Size Conda Version PyPI Version

MsPASS is an open-source framework for scalable seismic data processing and data management. It combines:

  • A parallel processing framework based on a scheduler/worker model (Dask and Spark integration)
  • A MongoDB-centered data management model for waveform and metadata workflows
  • A container-first runtime model for reproducible desktop, cluster, and cloud execution

For full user and API documentation, visit mspass.org.

Table of Contents

How to Get MsPASS

MsPASS is distributed through multiple channels with different intended use cases:

  1. Docker (recommended for most users)

  2. Conda (alternative local package install)

  3. PyPI (Linux x86_64 wheels and source distribution)

    • Native wheels are published for Linux x86_64 on CPython 3.10, 3.11, 3.12, and 3.13
    • The source distribution remains available for source-based consumers
    • PyPI wheels for macOS, Windows, and Linux arm64 are not supported

Quick Start (Recommended: Docker)

Install Docker Desktop (or Docker Engine on Linux), then pull the image:

docker pull mspass/mspass

Launch MsPASS in a project directory (Jupyter exposed on port 8888):

docker run -p 8888:8888 --mount src=`pwd`,target=/home,type=bind mspass/mspass

Then open the Jupyter URL printed in the container logs (typically http://127.0.0.1:8888/...).

For repeated runs and multi-service operation, use Docker Compose. A baseline compose configuration is available in data/yaml/compose.yaml.

Conda Installation (Alternative)

If you prefer Conda over containers:

conda create --name mspass_env
conda activate mspass_env
conda config --add channels mspass
conda config --add channels conda-forge
conda install -y mspasspy

Conda package: anaconda.org/mspass/mspasspy

Note: many workflows still rely on MongoDB and are easiest to operate via the MsPASS Docker image, even when Python libraries are installed via Conda.

PyPI Package Status

MsPASS publishes a source distribution and native Linux x86_64 wheels for CPython 3.10 through 3.13 to PyPI on tagged releases.

  • macOS, Windows, and Linux arm64 wheels are not published or supported.
  • Other platforms can use the source distribution with a compatible native toolchain.
  • It is not the recommended end-user runtime path.
  • For the most complete and reproducible environment, use Docker.

Documentation

Development and Source Builds

For contributors and source builds:

Project Links

For users interested in releases and package channels:

Maintainer and contributor automation (CI, packaging, release jobs) is implemented with GitHub Actions workflows in this repository.

Contributing

Contributions are welcome. Please use issues and pull requests for bug reports, feature requests, and code changes.

Before opening a pull request:

  1. Follow the contributor setup instructions in the project wiki.
  2. Run relevant tests locally when possible.
  3. Keep documentation in sync with user-facing behavior changes.

CI checks Python, test, and documentation-notebook formatting with Black 25.1.0. Run the same read-only check from the repository root with:

python -m pip install 'black[jupyter]==25.1.0'
shopt -s globstar nullglob
notebooks=(docs/**/*.ipynb)
black --workers 1 --check --diff python/mspasspy python/tests "${notebooks[@]}"

To apply the corresponding formatting locally, run the final command without --check --diff:

shopt -s globstar nullglob
notebooks=(docs/**/*.ipynb)
black --workers 1 python/mspasspy python/tests "${notebooks[@]}"

License

This project is licensed under the BSD 3-Clause License. See LICENSE for details.

About

Massive Parallel Analysis System for Seismologists

Resources

Stars

36 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages