{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:1829b765-183e-4919-ac1e-25bd5c0c47f9","metadata":{"timestamp":"2026-04-28T03:27:54Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"contentstack/contentstack-python"}},"components":[{"type":"library","name":"twython","version":"*","purl":"pkg:pypi/twython","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"setuptools","version":"*","purl":"pkg:pypi/setuptools","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"urllib3","version":"*","purl":"pkg:pypi/urllib3","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"contentstack-utils","version":"*","purl":"pkg:pypi/contentstack-utils","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"python-dateutil","version":"==2.8.2","purl":"pkg:pypi/python-dateutil","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"requests","version":"==2.27.1","purl":"pkg:pypi/requests","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"coverage","version":"==6.3.2","purl":"pkg:pypi/coverage","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"tox","version":"==3.25.0","purl":"pkg:pypi/tox","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"virtualenv","version":"==20.14.1","purl":"pkg:pypi/virtualenv","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"Sphinx","version":"==4.5.0","purl":"pkg:pypi/Sphinx","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"sphinxcontrib-websupport","version":"==1.2.4","purl":"pkg:pypi/sphinxcontrib-websupport","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"pip","version":"*","purl":"pkg:pypi/pip","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"build","version":"*","purl":"pkg:pypi/build","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"wheel","version":"*","purl":"pkg:pypi/wheel","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"py","version":"*","purl":"pkg:pypi/py","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"lxml","version":"*","purl":"pkg:pypi/lxml","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"utils","version":"*","purl":"pkg:pypi/utils","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"keyring","version":"*","purl":"pkg:pypi/keyring","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"docutils","version":"==0.16","purl":"pkg:pypi/docutils","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"pyparsing","version":"*","purl":"pkg:pypi/pyparsing","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"config","version":"*","purl":"pkg:pypi/config","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/codeql-analysis.yml"}]},{"type":"library","name":"github/codeql-action/init","version":"v2","purl":"pkg:githubactions/github/codeql-action/init","properties":[{"name":"filePath","value":".github/workflows/codeql-analysis.yml"}]},{"type":"library","name":"github/codeql-action/autobuild","version":"v2","purl":"pkg:githubactions/github/codeql-action/autobuild","properties":[{"name":"filePath","value":".github/workflows/codeql-analysis.yml"}]},{"type":"library","name":"github/codeql-action/analyze","version":"v2","purl":"pkg:githubactions/github/codeql-action/analyze","properties":[{"name":"filePath","value":".github/workflows/codeql-analysis.yml"}]},{"type":"library","name":"actions/checkout","version":"v2","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/jira.yml"}]},{"type":"library","name":"atlassian/gajira-login","version":"master","purl":"pkg:githubactions/atlassian/gajira-login","properties":[{"name":"filePath","value":".github/workflows/jira.yml"}]},{"type":"library","name":"atlassian/gajira-create","version":"master","purl":"pkg:githubactions/atlassian/gajira-create","properties":[{"name":"filePath","value":".github/workflows/jira.yml"}]},{"type":"library","name":"actions/checkout","version":"v2","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/sast-scan.yml"}]},{"type":"library","name":"actions/checkout","version":"master","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/sca-scan.yml"}]},{"type":"library","name":"snyk/actions/dotnet","version":"master","purl":"pkg:githubactions/snyk/actions/dotnet","properties":[{"name":"filePath","value":".github/workflows/sca-scan.yml"}]},{"type":"library","name":"actions/checkout","version":"v2","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/secrets-scan.yml"}]},{"type":"library","name":"gupy-io/gittyleaks-action","version":"v0.1","purl":"pkg:githubactions/gupy-io/gittyleaks-action","properties":[{"name":"filePath","value":".github/workflows/secrets-scan.yml"}]}]}