Skip to main content

Python tools from the Collaboratory for the Study of Earthquake Predictability

Project description

pyCSEP: Collaboratory for the Study of Earthquake Predictability

DOI DOI badge


The pyCSEP Toolkit helps earthquake forecast model developers evaluate their forecasts with the goal of understanding earthquake predictability.

pyCSEP should:

  1. Help modelers become familiar with formats, procedures, and evaluations used in CSEP Testing Centers.
  2. Provide vetted software for model developers to use in their research.
  3. Provide quantitative and visual tools to assess earthquake forecast quality.
  4. Promote open-science ideas by ensuring transparency and availability of scientific code and results.
  5. Curate benchmark models and data sets for modelers to conduct retrospective experiments of their forecasts.

Table of Contents:

  1. Software Documentation
  2. Installation
  3. Usage
  4. Contributing
  5. Change Log
  6. Credits
  7. License


pyCSEP can be installed in several ways. It can be installed using conda or pip package managers or from the source code found in the pyCSEP github repo. Researchers interested in contributing to pyCSEP development should install pyCSEP from source code. pyCSEP depends on the following software packages. These which may be installed automatically, or manually, depending on the installation method used.

Please see the requirements file for a complete list of requirements. These are installed automatically when using the conda distribution.

Detailed pyCSEP installation instructions can be found in the online pyCSEP documentation.


Once installed, pyCSEP methods can be invoked from python code by importing package csep. pyCSEP provides objects and utilities related to several key concepts:

  • Earthquake Catalogs
  • Earthquake Forecasts
  • Earthquake Forecast Evaluations
  • Regions

An simple example to download and plot an earthquake catalog from the USGS ComCat:

import csep
from csep.core import regions
from csep.utils import time_utils
start_time = time_utils.strptime_to_utc_datetime('2019-01-01 00:00:00.0')
end_time = time_utils.utc_now_datetime()
catalog = csep.query_comcat(start_time, end_time)

Please see pyCSEP Getting Started documentation for more examples and tutorials.

Software Support:

Software support for pyCSEP is provided by that Southern California Earthquake Center (SCEC) Research Computing Group. This group supports several research software distributions including UCVM. Users can report issues and feature requests using the pyCSEP github-based issue tracking link below. Developers will also respond to emails sent to the SCEC software contact listed below.

  1. pyCSEP Issues
  2. Email Contact: software [at] scec [dot] usc [dot] edu


We welcome contributions to the pyCSEP Toolkit. If you would like to contribute to this package, including software, tests, and documentation, please visit the contribution guidelines for guidelines on how to contribute to pyCSEP development. pyCSEP contributors agree to abide by the code of conduct found in our Code of Conduct guidelines.


Development of pyCSEP is a group effort. A list of developers that have contributed to the PyCSEP Toolkit are listed in the credits file in this repository.


The pyCSEP software is distributed under the BSD 3-Clause open-source license. Please see the license file for more information.

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

pycsep-0.6.1.tar.gz (24.1 MB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page