Clone this wiki locally
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.
- Getting Started
- Stay Informed
- 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
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
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
[Mar 24 2016] Release of ObsPy 1.0.1
This is the first bug fix release in the 1.0 release cycle. It does not change functionality/API but fixes several bugs in 1.0.0, most notably fixing decryption of encrypted data from requests on restricted data via ArcLink and some bugs when working with SAC headers in the rewritten SAC module.
We recommend all users to upgrade through one of the usual channels. Please see the full changelog for all details:
[Feb 19 2016] Release of ObsPy 1.0.0
This is a big release with significant internal changes, new features, stability improvements, and much more to prepare ObsPy for future challenges and get rid of accumulated technical debt. It is now stable enough to officially declare it version 1.0. Changes are broad and numerous - follow these links to learn more:
[May 15 2015] Release of ObsPy 0.10.2
ObsPy 0.10.2 is a maintenance release and it contains a number of bug fixes and minor feature improvements so we advise all users to upgrade through one of the usual channels.
[March 20 2015] Release of ObsPy 0.10.1
ObsPy 0.10.1 is once again our biggest release yet with over 2200 single commits from 25 individual contributors! We strongly encourage all users to update to the new version as it will effectively end support for the 0.9.x line. Major new features are Python 3 support, a new TauP implementation, Anaconda packages, ...
[May 4 2014] Release of ObsPy 0.9.2
ObsPy 0.9.2 is a maintenance release and contains the collective bug fixes and minor feature improvements of around 150 commits so we advise all users to upgrade.
[January 9 2014] Release of ObsPy 0.9.0
ObsPy 0.9.0 offers (amongst many other things) two major new features: support for the FDSN webservices and the FDSN StationXML format.
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 is currently running and tested on Linux (32 and 64 bit), Windows XP/Vista/7/8 (32 bit and/or 64 bit) and Mac OS X.
ObsPy runs on Python 2.7, 3.3, 3.4, and 3.5.
For individual users we strongly recommend Installation via Anaconda.
System administrators can also install system packages (where available, see below). 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)
- Debian/Ubuntu via the package manager
- Fedora/CentOS via the package manager
- Mac OS X via Homebrew or MacPorts
- Windows from a pre-build package (PyPI) or from source
- FreeBSD via the package manager
- NetBSD via the package manager
- via PyPi or from source, applicable to Linux and OSX
- into an existing Antelope 5.4 on RHEL/CentOS 6
- for a reproducible installation mostly aimed at servers and clusters, have a look at the Salt formula for ObsPy
If you intend on performing parallel processing with Python and Obspy, please read the following:
If you are using ObsPy we strongly recommend you join the [obspy-announcements] and the [obspy-users] mailing lists. The [obspy-announcements] list will be the place where new additions, important changes and bug fixes will be announced and thus will be very low volume. The [obspy-users] list is used to contact other ObsPy users for questions and open discussions.
Follow us on Twitter
For more frequent news and general information on Python in seismology/science, follow us on twitter: @obspy
There also is a feed for commits. To get emails concerning issues make a GitHub login, 'watch' our repository and set up email notifications for your GitHub account.
- for the latest stable release
- for the current developer version
- archive for other versions
Use Cases / Applications Using ObsPy
- Antelope Python moment tensor code
- Using ObsPy with py2exe
- Wavesdownloader (on GitHub)
- ADMIRE project
- seedlink plotter
- pyTDMT - Python Time Domain Moment Tensor (on GitHub)
- MSNoise - Monitoring Seismic Velocity Changes using Ambient Seismic Noise (on GitHub)
- Pisces: A practical seismological database library in Python (on GitHub)
- HASHpy: Python wrapped fork of HASH first motion focal mechanism code
- waveloc (on GitHub)
- scisola (on GitHub)
- instaseis - Instant Global High Frequency Seismograms
- LASIF - Large-Scale Seismic Inversion Framework
- pyflex - Enhanced port of FLEXWIN
- hypoDDpy - Run hypoDD in a data driven manner.
- wfs_input_generator - Generate input files for many waveform solvers directly from data.
- rf - Calculate receiver functions.
- Qopen - Separation of intrinsic and scattering Q by envelope inversion.
- EQcorrscan - Match-filter earthquake detection
- Style Guide
- Docs or it doesn't exist!
- ObsPy Git Branching Model
- 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