{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:97df4d0f-ae2f-4edf-a9c7-d5defc4226e5","metadata":{"timestamp":"2026-10-11T14:38:02Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"googleapis/python-analytics-data"}},"components":[{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/docs.yml"}]},{"type":"library","name":"actions/setup-python","version":"v4","purl":"pkg:githubactions/actions/setup-python","properties":[{"name":"filePath","value":".github/workflows/docs.yml"}]},{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/lint.yml"}]},{"type":"library","name":"actions/setup-python","version":"v4","purl":"pkg:githubactions/actions/setup-python","properties":[{"name":"filePath","value":".github/workflows/lint.yml"}]},{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/unittest.yml"}]},{"type":"library","name":"actions/setup-python","version":"v4","purl":"pkg:githubactions/actions/setup-python","properties":[{"name":"filePath","value":".github/workflows/unittest.yml"}]},{"type":"library","name":"actions/upload-artifact","version":"v3","purl":"pkg:githubactions/actions/upload-artifact","properties":[{"name":"filePath","value":".github/workflows/unittest.yml"}]},{"type":"library","name":"actions/download-artifact","version":"v3","purl":"pkg:githubactions/actions/download-artifact","properties":[{"name":"filePath","value":".github/workflows/unittest.yml"}]},{"type":"library","name":"pytest","version":"==7.1.2","purl":"pkg:pypi/pytest","properties":[{"name":"filePath","value":"samples/snippets/requirements-test.txt"}]},{"type":"library","name":"google-analytics-data","version":"==0.12.0","purl":"pkg:pypi/google-analytics-data","properties":[{"name":"filePath","value":"samples/snippets/requirements.txt"}]},{"type":"library","name":"google-auth-oauthlib","version":"==0.5.1","purl":"pkg:pypi/google-auth-oauthlib","properties":[{"name":"filePath","value":"samples/snippets/requirements.txt"}]},{"type":"library","name":"ubuntu","version":"22.04","purl":"pkg:docker/ubuntu","properties":[{"name":"filePath","value":".kokoro/docker/docs/Dockerfile"}]},{"type":"library","name":"gcp-docuploader","version":"*","purl":"pkg:pypi/gcp-docuploader","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"gcp-releasetool","version":"*","purl":"pkg:pypi/gcp-releasetool","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"importlib-metadata","version":"*","purl":"pkg:pypi/importlib-metadata","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"typing-extensions","version":"*","purl":"pkg:pypi/typing-extensions","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"twine","version":"*","purl":"pkg:pypi/twine","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"wheel","version":"*","purl":"pkg:pypi/wheel","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"setuptools","version":"*","purl":"pkg:pypi/setuptools","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"nox","version":"*","purl":"pkg:pypi/nox","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"charset-normalizer","version":"\u003c3","purl":"pkg:pypi/charset-normalizer","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"click","version":"\u003c8.1.0","purl":"pkg:pypi/click","properties":[{"name":"filePath","value":".kokoro/requirements.in"}]},{"type":"library","name":"argcomplete","version":"==2.0.0","purl":"pkg:pypi/argcomplete","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"attrs","version":"==22.1.0","purl":"pkg:pypi/attrs","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"bleach","version":"==5.0.1","purl":"pkg:pypi/bleach","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"cachetools","version":"==5.2.0","purl":"pkg:pypi/cachetools","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"certifi","version":"==2022.12.7","purl":"pkg:pypi/certifi","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"cffi","version":"==1.15.1","purl":"pkg:pypi/cffi","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"charset-normalizer","version":"==2.1.1","purl":"pkg:pypi/charset-normalizer","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"click","version":"==8.0.4","purl":"pkg:pypi/click","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"colorlog","version":"==6.7.0","purl":"pkg:pypi/colorlog","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"commonmark","version":"==0.9.1","purl":"pkg:pypi/commonmark","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"cryptography","version":"==39.0.1","purl":"pkg:pypi/cryptography","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"distlib","version":"==0.3.6","purl":"pkg:pypi/distlib","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"docutils","version":"==0.19","purl":"pkg:pypi/docutils","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"filelock","version":"==3.8.0","purl":"pkg:pypi/filelock","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"gcp-docuploader","version":"==0.6.4","purl":"pkg:pypi/gcp-docuploader","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"gcp-releasetool","version":"==1.10.0","purl":"pkg:pypi/gcp-releasetool","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"google-api-core","version":"==2.10.2","purl":"pkg:pypi/google-api-core","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"google-auth","version":"==2.14.1","purl":"pkg:pypi/google-auth","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"google-cloud-core","version":"==2.3.2","purl":"pkg:pypi/google-cloud-core","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"google-cloud-storage","version":"==2.6.0","purl":"pkg:pypi/google-cloud-storage","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"google-crc32c","version":"==1.5.0","purl":"pkg:pypi/google-crc32c","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"google-resumable-media","version":"==2.4.0","purl":"pkg:pypi/google-resumable-media","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"googleapis-common-protos","version":"==1.57.0","purl":"pkg:pypi/googleapis-common-protos","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"idna","version":"==3.4","purl":"pkg:pypi/idna","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"importlib-metadata","version":"==5.0.0","purl":"pkg:pypi/importlib-metadata","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"jaraco-classes","version":"==3.2.3","purl":"pkg:pypi/jaraco-classes","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"jeepney","version":"==0.8.0","purl":"pkg:pypi/jeepney","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"jinja2","version":"==3.1.2","purl":"pkg:pypi/jinja2","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"keyring","version":"==23.11.0","purl":"pkg:pypi/keyring","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"markupsafe","version":"==2.1.1","purl":"pkg:pypi/markupsafe","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"more-itertools","version":"==9.0.0","purl":"pkg:pypi/more-itertools","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"nox","version":"==2022.8.7","purl":"pkg:pypi/nox","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"packaging","version":"==21.3","purl":"pkg:pypi/packaging","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pkginfo","version":"==1.8.3","purl":"pkg:pypi/pkginfo","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"platformdirs","version":"==2.5.4","purl":"pkg:pypi/platformdirs","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"protobuf","version":"==3.20.3","purl":"pkg:pypi/protobuf","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"py","version":"==1.11.0","purl":"pkg:pypi/py","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pyasn1","version":"==0.4.8","purl":"pkg:pypi/pyasn1","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pyasn1-modules","version":"==0.2.8","purl":"pkg:pypi/pyasn1-modules","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pycparser","version":"==2.21","purl":"pkg:pypi/pycparser","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pygments","version":"==2.13.0","purl":"pkg:pypi/pygments","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pyjwt","version":"==2.6.0","purl":"pkg:pypi/pyjwt","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pyparsing","version":"==3.0.9","purl":"pkg:pypi/pyparsing","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"pyperclip","version":"==1.8.2","purl":"pkg:pypi/pyperclip","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"python-dateutil","version":"==2.8.2","purl":"pkg:pypi/python-dateutil","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"readme-renderer","version":"==37.3","purl":"pkg:pypi/readme-renderer","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"requests","version":"==2.28.1","purl":"pkg:pypi/requests","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"requests-toolbelt","version":"==0.10.1","purl":"pkg:pypi/requests-toolbelt","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"rfc3986","version":"==2.0.0","purl":"pkg:pypi/rfc3986","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"rich","version":"==12.6.0","purl":"pkg:pypi/rich","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"rsa","version":"==4.9","purl":"pkg:pypi/rsa","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"secretstorage","version":"==3.3.3","purl":"pkg:pypi/secretstorage","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"six","version":"==1.16.0","purl":"pkg:pypi/six","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"twine","version":"==4.0.1","purl":"pkg:pypi/twine","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"typing-extensions","version":"==4.4.0","purl":"pkg:pypi/typing-extensions","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"urllib3","version":"==1.26.12","purl":"pkg:pypi/urllib3","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"virtualenv","version":"==20.16.7","purl":"pkg:pypi/virtualenv","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"webencodings","version":"==0.5.1","purl":"pkg:pypi/webencodings","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"wheel","version":"==0.38.4","purl":"pkg:pypi/wheel","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"zipp","version":"==3.10.0","purl":"pkg:pypi/zipp","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]},{"type":"library","name":"setuptools","version":"==65.5.1","purl":"pkg:pypi/setuptools","properties":[{"name":"filePath","value":".kokoro/requirements.txt"}]}]}