Skip to main content

A Python Interface for TChecker

Project description

tcheckerpy

tcheckerpy is a Python interface to the TChecker model checker, allowing you to analyze and compare timed automata models directly from Python.
It provides access to the following TChecker tools:

  • tck-compare
  • tck-liveness
  • tck-reach
  • tck-simulate
  • tck-syntax

For detailed documentation, refer to the TChecker Wiki.

Installation

You can install tcheckerpy via PyPI:

pip install tcheckerpy

Usage Example

# import required tools
from tcheckerpy.tools import tck_reach, tck_syntax

# read declaration of timed automata network from .txt or .tck file into string
with open(system_declaration_path) as file:
        system = file.read()

# raise error if syntax is incorrect
tck_syntax.check(system)

# perform reachability analysis
result, stats, certificate = tck_reach.reach(system, tck_reach.Algorithm.REACH, certificate = tck_reach.Certificate.GRAPH)
print(result)
print(stats)
print(certificate)

Example output (based on ad94.txt):

False
MEMORY_MAX_RSS 41116
REACHABLE false
RUNNING_TIME_SECONDS 6.1474e-05
VISITED_STATES 7
VISITED_TRANSITIONS 8

digraph ad94_fig10 {
  0 [initial="true", intval="", labels="", vloc="<l0>", zone="(0<=x && 0<=y)"]
  1 [intval="", labels="", vloc="<l1>", zone="(1<x && 0<=y && 1<x-y)"]
  2 [intval="", labels="", vloc="<l1>", zone="(0<=x && 0<=y && 0<=x-y)"]
  3 [intval="", labels="", vloc="<l2>", zone="(1<x && 1<=y)"]
  4 [intval="", labels="", vloc="<l2>", zone="(1<=x && 1<=y)"]
  5 [intval="", labels="green", vloc="<l3>", zone="(1<x && 0<y && x-y<1)"]
  6 [intval="", labels="green", vloc="<l3>", zone="(0<=x && 0<=y && x-y<1)"]
  0 -> 2 [vedge="<P@a>"]
  1 -> 3 [vedge="<P@b>"]
  2 -> 4 [vedge="<P@b>"]
  2 -> 6 [vedge="<P@c>"]
  5 -> 1 [vedge="<P@a>"]
  5 -> 5 [vedge="<P@d>"]
  6 -> 2 [vedge="<P@a>"]
  6 -> 5 [vedge="<P@d>"]
}

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

tcheckerpy-2026.4.15.9.42.51.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

tcheckerpy-2026.4.15.9.42.51-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file tcheckerpy-2026.4.15.9.42.51.tar.gz.

File metadata

  • Download URL: tcheckerpy-2026.4.15.9.42.51.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tcheckerpy-2026.4.15.9.42.51.tar.gz
Algorithm Hash digest
SHA256 5aa980ea0e2cc3def1fa9fd9672a6aaf6acbde1f79514a22999ee9be1ed64101
MD5 4e773684d55df2cdb23cb4e768a76132
BLAKE2b-256 f350eb0871fb0a86a8a4a8d2010f4c9b246ad844099103af25ea1eeeead0151e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tcheckerpy-2026.4.15.9.42.51.tar.gz:

Publisher: publish_to_pypi.yaml on Echtzeitsysteme/tcheckerpy

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

File details

Details for the file tcheckerpy-2026.4.15.9.42.51-py3-none-any.whl.

File metadata

File hashes

Hashes for tcheckerpy-2026.4.15.9.42.51-py3-none-any.whl
Algorithm Hash digest
SHA256 8cad59e2df2ba0557887d220c48369917e6f5cd54fd6dbe0485b13ba7bd1171e
MD5 248e9fde5003d9e22b0236b9227e38f8
BLAKE2b-256 e7806eb6d7af2d1802928e7c89352a7156b5bb9bfa79e952ae218e34c5ce95bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for tcheckerpy-2026.4.15.9.42.51-py3-none-any.whl:

Publisher: publish_to_pypi.yaml on Echtzeitsysteme/tcheckerpy

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