Pkynetics
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 withdetection= - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| pkynetics-0.7.0.tar.gz | 162.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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