Each extension implementation is an independent buildable Python project residing in a subdirectory of this repository. Implementations must integrate with the cti-python-stix2 library as registered extensions. One can refer to stix2 extension docs for further information regarding how to do the integration.
To contribute an extension implementation:
Fork this repository
Create a subdirectory named after your extension.
The naming convention is:
<STIX object type name>-extension-<extension definition id's UUID first three digits>
. For multiple extension definitions which are related, use the "root" STIX object type name.For example: incident-extension-ef7
Create a buildable Python project in your subdirectory:
The project name should also reflect your extension
python-stix2-<directory name from previous step>
For example: python-stix2-incident-extension-ef7
Recommended style is pyproject.toml, e.g. using setuptools build backend with a src-layout.
- Unit tests should be included
- The code should work on the same versions of Python as the stix2 library it will integrate with.
- In the future, CI will be enabled to run the tests.
Examples should be included in an examples directory. Some examples might found in the common object repository.
Make a pull request to merge your work into this repository.