This page gives an introduction to python-stix and how to use it.
This page is being actively worked on; feedback is always welcome.
The python-stix library provides an API for creating or processing STIX content. As such, it is a developer tool that can be leveraged by those who know Python 2.7/3.3+ and are familiar with object-oriented programming practices, Python package layouts, and are comfortable with the installation of Python libraries. To contribute code to the python-stix repository, users must be familiar with git and GitHub pull request methodologies. Understanding XML, XML Schema, and the STIX language is also incredibly helpful when using python-stix in an application.
Your First STIX Application¶
Once you have installed python-stix, you can begin writing Python applications that consume or create STIX content!
The python-stix library provides bindings and APIs, both of which can be used to parse and write STIX XML files. For in-depth description of the APIs, bindings, and the differences between the two, please refer to APIs or bindings?
Creating a STIX Package¶
from stix.core import STIXPackage # Import the STIX Package API from stix.report import Report # Import the STIX Report API from stix.report.header import Header # Import the STIX Report Header API stix_package = STIXPackage() # Create an instance of STIXPackage stix_report = Report() # Create a Report instance stix_report.header = Header() # Create a header for the report stix_report.header.description = "Getting Started!" # Set the description stix_package.add(stix_report) # Add the report to our STIX Package print(stix_package.to_xml()) # Print the XML for this STIX Package
Parsing STIX XML¶
from stix.core import STIXPackage # Import the STIX Package API fn = 'stix_content.xml' # The STIX content filename stix_package = STIXPackage.from_xml(fn) # Parse using the from_xml() method
The python-stix GitHub repository contains several example scripts that help illustrate the capabilities of the APIs. These examples can be found here. Accompanying walkthrough slides are available. These scripts are simple command line utilities that can be executed by passing the name of the script to a Python interpreter.
Example: $ python ex_01.py
You must install python-stix before running these example scripts.