The TCT software package is designed for the synthesis of supervisory controls for untimed discrete-event systems (DES). PiTCT provides Python Binding of the TCT so that TCT can be used from Python.
TCT is based on this repository
Warning
PiTCT was renamed when it was changed to OSS as v1, having previously been provided as pytct.
The migration documentation is here.
For a quick tutorial and API reference, see the documentation.
Requirements:
- Python 3.9+
- Graphviz (system package)
-
Install pitct library
pip install pitct
-
Install graphviz
PiTCT depends on Graphviz.
Please install graphviz from:
This project uses multiple licenses due to the inclusion of third-party code. It is licensed under the Apache 2.0 License, with the exception of the content in the libtct directory.
- The python source code (
/pitctdirectory and other root files) is licensed under the Apache 2.0 License. See LICENSE for more details. - The tct source code (
/libtctdirectory) is licensed under the BSD 3-Clause License. See libtct/LICENSE for more details.
-
(optional) create virtual environment
python -m venv venv -
(when using virtual environment) Activate virtual environment
source venv/bin/activate -
install dependencies
pip install -e "." pip install -e ".[dev]"
-
build PiTCT
python -m build --wheel --sdist
PiTCT distributable file is generated in dist/ folder.