### Using Development Scripts for QPyLib Development Source: https://github.com/ibm/qpylib/blob/master/CONTRIBUTING.md The QPyLib project provides three main scripts for development: lint.sh for code style checking, test.sh for running unit tests, and build.sh for creating distribution packages. These scripts replicate the CI pipeline locally and must pass before pull requests are accepted. ```bash * `lint.sh` * `test.sh` * `build.sh` ``` -------------------------------- ### Documenting QPyLib Changelog in Markdown Source: https://github.com/ibm/qpylib/blob/master/CHANGELOG.md This code snippet presents the changelog for QPyLib in Markdown format. It details version updates from 2.0 to 2.0.9, highlighting key changes, additions, and fixes for each version. ```Markdown # Changelog ## 2.0.9 - Add override for `qpylib.REST` default timeout. ## 2.0.8 - `qpylib.log` now sanitizes the supplied `message` text to suppress any embedded control characters. ## 2.0.7 - Update dependency versions. ## 2.0.6 - Fix missing `util_qpylib` missing from `qpylib` parent module. ## 2.0.5 - SDK rest calls now default to verify=True rather than verify=False. - Add protection against multiple calls of create_log(). - Add create_log() flag to enable/disable SysLogHandler. ## 2.0.4 - Update cryptography package version to address security vulnerabilities. ## 2.0.3 - Freeze pip requirements. - Add wheel generation. ## 2.0.2 - Log handling changes. - Cancel and delete functions added to `ariel.py` module. ## 2.0.1 - Non-SDK REST calls default to `verify=True`. SDK default remains `verify=False` for now, but that will change in a future release. ## 2.0 - First official release of qpylib on Github. - Support for Python 3 and Red Hat UBI app base image. - abstract/sdk/live layers removed. - New encryption algorithm in `encdec.py`, plus backwards compatibility with previous algorithms. All `encdec` error-handling is now performed using `encdec.EncryptionError`. - New `ariel.py` module supports Ariel searches via REST API. - `get_app_id` now uses `QRADAR_APP_ID` environment variable instead of manifest value. - REST methods now pass through `kwargs`. - `REST` now uses `localhost` instead of `gethostname()`. - Functions with changed parameter names: `get_root_path`, `get_store_path`, `REST`. ``` -------------------------------- ### Defining QRadar App UUID and Encrypted Keys for v3 Source: https://github.com/ibm/qpylib/blob/master/test/encdec_db/README.txt Sets the QRadar App UUID for version 3 and defines encrypted key-value pairs for 'mykey' and 'mytoken'. This snippet is generated using encdec from Github qpylib commit 36d53c482. ```Python QRADAR_APP_UUID = '5b7e8085-ca96-41e1-8e4b-2983f0d595b8' Contents: name = 'mykey', secret = '12345678' name = 'mytoken', secret = 'abcdefghij' ``` -------------------------------- ### Defining QRadar App UUID and Encrypted Keys for v2 Source: https://github.com/ibm/qpylib/blob/master/test/encdec_db/README.txt Sets the QRadar App UUID for version 2 and defines encrypted key-value pairs for 'mykey' and 'mytoken'. This snippet is generated using encdec from qradar_base_app_tarball for Python 2 with pycrypto. ```Python QRADAR_APP_UUID = 'a1b2c3d4-4896-11e8-842f-0ed5f89f718b' Contents: name = 'mykey', secret = '12345678' name = 'mytoken', secret = 'abcdefghij' ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.