Installation

Clone the repository from GitHub or install via pip:

git clone https://https://github.com/serialmfg/serial-py.git

or

pip install serialmfg

Setup

  1. Get an API key from settings page

  2. Generate a process ID from process builder in the serial web app:

  3. Implement python script:

import serialmfg as serial

serial.set_station_id('YOUR_STATION_ID')
serial.set_api_key('YOUR_API_KEY')

# ----------- Component Instances ----------- #

# Creating a component instance
my_component_instance = serial.ComponentInstances.create(identifier="ABC-1234", component_name="Component Name") 

# Getting a component instance
my_component_instance_2 = serial.ComponentInstances.get(identifier="XYZ-5678") 

# Listing component instances
defective_components = serial.ComponentInstances.list({"status": "DEFECTIVE"}) 


# ----------- Process Entries ----------- #

# Creating a process entry
my_process_entry = serial.ProcessEntries.create(process_id="process-id", component_instance_identifier="ABC-1234") 

# Adding text data to a process entry
my_process_entry.add_text(dataset_name="Foo", value="bar")

# Adding numerical data to a process entry
my_process_entry.add_number(dataset_name="Pi Approx", value=3.141, lsl=3.1, usl=3.2)

# Adding boolean data to a process entry
my_process_entry.add_boolean(dataset_name="Pass Fail Criteria", value=True, expected_value=True)

# Adding file data to a process entry
my_process_entry.add_file(dataset_name="Oven Temperatures", path="/Users/me/Downloads/oven-temp.csv", file_name="oven-temp-todays-date.csv") 

# Adding image data to a process entry
my_process_entry.add_image(dataset_name="Cat Pictures", path="/Users/me/Documents/my-cat.png", file_name="jerry.png") 

# Adding link data to a process entry
my_process_entry.add_link(dataset_name="Link Child 1", child_identifier="XYZ-5678")

# Submitting a process entry
my_process_entry.submit(cycle_time=42, is_pass=False) #Optionally add cycle_time or process result override