Metadata-Version: 2.4
Name: twincat-tools
Version: 0.1.7
Summary: A set of tools for TwinCAT projects
License-Expression: BSD-4-Clause
Author: Robert Roos
Author-email: robert.soor@gmail.com
Requires-Python: >=3.10
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: EditorConfig (>=0.12.4)
Requires-Dist: GitPython (>=3.1.43)
Requires-Dist: lxml (>=5.3.0)
Requires-Dist: tomli (>=2.0.2) ; python_version < "3.11"
Project-URL: Bug Tracker, https://github.com/DEMCON/twincat-tools/issues
Project-URL: Documentation, https://twincat-tools.readthedocs.io
Project-URL: Homepage, https://github.com/DEMCON/twincat-tools
Description-Content-Type: text/markdown

# TwinCAT Tools

[![Documentation](https://readthedocs.org/projects/twincat-tools/badge/?version=latest)](https://twincat-tools.readthedocs.io/latest/?badge=latest)
[![PyPI](https://img.shields.io/pypi/v/twincat-tools)](https://pypi.org/project/twincat-tools/)
[![PyTest](https://github.com/DEMCON/twincat-tools/actions/workflows/tests.yml/badge.svg)](https://github.com/DEMCON/twincat-tools/actions)
[![codecov](https://codecov.io/gh/DEMCON/twincat-tools/graph/badge.svg?token=3NU2UNM2U0)](https://codecov.io/gh/DEMCON/twincat-tools)

This repository contains a small set of tools for developing TwinCAT projects.

## Install

Install it with pip from [pypi.org](https://pypi.org/project/twincat-tools/) with:
```
pip install twincat-tools
```

Use it as `python -m tctools.[*]`.

Note: the PyPi package named _TcTools_ is **not** affiliated with this project and is simply an unfortunate name conflict!

## Develop

### Requirements

Install package in editable mode and get the development requirements with:
```
poetry install --with dev --with doc
```

The package uses dynamic versioning.
The plugin can be added to your Poetry installation with:
```
poetry self add "poetry-dynamic-versioning[plugin]"
```

### Documentation

Documentation is built using Sphinx.
This is done automatically and hosted by [ReadTheDocs](https://about.readthedocs.com/).

### Linting

Code style is enforced with black, isort and flake8. 
Format code with:
```
isort .
black .
```
And verify code with: (flake8 extensions will also perform black and isort checks)
```
flake8 ./src ./tests
```

## Tools

See RTD documentation for full overview of usage: https://twincat-tools.readthedocs.io/latest/pages/tools.html

