Skip to main content

A Python library to communicate with Gravotech machines using TL07 protocol

Project description

Gravotech Python (Unofficial)

Python CI/CD

Version: 1.0.0


Description

Gravotech Python (Unofficial) is a Python package designed to communicate with Gravotech engraving machines using the TL07 protocol.

The goal of this library is to simplify integration, standardize exchanges, and automate communication with Gravotech machines, while hiding the complexity of low-level TCP/IP protocols.

This project is not affiliated with Gravotech and is provided as a community-driven, open-source solution.


Who is this package for?

This package is intended for:

  • Industrial software developers

  • Automation engineers

  • Manufacturing / methods engineering teams

Anyone who needs to integrate a Gravotech engraving machine into a larger software or industrial system (MES, ERP, production line, automation cell, etc.).


Problems this package solves

Before using this package, Gravotech integrations often suffer from:

  • Low-level TCP/IP exchanges that are difficult to manage

  • Very limited abstraction over the TL07 protocol

  • Custom, machine-specific scripts

  • Code that is hard to read, hard to test, and hard to maintain

  • Tight coupling between business logic and communication logic

This package provides:

  • A clean, high-level Python API

  • Thread-safe communication

  • A clear separation between transport, commands, and business logic

  • Testable and maintainable code

  • A reusable foundation for industrial projects


Installation

Install the package directly from PyPI:

    pip install gravotech-tl07

Quick example

from gravotech.client import Gravotech
from gravotech.actions.actions import LDMode

with Gravotech("192.168.0.211", 55555) as gravotech:
    # Load a marking file
    gravotech.Actions.ld("example.t2l", 1, LDMode.NORMAL)

    # Check machine status
    status = gravotech.Actions.st()
    print("Machine status:", status)

    # Start marking
    result = gravotech.Actions.go()
    print("Marking result:", result)

Concrete use cases

1. Automated production line

  • Integrate a Gravotech engraver into an automated production line to:

  • Load marking files dynamically

  • Set serial numbers or batch information using variables

  • Trigger marking cycles programmatically

  • Monitor machine state and errors

2. MES / ERP integration

  • Use this package to connect a Gravotech machine to a Manufacturing Execution System:

  • Automatic file selection based on production orders

  • Traceability through engraved serial numbers

  • Centralized error handling and monitoring

3. R&D and prototyping

  • Quickly prototype engraving workflows:

  • Simulate marking sequences

  • Test TL07 commands without manual interaction

  • Build proof-of-concept integrations

4. Maintenance and tooling

  • Create internal tools to:

  • List, upload, or delete files on the machine

  • Diagnose machine status remotely

  • Standardize engraving procedures across sites

Project status

Active development

  • Core TL07 commands implemented

  • Thread-safe TCP/IP communication

  • Unit-tested architecture

  • Continuous Integration in place

Future improvements may include:

  • Extended error handling

  • Higher-level workflows

  • Async support

  • Additional documentation and examples

Support & Contact

This project is provided as-is, without official support from Gravotech.

However:

  • Bug reports and feature requests are welcome via GitHub Issues

  • Contributions (PRs, tests, documentation) are encouraged

  • The codebase is designed to be readable, testable, and extensible

If you need custom integration, industrial support, or project-specific adaptations, you are encouraged to fork the project or build on top of it

Disclaimer

This is an unofficial project. Gravotech®, TL07®, and related trademarks are the property of their respective owners.

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

gravotech_tl07-1.0.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

gravotech_tl07-1.0.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file gravotech_tl07-1.0.0.tar.gz.

File metadata

  • Download URL: gravotech_tl07-1.0.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gravotech_tl07-1.0.0.tar.gz
Algorithm Hash digest
SHA256 711dd6cc53266eb196ac383671e80a4293c071464481f1980475a18e315b1d0e
MD5 ee838309091bdff5aa17699590011366
BLAKE2b-256 dcf542a616164a15deb1aeb5c44ffb6fc5e4dd06745ef5d50678c3aa11f1ce02

See more details on using hashes here.

Provenance

The following attestation bundles were made for gravotech_tl07-1.0.0.tar.gz:

Publisher: publish.yml on Saadiinho/gravotech

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

File details

Details for the file gravotech_tl07-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gravotech_tl07-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gravotech_tl07-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ff45166b28aca13fdb84bb791abc40a853f4652d60bff28ff90f51cbb32b0d2
MD5 7d01dbe5ade1bcc31fdbe793d6a1e92e
BLAKE2b-256 cdf412abf528aff96f15b3309049b1d55bcd0c4ae456d834e4dbaa9c99e322e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for gravotech_tl07-1.0.0-py3-none-any.whl:

Publisher: publish.yml on Saadiinho/gravotech

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