{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.pythonlessons/Reinforcement_Learning","documentNamespace":"https://spdx.org/spdxdocs/protobom/0f792f15-fd70-43bd-9893-98127528c12b","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-02T06:46:19Z"},"packages":[{"name":"pandas","SPDXID":"SPDXRef-pypi-pandas-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pandas"}]},{"name":"opencv-python","SPDXID":"SPDXRef-pypi-opencv-python-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/opencv-python"}]},{"name":"scipy","SPDXID":"SPDXRef-pypi-scipy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/scipy"}]},{"name":"gym","SPDXID":"SPDXRef-pypi-gym-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gym"}]},{"name":"tensorflow-gpu","SPDXID":"SPDXRef-pypi-tensorflow-gpu-2.3.1-75c946","versionInfo":"2.3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tensorflow-gpu@2.3.1"}]},{"name":"numpy","SPDXID":"SPDXRef-pypi-numpy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/numpy"}]},{"name":"matplotlib","SPDXID":"SPDXRef-pypi-matplotlib-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/matplotlib"}]},{"name":"tensorboardx","SPDXID":"SPDXRef-pypi-tensorboardx-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tensorboardx"}]},{"name":"box2d-py","SPDXID":"SPDXRef-pypi-box2d-py-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/box2d-py"}]},{"name":"tensorflow","SPDXID":"SPDXRef-pypi-tensorflow-2.3.1-75c946","versionInfo":"2.3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tensorflow@2.3.1"}]},{"name":"com.github.pythonlessons/Reinforcement_Learning","SPDXID":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","versionInfo":"master","downloadLocation":"git+https://github.com/pythonlessons/Reinforcement_Learning","filesAnalyzed":false,"licenseDeclared":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/pythonlessons/Reinforcement_Learning@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-tensorflow-2.3.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-scipy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-gym-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-tensorflow-gpu-2.3.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-matplotlib-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-box2d-py-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-pandas-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-opencv-python-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-numpy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relatedSpdxElement":"SPDXRef-pypi-tensorboardx-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-pythonlessons-ReinforcementLearning-master-3b9f51","relationshipType":"DESCRIBES"}]}