Unofficial Python wrapper for the TYCMA ICON Interface HTTP TCPIP API for laser marking systems.
Project description
pyiconlaser
Unofficial Python wrapper for the TYKMA ICON Interface HTTP/TCP API used by industrial laser marking systems.
This library provides a simple Python API for controlling compatible laser marking systems through the ICON Interface software.
This project is community-maintained and is not affiliated with or endorsed by any hardware manufacturer.
This library was developed and tested against TYKMA ICON Interface software based on available API documentation and observed real-world behavior.
Features
- Load marking jobs
- Read available IDs and modify their values
- Start and stop marking sequences
- Enable or clear jobs
- Control limits (tracing beam)
- Retrieve machine status
- Get template preview images
Requirements
This library requires the vendor software TYKMA ICON Interface to be installed and running on the target machine.
The HTTP/TCP API must also be enabled manually in the Config.xml configuration file.
Before using this library:
- Install TYKMA ICON Interface software
- Vendor contact may be required to obtain the software and API documentation
- Enable HTTP/TCP communication in
Config.xml - Verify the API is accessible (default port
5287) - Ensure the laser system is connected and recognized by ICON Interface
Installation
pip install pyiconlaser
Or install locally:
pip install .
Quick Start
from pyiconlaser import IconLaserClient
laser = IconLaserClient()
laser.prepare_job("test_job")
laser.set_id("SN", "123456")
laser.set_id("QR", "PRODUCT001")
laser.enable_job()
laser.start()
laser.clear_job()
Important Note
ICON Interface has undocumented behavior.
After loading a job:
laser.load_job("test_job")
the software automatically enables limits mode internally.
This causes:
all_ids -> empty response
set_id -> id_not_found
To fix this, limits must be disabled before modifying IDs:
laser.load_job("test_job")
laser.limits_off()
For convenience:
laser.prepare_job("test_job")
does both automatically.
python sdk laser industrial-automation automation hardware http-api wrapper
Basic Example
from pyiconlaser import IconLaserClient
laser = IconLaserClient()
print(laser.version())
print(laser.job_status())
print(laser.all_ids())
Supported API Methods
version()
job_status()
loaded_job()
state()
load_job()
prepare_job()
clear_job()
enable_job()
all_ids()
set_id()
start()
stop()
limits_on()
limits_off()
get_preview()
License
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyiconlaser-0.1.0.tar.gz.
File metadata
- Download URL: pyiconlaser-0.1.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
839f7091d64b37e899cc477a3afcc3eb31c352a25ee7a7711189921677818c3a
|
|
| MD5 |
c546b177d575b9ba286645da101605c5
|
|
| BLAKE2b-256 |
e6c40e263dfcd8e4458cb80314d217a184346870773855e5aaff590f547729a2
|
File details
Details for the file pyiconlaser-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyiconlaser-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10d8a6cd0c262edf00a6021ec6dd75a8beab256e3802acee9844750bdac21fda
|
|
| MD5 |
82da69ee6823260799207ce1969dbe3d
|
|
| BLAKE2b-256 |
96a690b57b0e6f4727ee6782b39ad9d3ed1d56ec3676edd5cf80b6a566da4cac
|