Skip to main content

Pkynetics

PyPI version Python Versions Documentation Status Tests Coverage License Contributor Covenant

A Python library for thermal analysis kinetic methods, providing tools for data preprocessing, kinetic analysis, and result visualization.

Features

Data Import

  • DSC and TGA exports from TA Instruments, Mettler Toledo, Netzsch and Setaram
  • Dilatometry data
  • Flexible custom importer for non-standard formats
  • Automatic manufacturer detection
  • Comprehensive data validation

Analysis Methods

  • Model-fitting methods:
    • Johnson-Mehl-Avrami-Kolmogorov (JMAK)
    • Kissinger
    • Coats-Redfern
    • Freeman-Carroll
    • Horowitz-Metzger
  • Model-Free methods:
    • Friedman method
    • Kissinger-Akahira-Sunose (KAS)
    • Ozawa-Flynn-Wall (OFW)
  • Dilatometry analysis:
    • Transformed fraction by the lever rule or the tangent method
    • Five detectors for the transformation limits (derivative, offset, double_tangent, second_derivative, statistical), chosen with detection=
    • Automatic baseline margin (margin="auto")
    • DilatometryAnalyzer, which holds the analysis settings in one place
  • DSC analysis: baselines, peaks, thermal events and heat capacity
  • Data preprocessing, with smoothing by Savitzky-Golay, moving average or LOWESS
  • Synthetic data generation for testing the kinetic methods
  • Error handling and validation

Visualization

  • Comprehensive plotting functions for:
    • Kinetic analysis results
    • Dilatometry data
    • Transformation analysis
    • Custom plot styling options

Installation

Pkynetics requires Python 3.10 or later. Install using pip:

pip install pkynetics

For development installation:

git clone https://github.com/PPeitsch/pkynetics.git
cd pkynetics
pip install -e .[dev]

For detailed installation instructions and requirements, see our Installation Guide.

Quick start

from pkynetics.data import load_dilatometry_heating
from pkynetics.technique_analysis import DilatometryAnalyzer

data = load_dilatometry_heating()  # Zircaloy-4 heating run, fetched on first use

result = DilatometryAnalyzer().analyze(
    data["temperature"], data["relative_change"], method="lever"
)
print(result["start_temperature"], result["end_temperature"])

Example data

Since 0.7.0 the example data does not ship with the package. pkynetics.data downloads each file on first use from pkynetics-data, verifies it by SHA256 and caches it on disk. Use pkynetics.data.fetch(name) for a path, or one of the loaders (load_dilatometry_heating, load_dsc_setaram, load_cp_three_step, …) for the data already imported. To work offline, point PKYNETICS_DATA_DIR at a directory holding the files. See Example data.

Documentation

Complete documentation is available at pkynetics.readthedocs.io, including:

  • Detailed API reference
  • Usage examples
  • Method descriptions
  • Best practices

Contributing

We welcome contributions! Please read our:

Security

For vulnerability reports, please review our Security Policy.

Change Log

See CHANGELOG.md for a list of changes and version updates.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citing Pkynetics

If you use Pkynetics in your research, please cite it as:

@software{pkynetics,
  author = {Pablo Peitsch},
  title = {Pkynetics: A Python Library for Thermal Analysis Kinetic Methods},
  year = {2026},
  version = {0.7.0},
  publisher = {GitHub},
  url = {https://github.com/PPeitsch/pkynetics}
}

Metadata

Release files for pkynetics 0.7.0

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

Source distribution (sdist)

Source distribution for pkynetics 0.7.0
File Size Uploaded
pkynetics-0.7.0.tar.gz 162.5 kB Details

Built distribution (wheel)

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

Total release size: 304.9 kB

Release files / pkynetics-0.7.0.tar.gz

Download URL pkynetics-0.7.0.tar.gz
Size 162.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cce4e950541cf1d9a424945f96151d7bc6185a6117cdb7f24b29317a64b71fdd
BLAKE2b-256 checksum
How to use checksums
d9da40e7f4754aca4e5f92623ea75eef5445765a29d6b05ad41400efa0da6265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / pkynetics-0.7.0-py3-none-any.whl

Download URL pkynetics-0.7.0-py3-none-any.whl
Size 142.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cebebf4b9b2c2643b9d0da1f15550f1ac56df21b756b0efb8394ac2e5711db66
BLAKE2b-256 checksum
How to use checksums
02043a3a9ecd3b52547f194ab17abcb92e5c9ca8ffc6787765e429db4c1f149d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

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