The official OpenCTI Python client helps developers to use the OpenCTI API by providing easy to use methods and utils. This client is also used by some OpenCTI components.
To install the latest Python client library, please use pip
:
$ pip3 install pycti
# Fork the current repository, then clone your fork
$ git clone https://github.com/YOUR-USERNAME/client-python
$ cd client-python
$ git remote add upstream https://github.com/OpenCTI-Platform/client-python.git
# Create a branch for your feature/fix
$ git checkout -b [branch-name]
# Create a virtualenv
$ python3 -m venv .venv
$ source .venv/bin/activate
# Install the client-python and dependencies for the development and the documentation
$ python3 -m pip install -e .[dev,doc]
# Set up the git hook scripts
$ pre-commit install
# Create your feature/fix
# Create tests for your changes
$ pytest
# Push you feature/fix on Github
$ git add [file(s)]
$ git commit -m "[descriptive message]"
$ git push origin [branch-name]
# Open a pull request
$ pip install -e .
To learn about how to use the OpenCTI Python client and read some examples and cases, refer to the client documentation.
To learn about the methods available for executing queries and retrieving their answers, refer to the client API Reference.
$ pip install -r ./test-requirements.txt
pytest is used to launch the tests.
Your OpenCTI API should be running. Your conftest.py should be configured with your API url, your token, and if applicable, your mTLS cert/key.
Unit tests
$ pytest ./tests/01-unit/
Integration testing
$ pytest ./tests/02-integration/
OpenCTI is a product designed and developed by the company Filigran.