A Python library to communicate with Gravotech machines using TL07 protocol
Project description
Gravotech Python (Unofficial)
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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
711dd6cc53266eb196ac383671e80a4293c071464481f1980475a18e315b1d0e
|
|
| MD5 |
ee838309091bdff5aa17699590011366
|
|
| BLAKE2b-256 |
dcf542a616164a15deb1aeb5c44ffb6fc5e4dd06745ef5d50678c3aa11f1ce02
|
Provenance
The following attestation bundles were made for gravotech_tl07-1.0.0.tar.gz:
Publisher:
publish.yml on Saadiinho/gravotech
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravotech_tl07-1.0.0.tar.gz -
Subject digest:
711dd6cc53266eb196ac383671e80a4293c071464481f1980475a18e315b1d0e - Sigstore transparency entry: 919453205
- Sigstore integration time:
-
Permalink:
Saadiinho/gravotech@13d3c6dcf3f9abdbd29ce72157c5ac2921910177 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Saadiinho
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13d3c6dcf3f9abdbd29ce72157c5ac2921910177 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ff45166b28aca13fdb84bb791abc40a853f4652d60bff28ff90f51cbb32b0d2
|
|
| MD5 |
7d01dbe5ade1bcc31fdbe793d6a1e92e
|
|
| BLAKE2b-256 |
cdf412abf528aff96f15b3309049b1d55bcd0c4ae456d834e4dbaa9c99e322e5
|
Provenance
The following attestation bundles were made for gravotech_tl07-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on Saadiinho/gravotech
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravotech_tl07-1.0.0-py3-none-any.whl -
Subject digest:
9ff45166b28aca13fdb84bb791abc40a853f4652d60bff28ff90f51cbb32b0d2 - Sigstore transparency entry: 919453207
- Sigstore integration time:
-
Permalink:
Saadiinho/gravotech@13d3c6dcf3f9abdbd29ce72157c5ac2921910177 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Saadiinho
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13d3c6dcf3f9abdbd29ce72157c5ac2921910177 -
Trigger Event:
workflow_dispatch
-
Statement type: