Skip to main content

Shmoo log analysis tool based on PyTorch CNN

Project description

SHM Detect Tool — Shmoo Log Analysis with CNN

Automatically classify shmoo plot pass/fail patterns using a PyTorch CNN

PyPI Version Python Versions License PyPI Downloads


Table of Contents


Overview

The SHM Detect Tool uses a CNN (Convolutional Neural Network) built on PyTorch to automatically analyse shmoo plot datalogs from ATE (Automated Test Equipment). It parses raw shmoo text logs, converts them into image-like tensors, and classifies each plot's pass/fail pattern — replacing tedious manual inspection with fast, repeatable AI-based detection.

Background

  • Challenge: Engineers spend significant time visually inspecting shmoo plots to identify pass/fail patterns, margins, and anomalies across multiple test sites and conditions.
  • Solution: SHM Detect Tool automates this process by training an AlexNet-based CNN to classify shmoo patterns, generating structured XLSX reports with pass/fail highlighting and site-to-site correlation.

Features

  • CNN-Based Shmoo Classification — AlexNet architecture trained on labeled shmoo datasets
  • Shmoo Log Parsing — convert raw text shmoo logs to structured CSV with configurable keyword patterns
  • XLSX Report Generation — automated reports with pass/fail highlighting per shmoo plot
  • Site-to-Site Correlation — compare shmoo results across multiple test sites with overlay reports
  • Parallel Plot Support — side-by-side multi-site shmoo comparison in XLSX
  • CLI Interface — scriptable commands for training, analysis, and correlation
  • GUI Interface — PyQt5-based desktop application for interactive workflows
  • Web App Interface — Streamlit-based web UI for browser-based analysis
  • Configurable Parsing — JSON config files to support different shmoo log formats (S2S, CHAR Studio, etc.)

Installation

Requirements

  • Python 3.9 – 3.14
  • Windows, macOS, or Linux

Install from PyPI (Recommended)

# Basic installation (CLI + core analysis)
pip install shm-detect-tool

# With GUI support (PyQt5)
pip install shm-detect-tool[gui]

# With web app support (Streamlit)
pip install shm-detect-tool[webapp]

After installation, the shm-detect command is immediately available:

shm-detect --version
shm-detect --help

Install from Source

git clone https://github.com/showjim/SHM_Detect_Tool.git
cd SHM_Detect_Tool
python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS/Linux
pip install -e .[gui,webapp]

Usage

CLI Usage

# Analyse a shmoo log and generate an XLSX report
shm-detect analyse --log shmoo.txt --config SHM_keywords_setting.json

# Train a new CNN model
shm-detect train --dataset custom_SHM_data.csv

# Compare shmoo results across multiple log files
shm-detect correlate --files file1.txt file2.txt --config SHM_keywords_setting.json

# Show version
shm-detect -V

See doc/CLI_USAGE.md for the full CLI reference including all options and examples.

GUI Usage

Launch the desktop application:

python SHM_Detect_Tool.py

Workflow

  1. Convert Shmoo — load a raw shmoo .txt log and convert it to CSV
  2. Detect Shmoo — select the CSV file, run CNN inference, and review the generated XLSX report
  3. Train CNN — (optional) train a new model from a labeled dataset

Web App Usage

Launch the Streamlit-based web interface:

streamlit run SHM_Detect_Tool_webapp.py

Screenshots

SHM Detect Tool


License

This project is licensed under the GNU General Public License v3.0.


Built for the semiconductor ATE community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

shm_detect_tool-0.8.2-cp314-cp314-win_amd64.whl (350.7 kB view details)

Uploaded CPython 3.14Windows x86-64

