# tcex - ThreatConnect Exchange App Framework

The ThreatConnect&trade; TcEx App Framework provides functionality for writing ThreatConnect Exchange Apps.

## Requirements

 * arrow (https://pypi.python.org/pypi/arrow/)
 * black (https://pypi.org/project/black/)
 * inflection (https://pypi.org/project/inflection/)
 * isort (https://pypi.org/project/isort/)
 * jmespath (https://pypi.org/project/jmespath/)
 * paho-mqtt (https://pypi.org/project/paho-mqtt/)
 * pyaes (https://pypi.org/project/pyaes/)
 * pydantic (https://pypi.org/project/pydantic/)
 * python-dateutil (https://pypi.python.org/pypi/python-dateutil/)
 * pyyaml (https://pypi.python.org/pypi/pyyaml/)
 * redis (https://pypi.python.org/pypi/redis/)
 * requests (https://pypi.python.org/pypi/requests/)
 * rich (https://pypi.python.org/pypi/rich/)
 * semantic_version (https://pypi.org/project/semantic-version/)
 * wrapt (https://pypi.org/project/wrapt/)

### Development Requirements

 * bandit (https://pypi.org/project/bandit/)
 * pre-commit (https://pypi.org/project/pre-commit/)
 * pyright (https://pypi.org/project/pyright/)
 * pyupgrade (https://pypi.org/project/pyupgrade/)
 * ruff (https://pypi.org/project/ruff/)
 * typer (https://pypi.python.org/pypi/typer/)

### Test Requirements

 * deepdiff (https://pypi.org/project/deepdiff/)
 * fakeredis (https://pypi.org/project/fakeredis/)
 * pytest (https://pypi.org/project/pytest/)
 * pytest-cov (https://pypi.org/project/pytest-cov/)
 * pytest-html (https://pypi.org/project/pytest-html/)
 * pytest-ordering (https://pypi.org/project/pytest-ordering/)
 * pytest-xdist (https://pypi.org/project/pytest-xdist/)

## Installation

```bash
pip install tcex
```

### Development / Testing

 * uv (https://pypi.python.org/pypi/uv/)

```bash
uv sync
```

## Documentation

https://threatconnect.readme.io/docs/overview

## Release Notes

https://threatconnect.readme.io/docs/release-notes

## Contact

If you have any questions, bugs, or requests please contact support@threatconnect.com
