Getting Started


Hatchet has the following minimum requirements, which must be installed before Hatchet is run:

  1. Python 2 (2.7) or 3 (3.5 - 3.8)
  2. matplotlib
  3. pydot
  4. numpy, and
  5. pandas

Hatchet is available on GitHub.


You can get hatchet from its GitHub repository using this command:

$ git clone

This will create a directory called hatchet.

Add Hatchet to your PYTHONPATH

Assuming that the full path to your cloned hatchet directory is in the HATCHET_ROOT environment variable, you can add $HATCHET_ROOT to your PYTHONPATH and you are ready to start using hatchet:


Alternatively, you can install hatchet using pip:

$ pip install hatchet

Check Installation

After installing hatchet, you should be able to import hatchet when running the Python interpreter in interactive mode:

$ python
Python 3.7.4 (default, Jul 11 2019, 01:08:00)
[Clang 10.0.1 (clang-1001.0.46.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Typing import hatchet at the prompt should succeed without any error messages:

>>> import hatchet

Input data formats

Currently, hatchet supports the following data formats as input:

  • HPCToolkit database: This is generated by using hpcprof-mpi to post-process the raw measurements directory output by HPCToolkit.
  • Caliper Cali file: This is the format in which caliper outputs raw performance data by default.
  • Caliper Json-split file: This is generated by either running cali-query on the raw caliper data or by enabling the mpireport service when using caliper.
  • DOT format: This is generated by using gprof2dot on gprof or callgrind output.
  • String literal: Hatchet can read as input a list of dictionaries that represents a graph.
  • List: Hatchet can also read a list of lists that represents a graph.

For more details on the different input file formats, refer to the User Guide.