Skip to main content

Tk Manufacturing Automated Test System (TkMATS)

The Manufacturing Automated Test System is a Python library which provides useful structure for test creation and execution, but does not provide a user-defined method of controlling that test environment. The purpose of this project is to provide the start button and to provide visual feedback as to the actual test that is executing. The implementation is done using a tkinter.Frame subclass which may be embedded into any tkinter-style window.

Installation

Installation is as easy as pip install tkmats.

Usage

You must set up your test so that it can successfully execute on the MATS. Once it is set up there, then you are just a couple of lines away from converting an ATE-based test to a TkMATS.

We will start with the example application located within the ATE repository. The high-level functional bits are copied here for reference:

# create the sequence of test objects
sequence = [CommunicationTest(), PumpFlowTest()]
ts = TestSequence(sequence=sequence, auto_run=False, loglevel=logging.DEBUG)

# start the test as many times as you wish!
for _ in range(3):
    ts.start()
    sleep(2.0)

Note that the test was simply started using the TestSequence.start() method. Since we are going to have a test frame that comes with TkMATS, then we won't require the automated start and can, instead, rely on the user button supplied. Our complete sequence could be as simple as:

# create the sequence of test objects
sequence = [CommunicationTest(), PumpFlowTest()]
ts = TestSequence(sequence=sequence, auto_run=False, loglevel=logging.DEBUG)

window = tk.Tk()

tkmats_frame = TkMatsFrame(window, ts)
tkmats_frame.grid()

window.mainloop()

Note that most of the added code is related to simply creating the window object within which the TkMatsFrame is to be embedded.

There are two tests that are executed here, one CommunicationTest and one PumpTest. Screenshots of various possible scenarios are shown here:

Communications Test Failure

Communications Test Failure Screenshot

Flow Test Failure

Flow Test Failure Screenshot

All Passing

All Passing Screenshot

Metadata

Release files for tkmats 0.8.0

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

Built distribution (wheel)

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

Release files / tkmats-0.8.0-py3-none-any.whl

Download URL tkmats-0.8.0-py3-none-any.whl
Size 3.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf5c4aff9491dc5501713729ec4668c5a804b7afdc37f6a10957c107d564c1f9
BLAKE2b-256 checksum
How to use checksums
4bea7ae7f73cdd6388f8a4d9191c66942cdad661ebc6e3c802a52ec30ba928ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

Release history Release notifications | RSS feed

This release

0.8.0 This release

1 release file

0.7.0

1 release file

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