How to add dependencies in cross/ directory

I have a custom integration on python v3.7 but to upgrade to python 3.11 I need to update TIPCommon to be able to use the latest version for other dependencies like urllib3, requests etc.

cross/TIPCommon-1.0.12-py2.py3-none-any.whl

I exported a newer TIPCommon version in an other integration but how can i add them in cross/  ?

If i add the .whl file in the Script dependencies they are outside of cross/ and then i get the following error:

 from TIPCommon import extract_configuration_param, extract_action_param, construct_csv
ModuleNotFoundError: No module named 'TIPCommon'

My import in the custom integration code is like this: 

from TIPCommon import extract_configuration_param, extract_action_param, construct_csv
 
How can i get around this?



Solved Solved
0 5 531
1 ACCEPTED SOLUTION

I am hoping you are creating the custom integration with latest supported python3.11.

List of minimum dependencies required for an custom integration:
anyio-4.9.0-py3-none-any.whl
cachetools-5.5.2-py3-none-any.whl
certifi-2025.1.31-py3-none-any.whl
charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
EnvironmentCommon-1.0.2-py2.py3-none-any.whl
google_api_core-2.24.2-py3-none-any.whl
google_api_python_client-2.165.0-py2.py3-none-any.whl
googleapis_common_protos-1.69.2-py3-none-any.whl
google_auth-2.38.0-py2.py3-none-any.whl
google_auth_httplib2-0.2.0-py2.py3-none-any.whl
h11-0.14.0-py3-none-any.whl
httpcore-1.0.7-py3-none-any.whl
httplib2-0.22.0-py3-none-any.whl
httpx-0.28.1-py3-none-any.whl
idna-3.10-py3-none-any.whl
protobuf-6.30.1-cp39-abi3-manylinux2014_x86_64.whl
proto_plus-1.26.1-py3-none-any.whl
pyasn1-0.6.1-py3-none-any.whl
pyasn1_modules-0.4.1-py3-none-any.whl
pycryptodome-3.22.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pyparsing-3.2.1-py3-none-any.whl
requests-2.32.3-py3-none-any.whl
rsa-4.9-py3-none-any.whl
sniffio-1.3.1-py3-none-any.whl
TIPCommon-2.1.0-py2.py3-none-any.whl
typing_extensions-4.12.2-py3-none-any.whl
uritemplate-4.1.1-py2.py3-none-any.whl
urllib3-2.3.0-py3-none-any.whl

Command to help you download all dependencies required by TIPCommon is:
"python3.11 -m pip download httpx google-auth google-auth-httplib2 google-api-python-client pycryptodome requests"
In the latest versions of TIPCommon it is required for us to use absolute imports to ensure proper resolution. In your case try to use
from TIPCommon.extraction import extract_configuration_param, extract_action_param
from TIPCommon.transformation import construct_csv

https://cloud.google.com/chronicle/docs/soar/marketplace-integrations/tipcommon/

View solution in original post

5 REPLIES 5

I had the same issue a few months ago and this thread solved it for me: https://www.googlecloudcommunity.com/gc/SecOps-SOAR/TIPCommon-Library-Installation/m-p/735821/highli... 

Thank you for your response.

I saw that post and tried following the steps and now i have these dependencies saved



 

httpx-0.28.1-py3-none-any.whl
uritemplate-4.1.1-py2.py3-none-any.whl
pyasn1-0.6.1-py3-none-any.whl
pyparsing-3.2.1-py3-none-any.whl
protobuf-6.30.1-cp39-abi3-manylinux2014_x86_64.whl
charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
idna-3.10-py3-none-any.whl
urllib3-2.3.0-py3-none-any.whl
google_api_python_client-2.164.0-py2.py3-none-any.whl
pycryptodome-3.22.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
anyio-4.9.0-py3-none-any.whl
certifi-2025.1.31-py3-none-any.whl
rsa-4.9-py3-none-any.whl
google_auth_httplib2-0.2.0-py2.py3-none-any.whl
h11-0.14.0-py3-none-any.whl
requests-2.32.3-py3-none-any.whl
pyasn1_modules-0.4.1-py3-none-any.whl
httpcore-1.0.7-py3-none-any.whl
proto_plus-1.26.1-py3-none-any.whl
google_auth-2.38.0-py2.py3-none-any.whl
httplib2-0.22.0-py3-none-any.whl
cachetools-5.5.2-py3-none-any.whl
typing_extensions-4.12.2-py3-none-any.whl
googleapis_common_protos-1.69.2-py3-none-any.whl
google_api_core-2.24.2-py3-none-any.whl
EnvironmentCommon-1.0.1-py2.py3-none-any.whl
sniffio-1.3.1-py3-none-any.whl
TIPCommon-1.1.8.4-py2.py3-none-any.whl

if i run my integration with this import:

from TIPCommon import extract_configuration_param, extract_action_param, construct_csv

i get the error:
from TIPCommon import extract_configuration_param, extract_action_param, construct_csv
ModuleNotFoundError: No module named 'TIPCommon'

Any idea what i am missing here?

 

I'm hoping someone from the Google team can help here, in my case once I imported the required dependencies it just worked. My best guess is that one of the TIPCommon dependencies has not been added.

I am hoping you are creating the custom integration with latest supported python3.11.

List of minimum dependencies required for an custom integration:
anyio-4.9.0-py3-none-any.whl
cachetools-5.5.2-py3-none-any.whl
certifi-2025.1.31-py3-none-any.whl
charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
EnvironmentCommon-1.0.2-py2.py3-none-any.whl
google_api_core-2.24.2-py3-none-any.whl
google_api_python_client-2.165.0-py2.py3-none-any.whl
googleapis_common_protos-1.69.2-py3-none-any.whl
google_auth-2.38.0-py2.py3-none-any.whl
google_auth_httplib2-0.2.0-py2.py3-none-any.whl
h11-0.14.0-py3-none-any.whl
httpcore-1.0.7-py3-none-any.whl
httplib2-0.22.0-py3-none-any.whl
httpx-0.28.1-py3-none-any.whl
idna-3.10-py3-none-any.whl
protobuf-6.30.1-cp39-abi3-manylinux2014_x86_64.whl
proto_plus-1.26.1-py3-none-any.whl
pyasn1-0.6.1-py3-none-any.whl
pyasn1_modules-0.4.1-py3-none-any.whl
pycryptodome-3.22.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pyparsing-3.2.1-py3-none-any.whl
requests-2.32.3-py3-none-any.whl
rsa-4.9-py3-none-any.whl
sniffio-1.3.1-py3-none-any.whl
TIPCommon-2.1.0-py2.py3-none-any.whl
typing_extensions-4.12.2-py3-none-any.whl
uritemplate-4.1.1-py2.py3-none-any.whl
urllib3-2.3.0-py3-none-any.whl

Command to help you download all dependencies required by TIPCommon is:
"python3.11 -m pip download httpx google-auth google-auth-httplib2 google-api-python-client pycryptodome requests"
In the latest versions of TIPCommon it is required for us to use absolute imports to ensure proper resolution. In your case try to use
from TIPCommon.extraction import extract_configuration_param, extract_action_param
from TIPCommon.transformation import construct_csv

https://cloud.google.com/chronicle/docs/soar/marketplace-integrations/tipcommon/

Thank you @Dev-M

With your information I managed to upgrade to python v3.11 and the latest TIPCommon version (which i imported from another integration in the marketplace) with all the other required dependencies. To get my integration to work again I had to completely start from scratch by cloning my integration, import the code manually and change the TIPCommon imports in the code.