{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.suissa/PocketFlow-Tutorial-Codebase-Knowledge","documentNamespace":"https://spdx.org/spdxdocs/protobom/25383b87-f481-43a6-9a0b-7928ca4227ff","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-20260401102134-ec109c5352c5+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-04-02T01:38:25Z"},"packages":[{"name":"google-genai","SPDXID":"SPDXRef-pypi-google-genai-75c946","versionInfo":"\u003e= 1.9.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-genai"}]},{"name":"python-dotenv","SPDXID":"SPDXRef-pypi-python-dotenv-75c946","versionInfo":"\u003e= 1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-dotenv"}]},{"name":"pyyaml","SPDXID":"SPDXRef-pypi-pyyaml-75c946","versionInfo":"\u003e= 6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyyaml"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","versionInfo":"\u003e= 2.28.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"gitpython","SPDXID":"SPDXRef-pypi-gitpython-75c946","versionInfo":"\u003e= 3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gitpython"}]},{"name":"google-cloud-aiplatform","SPDXID":"SPDXRef-pypi-google-cloud-aiplatform-75c946","versionInfo":"\u003e= 1.25.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-cloud-aiplatform"}]},{"name":"pathspec","SPDXID":"SPDXRef-pypi-pathspec-75c946","versionInfo":"\u003e= 0.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pathspec"}]},{"name":"pocketflow","SPDXID":"SPDXRef-pypi-pocketflow-75c946","versionInfo":"\u003e= 0.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pocketflow"}]},{"name":"com.github.suissa/PocketFlow-Tutorial-Codebase-Knowledge","SPDXID":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","versionInfo":"main","downloadLocation":"git+https://github.com/suissa/PocketFlow-Tutorial-Codebase-Knowledge","filesAnalyzed":false,"licenseDeclared":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/suissa/PocketFlow-Tutorial-Codebase-Knowledge@main"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-pathspec-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-pocketflow-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-google-genai-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-python-dotenv-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-pyyaml-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-gitpython-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relatedSpdxElement":"SPDXRef-pypi-google-cloud-aiplatform-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-suissa-PocketFlow-Tutorial-Codebase-Knowledge-main-0fe32f","relationshipType":"DESCRIBES"}]}