obspy
ObsPy - a Python framework for seismological observatories.
Decision gist · record as of 2026-08-14
Yes. ObsPy is a well-maintained, production-stable framework with no security vulnerabilities, broad platform and Python version support, and active development. The medium install friction is justified by its comprehensive seismology toolkit. Install it if you work with seismic data; the dependency footprint is standard for scientific Python.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Medium install friction due to 8 runtime dependencies including numpy, scipy, and matplotlib.
- Actively maintained with recent commits and broad Python version support from 3.8 through 3.14, with pre-built wheels available across major platforms.
License · maintenance · safety
copyleft license (copyleft) — Licensed under GNU Lesser General Public License v3 (copyleft). Any derivative work or modifications must be distributed under compatible terms, though linking to the library in proprietary code is permitted under LGPL's linking exception.
last release 2026-03-13 (154 days) · last repo commit 2026-08-10 · 1,326 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 227,122 downloads/mo, #9,185 on PyPI
Alternatives
Verify before relying
pip install obspy
import obspy
st = obspy.read('seismic_data.mseed')
st.plot()- Whether the package requires additional system libraries (e.g., for XML parsing via lxml) beyond what pip installs
- Performance characteristics when processing large seismic datasets or real-time streams
What it is and what it does
ObsPy is a mature, production-grade Python framework designed for seismological research and observatory operations. It abstracts the complexity of reading, writing, and processing seismic waveform data in multiple formats—including MiniSEED, SAC, and StationXML—and provides clients to query major data centers like IRIS and FDSN. The library combines signal processing (filtering, tapering, cross-correlation) with array analysis and focal mechanism tools, all built on numpy and scipy.
The package is intended for rapid application development in seismology, from quick exploratory analysis to production data pipelines. It handles the full workflow: fetching data from remote servers, parsing heterogeneous file formats, applying instrument corrections, and generating publication-ready plots via matplotlib. With active development, broad Python version support, and no known security vulnerabilities, it is a stable choice for seismic data work.
Use it for
- Download and process earthquake waveforms from FDSN data centers for event analysis and magnitude estimation.
- Parse and convert between multiple seismic file formats (MiniSEED, SAC, StationXML) in batch workflows.
- Apply signal processing (filtering, tapering, deconvolution) to seismic traces for noise reduction and feature extraction.
- Perform array beamforming and cross-correlation analysis on multi-station seismic networks.
- Generate focal mechanism and beachball plots from earthquake event data for publication.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
ObsPy is a well-maintained, production-stable framework with no security vulnerabilities, broad platform and Python version support, and active development. The medium install friction is justified by its comprehensive seismology toolkit. Install it if you work with seismic data; the dependency footprint is standard for scientific Python.
Install
obspy on PyPI
Before you install
Medium install friction due to 8 runtime dependencies including numpy, scipy, and matplotlib. Actively maintained with recent commits and broad Python version support from 3.8 through 3.14, with pre-built wheels available across major platforms.
License in practice
Licensed under GNU Lesser General Public License v3 (copyleft). Any derivative work or modifications must be distributed under compatible terms, though linking to the library in proprietary code is permitted under LGPL's linking exception.
Quickstart
pip install obspy
import obspy
st = obspy.read('seismic_data.mseed')
st.plot()
Verify before relying
- Whether the package requires additional system libraries (e.g., for XML parsing via lxml) beyond what pip installs
- Performance characteristics when processing large seismic datasets or real-time streams
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 8 packagesnumpyscipymatplotliblxmlsetuptoolssqlalchemydecoratorrequests |
| Maintenance | Actively maintained 154 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 227,122 / month, #9,185 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Physics |
Evidence: obspy-1.5.0-cp310-cp310-macosx_11_0_arm64.whl; obspy-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; obspy-1.5.0-cp310-cp310-win_amd64.whl; obspy-1.5.0-cp311-cp311-macosx_11_0_arm64.whl; obspy-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; obspy-1.5.0-cp311-cp311-win_amd64.whl; obspy-1.5.0-cp312-cp312-macosx_11_0_arm64.whl; obspy-1.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; obspy-1.5.0-cp312-cp312-win_amd64.whl; obspy-1.5.0-cp313-cp313-macosx_11_0_arm64.whl; obspy-1.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; obspy-1.5.0-cp313-cp313-win_amd64.whl; obspy-1.5.0-cp314-cp314-macosx_11_0_arm64.whl; obspy-1.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; obspy-1.5.0-cp314-cp314-win_amd64.whl; obspy-1.5.0-cp38-cp38-macosx_11_0_arm64.whl; obspy-1.5.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; obspy-1.5.0-cp38-cp38-win_amd64.whl; obspy-1.5.0-cp39-cp39-macosx_11_0_arm64.whl; obspy-1.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “seismic data processing python”
- obspyObsPy provides a Python framework for processing seismological data,…
- segyioSegyio reads and writes SEG-Y formatted seismic data files, providing…
- xtgeoXTGeo manipulates subsurface reservoir modelling data—3D grids,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also openseespy · openseespylinux · wfdb · segyio · doppler-dsp · xtgeo · georss-ign-sismologia-client · noisereduce · pyjls