Strain
Design & engineering
A Python toolkit that converts raw Universal Testing Machine exports into stress–strain analyses: Young's modulus, ultimate strength and failure strain, with automatic column detection, unit handling, multi-sample comparison and publication-quality plots.
| When | 2025 |
| Stack | Python, NumPy, pandas, Matplotlib |
| Links | github.com/kali-physi-hacker/strain |
Universal Testing Machines export data in whatever format the vendor chose: different column names, different units, different delimiters, sometimes a header block that is not quite a header. Strain exists so that a materials lab can go from that export to a defensible analysis without a spreadsheet ritual.
What it does
- Detects the load and displacement columns automatically and normalises units before any arithmetic happens.
- Computes Young's modulus, ultimate strength and failure strain with explicit, inspectable methods.
- Compares multiple samples on the same axes and exports publication-quality PNG and SVG plots with Matplotlib.

Why it matters to me
I am finishing a degree in Electrical & Electronics Engineering, and Strain came out of lab work where the analysis step was slower and less reproducible than the test itself. It is a small tool with a clear contract, which is the kind of software I like to keep around.
Next