Python-based tools for paleomagnetic research
Jupyter Notebook Python HTML Shell Inno Setup D
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
SPD don’t use nd.array != None syntax Dec 2, 2017
bin set up ani_depthplot_anaconda, addresses #215 Jun 13, 2017
data_files modified: ../../combine_magic/measurements.txt Jul 18, 2018
dialogs fix ipmag.orientation_magic so it defaults to 3.0! Jul 17, 2018
help_files resolved #96 as suggested using abriviations and changing context he… Dec 20, 2016
locator add dummy module for finding location of PmagPy directory Oct 6, 2016
pmag_env add IS_WIN environment variable and fix for Windows comma… Jun 7, 2018
pmagpy ipmag.combine_magic should default to data model 3 Jul 18, 2018
pmagpy_tests *actually* fix tests Jul 18, 2018
programs move livdb_magic to conversion_scripts, #382 Jul 18, 2018
setup_scripts remove incorrect packages from linux_instructions May 10, 2018 Add uninstaller for Mac OSX Mar 4, 2016
.gitignore modified: .gitignore Jul 3, 2018
.travis.yml make travis.yml output more verbose Jul 17, 2018 clarify release instructions in Jun 28, 2018 make it so that data_model can be found: online & off, using pmagpy-c… Mar 24, 2016 simplify the README a bit Jun 29, 2018 skip the html part of the README for pip Jun 1, 2018 modified: Apr 3, 2018
example_pypirc update information about making pip releases Sep 12, 2017
license.txt re-added the license to the main directory of PmagPy, somehow it got … Apr 29, 2017
magic_gui.spec add hidden import in magic GUI, too Jan 19, 2018 add README with instructions for creating pip releases May 3, 2017
pmag_gui.spec Add in some ‘hidden imports’ to prevent pyinstaller from getting real… Jan 19, 2018
pmagpy_dependencies.txt add appdirs package to pmagpy_env, change file name, add general env … Jul 6, 2018
pmagpy_env_osx.txt add appdirs package to pmagpy_env, change file name, add general env … Jul 6, 2018 move livdb_magic to conversion_scripts, #382 Jul 18, 2018 Added run_all_tests shell script which runs all tests in the reposito… Apr 20, 2017 add back in test programs to May 24, 2018 skip the html part of the README for pip Jun 1, 2018

PmagPy: tools for paleomagnetic data analysis

Latest Release latest release
License license

What is it

PmagPy is a comprehensive set of tools for analyzing paleomagnetic data. It facilitates interpretation of demagnetization data, Thellier-type experimental data and data from other types of rock magnetic experiments. PmagPy can be used to create a wide variety of useful plots and conduct statistical tests. It is designed to work with the MagIC database (, allowing manipulation of downloaded data sets as well as preparation of new contributions for uploading to the MagIC database. Functions within PmagPy can be imported and used in Jupyter notebooks enabling fully documented and nicely illustrated data analysis.

Main features

PmagPy is comprised of:

  • GUI programs for getting data into MagIC database format (pmag_gui), analyzing demagnetization data (demag_gui) and analyzing paleointensity data (thellier_gui). These GUIs are available as part of the python package pmagpy-cli. Alternatively, these GUIs are availible for download as executable programs outside of this repository.
  • Command line programs for all sorts of paleomagnetic data analysis and wrangling (contained within the programs folder of the repository and pip installed as pmagpy-cli).
  • The pmagpy function module for paleomagnetic data analysis (pmagpy.pmag) and plotting (pmagpy.pmagplotlib) as well as a function module that further enables paleomagnetic data analysis within interactive computing environments such as the Jupyter notebook (pmagpy.ipmag). The functions within these modules are at the heart of the GUI and command line programs. With pmagpy installed (described below), these modules are can be imported (e.g. from pmagpy import ipmag).
  • Example data files that are used in the examples provided in the PmagPy cookbook

Use of all these features is described in the Cookbook and the underlying science behind the data and code can be explored in the book Essentials of Paleomagnetism: Third Web Edition. Example Jupyter notebooks using PmagPy can be found in this repository

How to get it

Much more complete documentation for PmagPy installation and use is available in the PmagPy cookbook

Stand alone applications

If you do not need the full PmagPy functionality, and you only want to use Pmag GUI, MagIC GUI, Thellier GUI, and Demag GUI, there a standalone download for which Python does not need to be installed. Once downloaded, the GUIs should run when you double click on their icon, but they will take time to start up (anywhere from 5 to 30 seconds) please be patient.

OSX Standalone download

You’ll find the latest stable release here: Mac PmagPy Executable Application

Windows Standalone download

You’ll find the latest stable release here: Windows PmagPy Executable Application

Linux Standalone download

This binary has only been tested on a Ubuntu 14.04 (Trusty) distribution and might experience problems on other distributions. You’ll find the latest stable release here: Linux PmagPy Executable Application

Full PmagPy install

To get the full use of PmagPy functionality, you will first have to have a Python installation with some standard scientific modules. You can follow instructions to do so here. Once you have Python installed:

  • Find and open your command line (for help finding your command prompt, see the documentation)
  • Update pip: type on the command line: pip install --upgrade pip
  • Install or update pmagpy: use the command: pip install --upgrade pmagpy
  • Install or update pmagpy-cli, use the command: pip install --upgrade pmagpy-cli
  • To uninstall, use the commands: pip uninstall pmagpy and pip uninstall pmagpy-cli
  • If you run into trouble, use pip to uninstall both pmagpy and pmagpy-cli, then try again to install first pmagpy and then pmagpy-cli

If you want access to the master branch rather than the latest release, see the developer install instructions.

Background and support

The code base for the PmagPy project has been built up over many years by Lisa Tauxe (Distinguished Professor of Geophysics at the Scripps Institution of Oceanography) supported by grants from the National Science Foundation. Substantial contributions to the project have been made by Nick Swanson-Hysell (Assistant Professor at UC Berkeley), Ron Shaar (Senior Lecturer at the Hebrew University of Jerusalem), Lori Jonestrask and Kevin Gaastra as well as others.


If you want to get involved with the project - whether that means reporting a bug, requesting a feature, or adding significant code - please check out the project's Contribution guidelines.

More information

This code and the PmagPy cookbook ( are companions to the the book Essentials of Paleomagnetism: Third Web Edition ( written by Lisa Tauxe with contributions from Subir K. Banerjee, Robert F. Butler and Rob van der Voo. The printed version of the book came out in January, 2010 from University of California Press (


This code can be freely used, modified, and shared. It is licensed under a 3-clause BSD license. See license.txt for details.