Skip to main content

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

pyiconlaser-0.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

pyiconlaser-0.1.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

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

Hashes for pyiconlaser-0.1.0.tar.gz
Algorithm Hash digest
SHA256 839f7091d64b37e899cc477a3afcc3eb31c352a25ee7a7711189921677818c3a
MD5 c546b177d575b9ba286645da101605c5
BLAKE2b-256 e6c40e263dfcd8e4458cb80314d217a184346870773855e5aaff590f547729a2

See more details on using hashes here.

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

Hashes for pyiconlaser-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10d8a6cd0c262edf00a6021ec6dd75a8beab256e3802acee9844750bdac21fda
MD5 82da69ee6823260799207ce1969dbe3d
BLAKE2b-256 96a690b57b0e6f4727ee6782b39ad9d3ed1d56ec3676edd5cf80b6a566da4cac

See more details on using hashes here.

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