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.5.25.17.21.46.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.5.25.17.21.46-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tcheckerpy-2026.5.25.17.21.46.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.5.25.17.21.46.tar.gz
Algorithm Hash digest
SHA256 ca44fd7b9fbe47440d17f1c6f7952153c8e6851db590d0e25d8701cde2e0565e
MD5 d74612db8236aeb41fda5d733d50b50e
BLAKE2b-256 eeb02097c91a58842689910a652e3e70505a94e3b3179d02406cc3327769e3cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for tcheckerpy-2026.5.25.17.21.46.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.5.25.17.21.46-py3-none-any.whl.

File metadata

File hashes

Hashes for tcheckerpy-2026.5.25.17.21.46-py3-none-any.whl
Algorithm Hash digest
SHA256 941b902011365653c8a06d21728d5835c7fa14864aabc7f2743634b7b7959a26
MD5 b1afe1605012b72a9d4700e22d511719
BLAKE2b-256 42d296a9f31e4ab280f2fbc2948bffdd5dc0a1b4b4f28ca3fdfdbf8ef4dbc4b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tcheckerpy-2026.5.25.17.21.46-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