Hello there, developer! This directory is home to a collection of shared code packages (think of them as specialized toolkits) designed to assist you in building and maintaining integrations for the Google SecOps Content Hub. Our goal is to simplify common development tasks, promote consistency, and help you create robust and reliable integrations.
Below, you'll find information about the key packages available here.
These are foundational libraries that you'll often use when developing integrations.
TIPCommon: This is your go-to library for a wide range of common utilities and functionalities that are frequently needed when building integrations. It helps you avoid reinventing the wheel and focuses on common patterns seen in response integrations.EnvironmentCommon: This library provides functionalities thatTIPCommondepends on, often related to handling environment-specific configurations or interactions.
To benefit from the latest features, bug fixes, and security enhancements, it's crucial to always
use the most recent
versions of these packages. You can find the available versions within their respective folders in
this packages
directory (e.g., TIPCommon-x.x.x, EnvironmentCommon-x.x.x).
If you need to use TIPCommon (and by extension, EnvironmentCommon) as a dependency for your
integration, follow
these steps:
-
Identify the latest versions of
TIPCommonandEnvironmentCommonavailable in thispackagesdirectory. -
From your integration's root directory, run the following commands, replacing
x.x.xwith the actual latest version numbers:uv add ../../packages/tipcommon/TIPCommon-x.x.x/TIPCommon-x.x.x-py2.py3-none-any.whl uv add ../../packages/envcommon/EnvironmentCommon-x.x.x/EnvironmentCommon-x.x.x-py2.py3-none-any.whl
(Remember to replace
x.x.xwith the correct version numbers you used in theuv addcommand.) -
This will update your integration's
pyproject.tomlfile to include these dependencies. It should look something like this:[project] # ... other project configurations ... dependencies = [ # ... other dependencies ... "environmentcommon", # ... "tipcommon", # ... other dependencies ... ] # ... other configurations ... [tool.uv.sources] # ... other sources ... environmentcommon = { path = "../../../packages/envcommon/EnvironmentCommon-x.x.x/EnvironmentCommon-x.x.x-py2.py3-none-any.whl" } tipcommon = { path = "../../../packages/tipcommon/TIPCommon-x.x.x/TIPCommon-x.x.x-py2.py3-none-any.whl" } # ...
Please try to avoid using older versions unless absolutely necessary for a specific reason.
- If you add
TIPCommonto your project, you must also addEnvironmentCommon, asTIPCommondepends on it. - However, you can use
EnvironmentCommonon its own if your integration only requires its specific functionalities.
We plan to publish these dependencies in the future. This will allow you to install them more
conveniently using uv
directly from an online package repository, rather than relying on local wheel files. Stay tuned for
updates on this front!