shm_detect_tool-0.8.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shm_detect_tool-0.8.2-cp314-cp314-macosx_11_0_arm64.whl (386.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

shm_detect_tool-0.8.2-cp313-cp313-win_amd64.whl (345.4 kB view details)

Uploaded CPython 3.13Windows x86-64

shm_detect_tool-0.8.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shm_detect_tool-0.8.2-cp313-cp313-macosx_11_0_arm64.whl (385.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

shm_detect_tool-0.8.2-cp312-cp312-win_amd64.whl (346.3 kB view details)

Uploaded CPython 3.12Windows x86-64

shm_detect_tool-0.8.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shm_detect_tool-0.8.2-cp312-cp312-macosx_11_0_arm64.whl (387.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

shm_detect_tool-0.8.2-cp311-cp311-win_amd64.whl (359.0 kB view details)

Uploaded CPython 3.11Windows x86-64

shm_detect_tool-0.8.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shm_detect_tool-0.8.2-cp311-cp311-macosx_11_0_arm64.whl (388.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

shm_detect_tool-0.8.2-cp310-cp310-win_amd64.whl (359.7 kB view details)

Uploaded CPython 3.10Windows x86-64

shm_detect_tool-0.8.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shm_detect_tool-0.8.2-cp310-cp310-macosx_11_0_arm64.whl (390.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

shm_detect_tool-0.8.2-cp39-cp39-win_amd64.whl (360.0 kB view details)

Uploaded CPython 3.9Windows x86-64

shm_detect_tool-0.8.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

shm_detect_tool-0.8.2-cp39-cp39-macosx_11_0_arm64.whl (392.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file shm_detect_tool-0.8.2-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bb0a8447a365218672149ac138b003506804e59f5374b524e5c6ab2582a51aa6
MD5 47cf264c0c96517dd5fc3487f414e22e
BLAKE2b-256 3844b521b9ce06c8a141bc8738e08f5939167f8b4acf87f69a40a94383317c65

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 62a550041fd355732f78c00dc63b0d161cb1b5a54134f75a62e679836e88cf0d
MD5 efc288a40546b2f6f173fcc924678044
BLAKE2b-256 1a39d53adcdcbd5665f8200667aa8a173ecb4e152d68a49f8cf2c47edc008b50

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a110c826808f2c659c0b267b926318361c81ac955e40efe32b85d77de359d662
MD5 89e5c0a96866bcf5850d72452291ee96
BLAKE2b-256 1ef675d00c0761a9c72d4cb96689840b6788546951eb46418edd68545748b48d

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0f3577629027322aa48e235eec5b6163179c26718767b851f32e9a9ef2514c06
MD5 9fb87cd96522c0d3985d68d16280eff5
BLAKE2b-256 4bfbaf01f7caded2b376b3e34362b68d7d2b01505de377c94b6bb688884d7166

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a44ed5ee5319a90c51f0e8615a478d9545f0ec86605a049871e9b948ec42dc27
MD5 af3947af0ae59f7e0d1d23313ac6256f
BLAKE2b-256 648980edbbb8fd62748342a8af7dd958a07bf03d59e16a7aaa19f0745d304a5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0902b06a4ce60f9b5dcbe4be0c7ac196e8bfa0455aca440d30caec55f602bb6
MD5 fa51d29aac3f2a989f57f322240e41e3
BLAKE2b-256 a2c296e0d2cc738e5a7eee10b187284156738bc3f1dc3846ee3ff60bd3a615c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c25856be8153f4a31ddc0f88dcf7b4c474b3e20222536e1a1269cad9e56aaaa7
MD5 b903a9af83310d9bcf34546f54911583
BLAKE2b-256 6f013a7505774ba4f79abf4f9d99372ce44327a3f22c01eed4a118e09450a55e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a21a539b43cd2f1b78a5879efb2d06ae3625985a172cba497d5ce718db5f22e
MD5 969df0b73b87c08d640b7cac3f48ed20
BLAKE2b-256 06ee14224533ad5d2c54883f72d291fb7525f4927f4f28ca5b7d667a5f4c0c0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9f665999eece25c0a9ceb58173fcdfee83cfe7fdfe8ded7457533e6a7027839
MD5 5b4fc56ec5ffd9313d1ab050cf04250f
BLAKE2b-256 0074cde0b63dc76286c95534107b38a9ba26734ef964477f0f0451482377d9bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b90972dbad084e79d7df5586d30a7305a6dadd2234dbbc48b39e95ba560abff8
MD5 514e3eca6252f4e4bf31e3f2979bd9f4
BLAKE2b-256 9ed99139b001a46b130e7569fcafce6146322dd83ed5618a8366b05086da3db9

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37a0a38e2ab9e51948160ebe5378ee7cc14759ae9e5fe5d85fb050992e861985
MD5 b41ec0ce2857ea9bf6ba64245d3366f0
BLAKE2b-256 4a750689445261f3c23fdebf894b8c39d4f7a7c60c0b19b0b19a07798c68161c

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e7b845872c2e06504ac53fd5178fa911e80e621a464d179b8086846e68d1862
MD5 199be15397e668a0ea18539d5970ce12
BLAKE2b-256 a04e1aabac9879f5e2be8d4dd6d3703dc072abf988ba7df35ff04f3049c0c69e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e26c3fb79999a1ba5d6cd4187f6692ba3565dc936f9fc5ee9629d9b396a5905a
MD5 cbd00725d2f8832793363fb315884b38
BLAKE2b-256 45c92156dd7483ec73c5b016423ddf44269ca67effc551ab80ec1612619c0074

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e48cbb010fd08125a221be362b4f24ac2a07cf4fef4281477b30c4de0581be69
MD5 01abee23798416f3eba2beef102e8586
BLAKE2b-256 c2404a729db8f62e631bcb2f747482b2259c099a3080e91e507e105f189b37a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f8ca1baaff9b0568ea905d7ee440be384ff01961dad4a73e792f2b3d0609d8f
MD5 13734ce53c64b0cf72441cdf4e2084fa
BLAKE2b-256 7f918941d0b28f84b5916cf6790b95cec572c4bc5ab26dccb452e383de641e6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 184f5e9bfb874141271b47a79d2a1b645060f5aa5b6b5c1044de511d349c8027
MD5 d36449c0c5c3b2f4b62b2248ed0683e3
BLAKE2b-256 8d70986fefbc0e2fb278b7bde1b79133d8622f6f20af503db8bbeb7ad7f6be59

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 989ba3afb34378aa303ab8249a51ce0d25bb3229f37593d1b463aa2ff59e26db
MD5 e175f8a0237e4591be6ec72fca7bd515
BLAKE2b-256 4c72618674c771359da9f7aef331e6cb3eeb42e0d5d20e87ad16e9aeac3d3a27

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shm_detect_tool-0.8.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for shm_detect_tool-0.8.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88512d5efbbd35184c5b425d97a91503aa125c5f4c382c34f54b0cdf6fe60755
MD5 dbeb9834ffbee2b6f56eab95a870de3a
BLAKE2b-256 62b06a34e960c875fa9ea166975d58410cdaef2b3d73e511ec1c117fcfb494aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for shm_detect_tool-0.8.2-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on showjim/SHM_Detect_Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page