Metadata-Version: 2.1
Name: pycti
Version: 5.3.post5312
Summary: Python API client for OpenCTI.
Home-page: https://github.com/OpenCTI-Platform/client-python
Author: Filigran
Author-email: contact@filigran.io
Maintainer: Filigran
License: Apache
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Natural Language :: French
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: datefinder (~=0.7.3)
Requires-Dist: pika (~=1.3.0)
Requires-Dist: python-json-logger (~=2.0.4)
Requires-Dist: pyyaml (~=6.0)
Requires-Dist: requests (~=2.28.1)
Requires-Dist: setuptools (~=65.3.0)
Requires-Dist: sseclient (~=0.0.27)
Requires-Dist: stix2 (~=3.0.1)
Requires-Dist: python-magic (~=0.4.27) ; sys_platform == "linux" or sys_platform == "darwin"
Requires-Dist: python-magic-bin (~=0.4.14) ; sys_platform == "win32"
Provides-Extra: dev
Requires-Dist: black (~=22.6.0) ; extra == 'dev'
Requires-Dist: build (~=0.8.0) ; extra == 'dev'
Requires-Dist: isort (~=5.10.1) ; extra == 'dev'
Requires-Dist: types-pytz (~=2022.2.1.0) ; extra == 'dev'
Requires-Dist: pre-commit (~=2.20.0) ; extra == 'dev'
Requires-Dist: pytest-cases (~=3.6.13) ; extra == 'dev'
Requires-Dist: pytest-cov (~=3.0.0) ; extra == 'dev'
Requires-Dist: pytest-randomly (~=3.12.0) ; extra == 'dev'
Requires-Dist: pytest (~=7.1.2) ; extra == 'dev'
Requires-Dist: types-python-dateutil (~=2.8.19) ; extra == 'dev'
Requires-Dist: wheel (~=0.37.1) ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: autoapi (~=2.0.1) ; extra == 'doc'
Requires-Dist: sphinx-autodoc-typehints (~=1.19.2) ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme (~=1.0.0) ; extra == 'doc'

# OpenCTI client for Python

[![Website](https://img.shields.io/badge/website-opencti.io-blue.svg)](https://www.opencti.io)
[![CircleCI](https://circleci.com/gh/OpenCTI-Platform/client-python.svg?style=shield)](https://circleci.com/gh/OpenCTI-Platform/client-python/tree/master)
[![readthedocs](https://readthedocs.org/projects/opencti-client-for-python/badge/?style=flat)](https://opencti-client-for-python.readthedocs.io/en/latest/)
[![GitHub release](https://img.shields.io/github/release/OpenCTI-Platform/client-python.svg)](https://github.com/OpenCTI-Platform/client-python/releases/latest)
[![Number of PyPI downloads](https://img.shields.io/pypi/dm/pycti.svg)](https://pypi.python.org/pypi/pycti/)
[![Slack Status](https://slack.luatix.org/badge.svg)](https://slack.luatix.org)

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.

## Install

To install the latest Python client library, please use `pip`:

```bash
$ pip3 install pycti
```

## Local development

```bash
# 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
```

## Documentation

### Client usage

To learn about how to use the OpenCTI Python client and read some examples and cases, refer to [the client documentation](https://opencti-client-for-python.readthedocs.io/en/latest/client_usage/getting_started.html).

### API reference

To learn about the methods available for executing queries and retrieving their answers, refer to [the client API Reference](https://opencti-client-for-python.readthedocs.io/en/latest/pycti/pycti.html).

## About

OpenCTI is a product powered by the collaboration of the private company [Filigran](https://www.filigran.io), the [French national cybersecurity agency (ANSSI)](https://ssi.gouv.fr), the [CERT-EU](https://cert.europa.eu) and the [Luatix](https://www.luatix.org) non-profit organization.
