{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.OpenDriveLab/TCP","documentNamespace":"https://spdx.org/spdxdocs/protobom/bbfd63e9-e336-4669-8567-1e72995c3488","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-20260130170711-0b8e67cacb3b+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-02-22T14:50:47Z"},"packages":[{"name":"tabulate","SPDXID":"SPDXRef-pypi-tabulate-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tabulate"}]},{"name":"pygame","SPDXID":"SPDXRef-pypi-pygame-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pygame"}]},{"name":"opencv-python","SPDXID":"SPDXRef-pypi-opencv-python-4.2.0.32-75c946","versionInfo":"4.2.0.32","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/opencv-python@4.2.0.32"}]},{"name":"dictor","SPDXID":"SPDXRef-pypi-dictor-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/dictor"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"matplotlib","SPDXID":"SPDXRef-pypi-matplotlib-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/matplotlib"}]},{"name":"py-trees","SPDXID":"SPDXRef-pypi-py-trees-0.8.3-75c946","versionInfo":"0.8.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/py-trees@0.8.3"}]},{"name":"xmlschema","SPDXID":"SPDXRef-pypi-xmlschema-1.0.18-75c946","versionInfo":"1.0.18","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 1998-2002 W3C MIT, INRIA, Copyright (c), 2016-2019, SISSA, Copyright (c), 2018-2019, SISSA, Copyright 2016-2019, SISSA, copyright 2016-2019, SISSA - Scuola Internazionale Superiore di Studi Avanzati","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/xmlschema@1.0.18"}]},{"name":"numpy","SPDXID":"SPDXRef-pypi-numpy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/numpy"}]},{"name":"psutil","SPDXID":"SPDXRef-pypi-psutil-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/psutil"}]},{"name":"six","SPDXID":"SPDXRef-pypi-six-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/six"}]},{"name":"shapely","SPDXID":"SPDXRef-pypi-shapely-1.6.4.post2-75c946","versionInfo":"1.6.4.post2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2004, 2005, 2006 Python Software Foundation, Copyright (c) 2006 Python Software Foundation, Copyright (c) 2007, Sean C. Gillies, Copyright (c) 2007, Sean C. Gillies Transcription, Copyright (c) 2011, Oliver Tonnhofer, Copyright 2014-2016 s","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/shapely@1.6.4.post2"}]},{"name":"carla","SPDXID":"SPDXRef-pypi-carla-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/carla"}]},{"name":"networkx","SPDXID":"SPDXRef-pypi-networkx-2.2-75c946","versionInfo":"2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/networkx@2.2"}]},{"name":"ephem","SPDXID":"SPDXRef-pypi-ephem-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ephem"}]},{"name":"markdown-include","SPDXID":"SPDXRef-pypi-markdown-include-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/markdown-include"}]},{"name":"mkdocs","SPDXID":"SPDXRef-pypi-mkdocs-75c946","versionInfo":"\u003e= 1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mkdocs"}]},{"name":"mkdocs-redirects","SPDXID":"SPDXRef-pypi-mkdocs-redirects-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mkdocs-redirects"}]},{"name":"com.github.OpenDriveLab/TCP","SPDXID":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","versionInfo":"main","downloadLocation":"git+https://github.com/OpenDriveLab/TCP","filesAnalyzed":false,"licenseDeclared":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/OpenDriveLab/TCP@main"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-six-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-mkdocs-redirects-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-dictor-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-numpy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-psutil-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-carla-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-ephem-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-markdown-include-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-shapely-1.6.4.post2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-mkdocs-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-tabulate-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-opencv-python-4.2.0.32-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-matplotlib-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-py-trees-0.8.3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-networkx-2.2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-pygame-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relatedSpdxElement":"SPDXRef-pypi-xmlschema-1.0.18-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-OpenDriveLab-TCP-main-378a8f","relationshipType":"DESCRIBES"}]}