Skip to main content

Robust Python SDK and CLI for ThreatMatrix's API

Project description

PyThreatMatrix

PyPI version PyPI Supported Python Versions

Pull request automation codecov CodeFactor

Robust Python SDK and Command Line Client for interacting with ThreatMatrix's API.

Features

  • Easy one-time configuration with self documented help and hints along the way.
  • Request new analysis for observables and files.
    • Select which analyzers you want to run for every analysis you perform.
    • Choose whether you want to HTTP poll for the analysis to finish or not.
  • List all jobs or view one job in a prettified tabular form.
  • List all tags or view one tag in a prettified tabular form.
  • Tabular view of the analyzer_config.json and connector_config.json from ThreatMatrix with RegEx matching capabilities.

Demo

pythreatmatrix asciicast

Installation

$ pip3 install pythreatmatrix

For development/testing, pip3 install pythreatmatrix[dev]

Quickstart

As Command Line Client

On successful installation, The pythreatmatrix entryscript should be directly invokable. For example,

$ pythreatmatrix
Usage: pythreatmatrix [OPTIONS] COMMAND [ARGS]...

Options:
  -d, --debug  Set log level to DEBUG
  --version    Show the version and exit.
  -h, --help   Show this message and exit.

Commands:
  analyse                Send new analysis request
  analyzer-healthcheck   Send healthcheck request for an analyzer...
  config                 Set or view config variables
  connector-healthcheck  Send healthcheck request for a connector
  get-analyzer-config    Get current state of `analyzer_config.json` from...
  get-connector-config   Get current state of `connector_config.json` from...
  jobs                   Manage Jobs
  tags                   Manage tags

As a library / SDK

from pythreatmatrix import ThreatMatrix
obj = ThreatMatrix("<your_api_key>", "<your_threatmatrix_instance_url>", "optional<path_to_pem_file>", "optional<proxies>")

For more comprehensive documentation, please see https://pythreatmatrix.readthedocs.io/.

Changelog

View CHANGELOG.md.

FAQ

Generate API key

You need a valid API key to interact with the ThreatMatrix server. Keys should be created from the admin interface of ThreatMatrix: you have to go in the Durin section (click on Auth tokens) and generate a key there.

Incompatibility after version 3.0

We did a complete rewrite of the PyThreatMatrix client and CLI both for the version 3.0.0. We very much recommend you to update to the latest version to enjoy all new features.

(old auth method) JWT Token Authentication

this auth was available in ThreatMatrix versions <1.8.0 and pythreatmatrix versions <2.0.0

From the admin interface of ThreatMatrix, you have to go in the Outstanding tokens section and generate a token there.

You can use it by pasting it into the file api_token.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythreatmatrix-5.0.0.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

pythreatmatrix-5.0.0-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

Details for the file pythreatmatrix-5.0.0.tar.gz.

File metadata

  • Download URL: pythreatmatrix-5.0.0.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for pythreatmatrix-5.0.0.tar.gz
Algorithm Hash digest
SHA256 5d0dcd776b91c5d815d3f4876ccce165af100e68a231ba77a4739e8716a3c3a5
MD5 f40477b472fece984b6518de4d9ab074
BLAKE2b-256 d24f159776362c720d3dfd6b8df0eb01c240c96a898a97fe2daa4e877436fa29

See more details on using hashes here.

File details

Details for the file pythreatmatrix-5.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pythreatmatrix-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d686e409c72087d387f9856460ee016330e5e22a37c82523763544e229678275
MD5 bb83cb44a9c7ead1e2e84bbd2cc7ff62
BLAKE2b-256 9797d393b14c38ea231c0ae359cd5892838a3c8fccf051b8b2365c875308a9ff

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page