{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:cd6a400b-4df3-4f0f-ad97-feb805dbf7ee","metadata":{"timestamp":"2026-10-19T11:45:38Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"openstack/python-heatclient"}},"components":[{"type":"library","name":"openstackdocstheme","version":"\u003e=2.2.1","purl":"pkg:pypi/openstackdocstheme","properties":[{"name":"filePath","value":"doc/requirements.txt"}]},{"type":"library","name":"reno","version":"\u003e=3.1.0","purl":"pkg:pypi/reno","properties":[{"name":"filePath","value":"doc/requirements.txt"}]},{"type":"library","name":"sphinx","version":"\u003e=2.0.0,","purl":"pkg:pypi/sphinx","properties":[{"name":"filePath","value":"doc/requirements.txt"}]},{"type":"library","name":"sphinxcontrib-httpdomain","version":"\u003e=1.3.0","purl":"pkg:pypi/sphinxcontrib-httpdomain","properties":[{"name":"filePath","value":"doc/requirements.txt"}]},{"type":"library","name":"Babel","version":"*","purl":"pkg:pypi/Babel","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"pbr","version":"*","purl":"pkg:pypi/pbr","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"cliff","version":"*","purl":"pkg:pypi/cliff","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"iso8601","version":"\u003e=0.1.11","purl":"pkg:pypi/iso8601","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"osc-lib","version":"\u003e=1.14.0","purl":"pkg:pypi/osc-lib","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"PrettyTable","version":"\u003e=0.7.2","purl":"pkg:pypi/PrettyTable","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"oslo.i18n","version":"\u003e=3.15.3","purl":"pkg:pypi/oslo.i18n","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"oslo.serialization","version":"*","purl":"pkg:pypi/oslo.serialization","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"oslo.utils","version":"\u003e=3.33.0","purl":"pkg:pypi/oslo.utils","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"keystoneauth1","version":"\u003e=3.8.0","purl":"pkg:pypi/keystoneauth1","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"python-swiftclient","version":"\u003e=3.2.0","purl":"pkg:pypi/python-swiftclient","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"PyYAML","version":"\u003e=3.13","purl":"pkg:pypi/PyYAML","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"requests","version":"\u003e=2.14.2","purl":"pkg:pypi/requests","properties":[{"name":"filePath","value":"requirements.txt"}]},{"type":"library","name":"hacking","version":"\u003e=3.0.1,\u003c3.1.0","purl":"pkg:pypi/hacking","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"coverage","version":"*","purl":"pkg:pypi/coverage","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"fixtures","version":"\u003e=3.0.0","purl":"pkg:pypi/fixtures","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"requests-mock","version":"\u003e=1.2.0","purl":"pkg:pypi/requests-mock","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"python-openstackclient","version":"\u003e=3.12.0","purl":"pkg:pypi/python-openstackclient","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"stestr","version":"\u003e=2.0.0","purl":"pkg:pypi/stestr","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"tempest","version":"\u003e=17.1.0","purl":"pkg:pypi/tempest","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"testscenarios","version":"\u003e=0.4","purl":"pkg:pypi/testscenarios","properties":[{"name":"filePath","value":"test-requirements.txt"}]},{"type":"library","name":"testtools","version":"\u003e=2.2.0","purl":"pkg:pypi/testtools","properties":[{"name":"filePath","value":"test-requirements.txt"}]}]}