openquake.engine package


openquake.engine.config module

Various utility functions concerned with configuration.

openquake.engine.config.OQ_CONFIG_FILE_VAR = 'OQ_CONFIG_FILE'

Environment variable name for specifying a custom openquake.cfg. The file name doesn’t matter.


Call sys.exit() if no openquake configuration file is readable.

openquake.engine.config.context(*args, **kwds)[source]

Context manager used to change the parameters of a configuration section on the fly. For use in the tests.

openquake.engine.config.flag_set(section, setting)[source]

True if the given boolean setting is enabled in openquake.cfg

  • section (string) – name of the configuration file section
  • setting (string) – name of the configuration file setting

True if the setting is enabled in openquake.cfg, False otherwise

openquake.engine.config.get(section, key)[source]

The configuration value for the given section and key or None.


A dictionary of key/value pairs for the given section or None.


Re-parse config files and refresh the cached configuration.

NOTE: Use with caution. Calling this during some phases of a calculation could cause undesirable side-effects.

openquake.engine.engine module

Engine: A collection of fundamental functions for initializing and running calculations.

exception openquake.engine.engine.MasterKilled[source]

Bases: exceptions.KeyboardInterrupt

Exception raised when a job is killed manually


Build a correspondence between the outputs in the datastore and the ones in the database.

Parameters:dstore – datastore
openquake.engine.engine.job_from_file(cfg_file, username, hazard_calculation_id=None)[source]

Create a full job profile from a job config file.

  • cfg_file (str) – Path to a job.ini file.
  • username (str) – The user who will own this job profile and all results
  • datadir (str) – Data directory of the user
  • hazard_calculation_id – ID of a previous calculation or None

a pair (job_id, oqparam)

openquake.engine.engine.raiseMasterKilled(signum, _stack)[source]

When a SIGTERM is received, raise the MasterKilled exception with an appropriate error message.

  • signum (int) – the number of the received signal
  • _stack – the current frame object, ignored
openquake.engine.engine.run_calc(job_id, oqparam, log_level, log_file, exports, hazard_calculation_id=None)[source]

Run a calculation.

  • job_id – ID of the current job
  • oqparamopenquake.commonlib.oqvalidation.OqParam instance
  • log_level (str) – The desired logging level. Valid choices are ‘debug’, ‘info’, ‘progress’, ‘warn’, ‘error’, and ‘critical’.
  • log_file (str) – Complete path (including file name) to file where logs will be written. If None, logging will just be printed to standard output.
  • exports – A comma-separated string of export types.

openquake.engine.logs module

Set up some system-wide loggers

class openquake.engine.logs.LogDatabaseHandler(job_id)[source]

Bases: logging.Handler

Log stream handler

class openquake.engine.logs.LogFileHandler(job_id, log_file)[source]

Bases: logging.FileHandler

Log file handler

class openquake.engine.logs.LogStreamHandler(job_id)[source]

Bases: logging.StreamHandler

Log stream handler

openquake.engine.logs.dbcmd(action, *args)[source]

A dispatcher to the database server.

  • action – database action to perform
  • args – arguments
openquake.engine.logs.handle(*args, **kwds)[source]

Context manager adding and removing log handlers.

  • job_id – ID of the current job
  • log_level – one of debug, info, warn, error, critical
  • log_file – log file path (if None, logs on stdout only)

Initialize logs to write records with level level or above.


If a log file destination is specified, attempt to open the file in ‘append’ mode (‘a’). If the specified file is not writable, an IOError will be raised.

Module contents

OpenQuake is an open-source platform for the calculation of hazard, risk, and socio-economic impact. It is a project of the Global Earthquake Model, nd may be extended by other organizations to address additional classes of peril.

For more information, please see the website at This software may be downloaded at

The continuous integration server is at
Up-to-date sphinx documentation is at

This software is licensed under the AGPL license, for more details please see the LICENSE file.

Copyright (C) 2010-2016 GEM Foundation

OpenQuake is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

OpenQuake is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with OpenQuake. If not, see <>.