Build and analyze a network model of hazards, causes, and controls
Project description
hazard-map
Build a network model from spreadsheets of hazard, cause, and control mappings and carry out useful analyses.
Overview
This is a simple command-line tool that takes an Excel workbook with tables of mappings and creates a network model to use for analyses and visualization.
Installation
Install the command-line application from PyPI with pip:
pip install hazard-map
Usage
Use the -h
flag to see the available options:
hazard-map -h
usage: hazard-map [-h] [-o OUTPUT_DIRECTORY] [-j | --output-json | --no-output-json] [-m MAPPING_REGEX] [-d PLOT_DPI] input_workbook
Build and analyze a network model of hazards, causes, and controls
positional arguments:
input_workbook The hazard mapping excel file to evaluate
options:
-h, --help show this help message and exit
-o OUTPUT_DIRECTORY, --output-directory OUTPUT_DIRECTORY
Set a directory for the script to save its outputs to
-j, --output-json, --no-output-json
Save a json description of the mappings alongside the hazard log
-m MAPPING_REGEX, --mapping-regex MAPPING_REGEX
Set a custom regex for identifying mapping pairs
-d PLOT_DPI, --plot-dpi PLOT_DPI
Set a custom DPI (quality) for the plot output
Pass an Excel workbook (xlsx) file with hazard-cause and cause-control mappings (indicated by a "Y" at the intersection of row/column pair that map onto one-another) in worksheets named "HazardCause Mapping" and "CauseControl Mapping" respectively:
hazard-map our_mappings.xlsx
See the test mappings for an example of a compatible document.
Development
If you want to develop this project further or just set it up so you can modify the source code (to work with a different matrix format, for example), clone this repo:
git clone https://gitlab.com/thom-cameron/hazard-map
cd hazard-map
Packaging and dependency management for this project are handled by poetry. Install poetry, or, if you use nix, start up a shell with everything you need:
nix-shell
Then, get the code running:
# install dependencies
poetry install
# run the test suite
poetry run pytest
# run the application
poetry run hazard-map
# or enter an interactive shell in a properly configured virtual environment
poetry run python
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for hazard_map-0.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47f91f2396915bdd85df356931b5d6df510992a95ad02055a2a387074859977b |
|
MD5 | 7e634b4ad760b2110af113f9f0e13793 |
|
BLAKE2b-256 | b1a9071e16b6f563c64a7afb3ebf54b9a41e53a1464ca60742fcf83862c76159 |