{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.openstack/python-openstackclient","documentNamespace":"https://spdx.org/spdxdocs/protobom/94570e90-f0cd-41b5-837b-699533a1adfc","comment":"Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#dependencies-included.","creationInfo":{"creators":["Tool: protobom-v0.0.0-20251216165153-1f3f3060931e+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-01-01T11:27:24Z"},"packages":[{"name":"osc-lib","SPDXID":"SPDXRef-pypi-osc-lib-75c946","versionInfo":"\u003e= 2.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/osc-lib"}]},{"name":"openstacksdk","SPDXID":"SPDXRef-pypi-openstacksdk-75c946","versionInfo":"\u003e= 4.6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/openstacksdk"}]},{"name":"cliff","SPDXID":"SPDXRef-pypi-cliff-75c946","versionInfo":"\u003e= 4.13.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/cliff"}]},{"name":"iso8601","SPDXID":"SPDXRef-pypi-iso8601-75c946","versionInfo":"\u003e= 0.1.11","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/iso8601"}]},{"name":"pbr","SPDXID":"SPDXRef-pypi-pbr-75c946","versionInfo":"\u003c 2.1.0 || \u003e 2.1.0,\u003e= 2.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pbr"}]},{"name":"oslo-i18n","SPDXID":"SPDXRef-pypi-oslo-i18n-75c946","versionInfo":"\u003e= 3.15.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/oslo-i18n"}]},{"name":"python-keystoneclient","SPDXID":"SPDXRef-pypi-python-keystoneclient-75c946","versionInfo":"\u003e= 3.22.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-keystoneclient"}]},{"name":"python-cinderclient","SPDXID":"SPDXRef-pypi-python-cinderclient-75c946","versionInfo":"\u003e= 3.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-cinderclient"}]},{"name":"stevedore","SPDXID":"SPDXRef-pypi-stevedore-75c946","versionInfo":"\u003e= 2.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/stevedore"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","versionInfo":"\u003e= 2.27.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"stestr","SPDXID":"SPDXRef-pypi-stestr-75c946","versionInfo":"\u003e= 1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/stestr"}]},{"name":"testtools","SPDXID":"SPDXRef-pypi-testtools-75c946","versionInfo":"\u003e= 2.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/testtools"}]},{"name":"osprofiler","SPDXID":"SPDXRef-pypi-osprofiler-75c946","versionInfo":"\u003e= 1.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/osprofiler"}]},{"name":"wrapt","SPDXID":"SPDXRef-pypi-wrapt-75c946","versionInfo":"\u003e= 1.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/wrapt"}]},{"name":"requests-mock","SPDXID":"SPDXRef-pypi-requests-mock-75c946","versionInfo":"\u003e= 1.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests-mock"}]},{"name":"tempest","SPDXID":"SPDXRef-pypi-tempest-75c946","versionInfo":"\u003e= 17.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tempest"}]},{"name":"coverage","SPDXID":"SPDXRef-pypi-coverage-75c946","versionInfo":"\u003c 4.4 || \u003e 4.4,\u003e= 4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/coverage"}]},{"name":"ddt","SPDXID":"SPDXRef-pypi-ddt-75c946","versionInfo":"\u003e= 1.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ddt"}]},{"name":"whereto","SPDXID":"SPDXRef-pypi-whereto-75c946","versionInfo":"\u003e= 0.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/whereto"}]},{"name":"openstackdocstheme","SPDXID":"SPDXRef-pypi-openstackdocstheme-75c946","versionInfo":"\u003e= 2.2.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/openstackdocstheme"}]},{"name":"python-neutronclient","SPDXID":"SPDXRef-pypi-python-neutronclient-75c946","versionInfo":"\u003e= 6.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-neutronclient"}]},{"name":"gnocchiclient","SPDXID":"SPDXRef-pypi-gnocchiclient-75c946","versionInfo":"\u003e= 3.3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gnocchiclient"}]},{"name":"osc-placement","SPDXID":"SPDXRef-pypi-osc-placement-75c946","versionInfo":"\u003e= 1.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/osc-placement"}]},{"name":"python-watcherclient","SPDXID":"SPDXRef-pypi-python-watcherclient-75c946","versionInfo":"\u003e= 2.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-watcherclient"}]},{"name":"python-designateclient","SPDXID":"SPDXRef-pypi-python-designateclient-75c946","versionInfo":"\u003e= 2.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-designateclient"}]},{"name":"sphinx","SPDXID":"SPDXRef-pypi-sphinx-75c946","versionInfo":"\u003e= 2.0.0,\u003c 2.1.0 || \u003e 2.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sphinx"}]},{"name":"python-mistralclient","SPDXID":"SPDXRef-pypi-python-mistralclient-75c946","versionInfo":"\u003c 3.2.0 || \u003e 3.2.0,\u003e= 3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-mistralclient"}]},{"name":"python-octaviaclient","SPDXID":"SPDXRef-pypi-python-octaviaclient-75c946","versionInfo":"\u003e= 1.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-octaviaclient"}]},{"name":"python-zunclient","SPDXID":"SPDXRef-pypi-python-zunclient-75c946","versionInfo":"\u003e= 3.6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-zunclient"}]},{"name":"python-manilaclient","SPDXID":"SPDXRef-pypi-python-manilaclient-75c946","versionInfo":"\u003e= 2.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-manilaclient"}]},{"name":"reno","SPDXID":"SPDXRef-pypi-reno-75c946","versionInfo":"\u003e= 3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/reno"}]},{"name":"python-ironic-inspector-client","SPDXID":"SPDXRef-pypi-python-ironic-inspector-client-75c946","versionInfo":"\u003e= 1.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-ironic-inspector-client"}]},{"name":"python-ironicclient","SPDXID":"SPDXRef-pypi-python-ironicclient-75c946","versionInfo":"\u003e= 2.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-ironicclient"}]},{"name":"aodhclient","SPDXID":"SPDXRef-pypi-aodhclient-75c946","versionInfo":"\u003e= 0.9.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/aodhclient"}]},{"name":"python-heatclient","SPDXID":"SPDXRef-pypi-python-heatclient-75c946","versionInfo":"\u003e= 1.10.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-heatclient"}]},{"name":"python-troveclient","SPDXID":"SPDXRef-pypi-python-troveclient-75c946","versionInfo":"\u003e= 3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-troveclient"}]},{"name":"python-cyborgclient","SPDXID":"SPDXRef-pypi-python-cyborgclient-75c946","versionInfo":"\u003e= 1.2.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-cyborgclient"}]},{"name":"python-zaqarclient","SPDXID":"SPDXRef-pypi-python-zaqarclient-75c946","versionInfo":"\u003e= 1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-zaqarclient"}]},{"name":"python-barbicanclient","SPDXID":"SPDXRef-pypi-python-barbicanclient-75c946","versionInfo":"\u003e= 4.5.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-barbicanclient"}]},{"name":"sphinxcontrib-apidoc","SPDXID":"SPDXRef-pypi-sphinxcontrib-apidoc-75c946","versionInfo":"\u003e= 0.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sphinxcontrib-apidoc"}]},{"name":"python-magnumclient","SPDXID":"SPDXRef-pypi-python-magnumclient-75c946","versionInfo":"\u003e= 2.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-magnumclient"}]},{"name":"com.github.openstack/python-openstackclient","SPDXID":"SPDXRef-github-openstack-python-openstackclient-master-f57719","versionInfo":"master","downloadLocation":"git+https://github.com/openstack/python-openstackclient","filesAnalyzed":false,"licenseDeclared":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/openstack/python-openstackclient@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-osc-placement-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-reno-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-zaqarclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-sphinxcontrib-apidoc-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-keystoneclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-coverage-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-ironic-inspector-client-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-ironicclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-osc-lib-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-cliff-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-stevedore-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-osprofiler-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-ddt-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-whereto-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-gnocchiclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-designateclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-cinderclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-octaviaclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-aodhclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-cyborgclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-barbicanclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-openstackdocstheme-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-sphinx-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-manilaclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-magnumclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-pbr-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-stestr-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-testtools-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-neutronclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-watcherclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-mistralclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-iso8601-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-oslo-i18n-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-wrapt-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-tempest-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-openstacksdk-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-requests-mock-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-zunclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-heatclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relatedSpdxElement":"SPDXRef-pypi-python-troveclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-openstack-python-openstackclient-master-f57719","relationshipType":"DESCRIBES"}]}