Skip to main content

pymechlab

Python Package for Mechanical Laboratory Testing

This package is used for calculating the A-basis and B-Basis mechanical properties from mechanical laboratory test results and data.

An example from CMH-17 is shown below.

Input file 'cmh17_pg_8-87.json':

{
    "Material": "Graphite/Epoxy",
    "Property": "Compression Strength",
    "Test Environment": "ETW",
    "Program": "Qualification Data",
    "batches": {
        "1": {
            "datasets": {
                "1": {
                    "coupons": {
                        "1": 106.358,
                        "2": 105.899,
                        "3": 88.464,
                        "4": 103.902,
                        "5": 80.206,
                        "6": 109.2,
                        "7": 61.014
                    }
                }
            }
        },
        "2": {
            "datasets": {
                "2": {
                    "coupons": {
                        "1": 99.321,
                        "2": 115.862,
                        "3": 82.613,
                        "4": 85.369,
                        "5": 115.802,
                        "6": 44.322,
                        "7": 117.328,
                        "8": 88.678
                    }
                }
            }
        },
        "3": {
            "datasets": {
                "3": {
                    "coupons": {
                        "1": 107.677,
                        "2": 108.960,
                        "3": 116.123,
                        "4": 80.233,
                        "5": 106.146,
                        "6": 104.668,
                        "7": 104.235
                    }
                }
            }
        }
    }
}

Python script 'cmh17_script.py':

#%%
# Import Dependencies
from IPython.display import display_markdown

from pymechlab.classes.cmh17statistics import pool_from_json

#%%
# Import JSON File
jsonfilepath  = '../files/cmh17_pg_8-87.json'
pool = pool_from_json(jsonfilepath)
display_markdown(pool)

#%%
# Import JSON File
jsonfilepath  = '../files/cmh17_pg_8-92.json'
pool = pool_from_json(jsonfilepath)
display_markdown(pool)

The output results in markdown are as follows:

Pool Information Value
Material Graphite/Epoxy
Property Compression Strength
Test Environment ETW
Program Qualification Data
Number of Specimens 22
Number of Batches 3
Number of Data Sets 3
Minimum Value 44.322
Maximum Value 117.328

Batch ID Data Set ID Coupon ID Data Values Before Pooling After Pooling
1 1 1 106.358
1 1 2 105.899
1 1 3 88.464
1 1 4 103.902
1 1 5 80.206
1 1 6 109.2
1 1 7 61.014
2 2 1 99.321
2 2 2 115.862
2 2 3 82.613
2 2 4 85.369
2 2 5 115.802
2 2 6 44.322 X
2 2 7 117.328
2 2 8 88.678
3 3 1 107.677
3 3 2 108.96
3 3 3 116.123
3 3 4 80.233 X
3 3 5 106.146
3 3 6 104.668
3 3 7 104.235

Anderson k-Sample Test Value
ADK Statistic 0.328731
AD Critical (α = 0.250) 0.449259
AD Critical (α = 0.100) 1.30528
AD Critical (α = 0.050) 1.94342
AD Critical (α = 0.025) 2.57697
AD Critical (α = 0.010) 3.41635
AD Critical (α = 0.005) 4.0721
AD Critical (α = 0.001) 5.56419
ADK p-value 0.2888

Normal Distribution Statistics Value
Observed Significance Level (OSL) 0.00605107
Mean 96.9264
Standard Deviation 18.8048
Coefficient of Variation (%) 19.4012%
B-Basis Value 61.4527
A-Basis Value 36.1265

Log Normal Distribution Statistics Value
Observed Significance Level (OSL) 0.000307372
Log Mean 4.55097
Log Standard Deviation 0.234756
B-Basis Value 60.8328
A-Basis Value 44.3433

Two Param Weibull Distribution Statistics Value
Observed Significance Level (OSL) 0.0218837
Scale Parameter 103.847
Shape Parameter 7.28576
B-Basis Value 66.864
A-Basis Value 43.1806

Non-Parametric Statistics Value
B-Basis Method Hans-Koop
A-Basis Method Hans-Koop
B-Basis Rank 10
A-Basis Rank N/A
B-Basis Hans-Koop k Factor 1.18418
A-Basis Hans-Koop k Factor 2.2602
B-Basis Value 37.8853
A-Basis Value 12.9966

Parameter Value
Fcalc 1.50529
pcalc 0.247263
Fcrit 4.67443

ANOVA Statistics Value
Sample Between-batch Mean Sq. (MSB) 257.302
Error Mean Square (MSE) 363.761
Estimate of Pop. Std. Deviation(s) 18.6873
B-Basis Tolerance Limit Factor (TB) 1.88641
A-Basis Tolerance Limit Factor (TA) 3.2332
B-Basis Value 61.6745
A-Basis Value 36.5067

Metadata

Release files for pymechlab 0.1.1

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

Source distribution (sdist)

Source distribution for pymechlab 0.1.1
File Size Uploaded Provenance
pymechlab-0.1.1.tar.gz 17.3 kB With provenance Details

Built distribution (wheel)

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

Total release size: 34.2 kB

Release files / pymechlab-0.1.1.tar.gz

Download URL pymechlab-0.1.1.tar.gz
Size 17.3 kB
Tags Source
SHA-256 checksum
How to use checksums
deb840fb9325ff1b301e0209b7b0c463a2c7c430808e94de767f7d47b81d594a
BLAKE2b-256 checksum
How to use checksums
17b51d48dbef739acc1e3889aa680dd73f121029a1ca17066bf3d38edb87d88d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / pymechlab-0.1.1-py3-none-any.whl

Download URL pymechlab-0.1.1-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1be644c2b4b602f7c71e227134adb6a7a361d5b12e896f322c3b07b8a2586cd5
BLAKE2b-256 checksum
How to use checksums
c5540a48bc9132c6c5a33c084c0f8606f8cd76731f263da76d3b431fd0796f9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Security for pymechlab 0.1.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pymechlab-0.1.1.tar.gz

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 Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

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