Skip to main content

PyThermo

DOI CI PyPI - Version Binder

A set of classes and methods for performing various modeling and computational tasks in the field of low-temperature thermochronology. The current focus is on forward modeling of apatite and zircon (U-Th)/He data using various diffusion and damage annealing kinetic models. Future releases will expand upon the available kinetic models and mineral systems, and introduce additional methods, such as forward modeling of Arrhenius relationships.

The primary objective of this software is to provide an open-source, python-based toolkit for user adaptability and experimentation. The software includes routines for forward modeling and data plotting at higher levels that can be run in a simple fashion, but lower level algorithms are accessible as well. To that end, a secondary objective of this software is as a learning tool to remove some of the black box nature of thermal history modeling routines. Several methods are included (for example, a tridiagonal matrix solver) for instructional purposes, although the main program calls nominally faster scipy routines.

Organization

The source code consists of three separate classes and accompanying methods and/or subclasses. crystal.py contains the class crystal and currently two sub-classes apatite and zircon. Methods are devoted to calculating and parameterizing damage-diffusivity relationships and numerically solving the diffusion equation using a Crank-Nicolson approach. tT_path.py methods interpolate and discretize time-temperature (tT) paths from a handful of tT points, and calculate fission track annealing for apatite and zircon using the equivalent time concept. tT_model.py methods currently allow for one particular approach to forward modeling and plotting (U-Th)/He date-effective Uranium (eU) trends.

Requirements

If you've installed Python through the open data science platform Anaconda, you should be all set. In detail, the specific libraries you'll need to have installed are:

  • Numpy
  • Numba
  • Scipy
  • Matplotlib
  • Pandas

Installation

PyThermo can be installed as a package by using pip (see this helpful guide for using pip if you are unfamiliar):

pip install pythermo

You can alternatively download the /src folder and place it in your working directory. See the template.ipynb file in the examples folder for usage under either circumstance.

Usage

It is recommended that you use this package in Jupyter Notebooks, which are included in the Anaconda platform. Once you've downloaded or installed the package, and if you're just interested in running some forward models, the quickest way to get started is to modify the Jupyter Notebook file template.ipynb that is included in the examples folder. The notebook contains markdown and code that explains and demonstrates forward model date-eU comparisons for the apatite and zircon (U-Th)/He system. The forward modeling method is one particular approach and you can (and should!) call lower level methods to suite your needs. The tT_path and crystal classes contain several methods that you may want to call. A basic example of one way to use lower-level methods is included in template.ipynb. Please read the descriptions for each method in the source code for more details.

Citation

You can find various citation styles for this package here.

Metadata

Release files for pythermo 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pythermo 0.3.3
File Size Uploaded
pythermo-0.3.3.tar.gz 50.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pythermo 0.3.3
File Interpreter ABI Platform
pythermo-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 96.4 kB

Release files / pythermo-0.3.3.tar.gz

Download URL pythermo-0.3.3.tar.gz
Size 50.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2657684fddf8e6e5afd5e570abd2d87d7de6a18b92ebf380e94772a6b42e7984
BLAKE2b-256 checksum
How to use checksums
58594f1a25b0d90b8f33664f3cedf6da60d6ae14d7fd557b3ee97e6309163244
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 17, 2026.

Transparency log

Release files / pythermo-0.3.3-py3-none-any.whl

Download URL pythermo-0.3.3-py3-none-any.whl
Size 46.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6439b1eee9b6f8c74c34c1461e085559bc18637d28c3c2539fe5c673b538cd53
BLAKE2b-256 checksum
How to use checksums
3c9e33545f2bc231f711a43ad2939ccf64af2ed574c360174d05f9a80f8c29de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page