Repository navigation
Home
ObsPy is an open-source project dedicated to provide a Python framework for processing seismological data. It provides parsers for common file formats, clients to access data centers and seismological signal processing routines which allow the manipulation of seismological time series.
The goal of the ObsPy project is to facilitate rapid application development for seismology.
- Acknowledging
- News
- Getting Started
- Installation
- Stay Informed, Get in Touch!
- Documentation
- Use Cases / Applications Using ObsPy
- Developer Corner
Please support the project by acknowledging the use of it. This helps us keep it alive. If you use ObsPy (directly or as a dependency of another package) for work resulting in an academic publication, we would be grateful if one of the following papers is cited:
-
M. Beyreuther, R. Barsch, L. Krischer, T. Megies, Y. Behr and J. Wassermann (2010)
ObsPy: A Python Toolbox for Seismology
SRL, 81(3), 530-533
DOI: 10.1785/gssrl.81.3.530 -
T. Megies, M. Beyreuther, R. Barsch, L. Krischer, J. Wassermann (2011)
ObsPy – What can it do for data centers and observatories?
Annals Of Geophysics, 54(1), 47-58
DOI: 10.4401/ag-4838 -
L. Krischer, T. Megies, R. Barsch, M. Beyreuther, T. Lecocq, C. Caudron, J. Wassermann (2015)
ObsPy: a bridge for seismology into the scientific Python ecosystem
Computational Science & Discovery, 8(1), 014003
DOI: 10.1088/1749-4699/8/1/014003
You can also cite the used ObsPy version:
DOIs for released ObsPy versions (e.g. for ObsPy 1.3.0: 10.5281/zenodo.6327346)
More details on important news/announcement can be found on our discourse forum in the future.
Older News get archived in the News Archive.
This is the first (and planned to be only) bugfix release in the 1.5.x release cycle. It does not add new features but includes bug fixes and fixes to be compatible with newer versions of some of our dependencies.
We recommend all users to upgrade their installations. Please see the full changelog for all details:
This is a major release with new features, bug fixes, and general improvements and we recommend all users to update. Follow these link to learn more:
The ObsPy Gallery and its related ObsPy Tutorial are maybe the best point to get a first impression of what ObsPy is all about. The tutorial is a collection of short example programs with explanations and program output. For help getting started with Python, have a look at this collection of links to Tutorials.
ObsPy Tutorial notebooks -- and much more on specific seismology topics -- can also be found on Seismo-Live, both as a static preview and as interactively runnable version.
from obspy import read
st = read() # load example seismogram
st.filter(type='highpass', freq=3.0)
st = st.select(component='Z')
st.plot()
ObsPy is currently running and tested on Linux, Windows and Mac OS X.
Regarding dependencies, ObsPy follows SPEC0 for each major or minor release. This means, as of August 2026, the next release will support, e.g. Python 3.12 and up. In all cases, we recommend you use the latest version of python 3 if possible.
For individual users we recommend Installation via Anaconda.
Detailed information on installing the latest stable version of ObsPy on various operating systems:
- via Anaconda, a scientific Python distribution (all systems) (works without root access)
- normal installation via Anaconda installer
- installation using bundled Anaconda installer (might not always be available for latest obspy version)
- via PyPi or from source, applicable to Linux and OSX
- Windows from a pre-build package (PyPI) or from source
- Mac OS X via Homebrew or MacPorts
- into an existing Antelope 5.4 on RHEL/CentOS 6
Other packaging efforts that likely are outdated are archived here.
If you run into problems when following the above installation instructions, you can ask for help in our discourse: https://discourse.obspy.org/c/installation-issues/5
If you intend on making changes to ObsPy or develop for it, read this:
If you intend on performing parallel processing with Python and Obspy, please read the following:
New: ObsPy Discourse
Since July 2020 we also have a discourse at https://discourse.obspy.org/. You can discuss, get in touch with other ObsPy users and ask for help there. This has replaced the old users mailing list. It has the complete users mailing list archive as a read-only category in it, so you can search through older user discussion on there.
It also has a category for announcements. These will be mirrored on the new read-only mailing list (see below) but on our discourse there is the option to comment/reply to announcements and you have full control over what you get email notifications from our discourse for.
Please keep all conversations in English on our discourse forum, thanks!
If you do not want to use the above option to keep in touch and well informed with announcements, you can also subscribe to the new read-only mailing list on the official python.org mailman server. If you are using ObsPy we strongly recommend you join the discourse or at least the mailing list to stay informed. The mailing list will contain important changes and bug fixes and similar announcements only and thus is very low volume.
If you're on Mastodon, throw us a follow there! 🦣
You can also get in touch with people in our gitter chat room: https://gitter.im/obspy/obspy
- for the latest stable release
- for the current developer version
- archive for other versions
If you want to showcase and/or discuss your projects built on top of ObsPy, you can now also do so in our Discourse: https://discourse.obspy.org/c/obspy-related-projects/7
The list of projects and applications using ObsPy has moved here.
General information on how to contribute to the project can be found here.
- Style Guide
- Docs or it doesn't exist!
- ObsPy Git Branching Model
- Doing a new ObsPy release
- Minimum Supported Dependencies (SPEC0)
- Known Python issues
- Performance Tips:
- Testing, Debugging & Profiling
- Sphinx Documentation
- Notes on the performed svn to git migration
- Interesting reading on git, github
- Debian packaging
- How to: Add a new Submodule
- Affiliated Project Guidelines

