{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.qpython-android/aipyapp","documentNamespace":"https://spdx.org/spdxdocs/protobom/083100ed-ee52-48e6-a9e6-a72d0095c56c","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-20260413170410-e50aecd48d6f+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-04-14T01:50:44Z"},"packages":[{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","versionInfo":"\u003e= 2.32.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"pygments","SPDXID":"SPDXRef-pypi-pygments-75c946","versionInfo":"\u003e= 2.19.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pygments"}]},{"name":"prompt-toolkit","SPDXID":"SPDXRef-pypi-prompt-toolkit-75c946","versionInfo":"\u003e= 3.0.50","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/prompt-toolkit"}]},{"name":"dynaconf","SPDXID":"SPDXRef-pypi-dynaconf-75c946","versionInfo":"\u003e= 3.2.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/dynaconf"}]},{"name":"qrcode","SPDXID":"SPDXRef-pypi-qrcode-75c946","versionInfo":"\u003e= 8.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/qrcode"}]},{"name":"openai-aipy","SPDXID":"SPDXRef-pypi-openai-aipy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/openai-aipy"}]},{"name":"reportlab-qpython","SPDXID":"SPDXRef-pypi-reportlab-qpython-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/reportlab-qpython"}]},{"name":"tomli-w","SPDXID":"SPDXRef-pypi-tomli-w-75c946","versionInfo":"\u003e= 1.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tomli-w"}]},{"name":"beautifulsoup4","SPDXID":"SPDXRef-pypi-beautifulsoup4-75c946","versionInfo":"\u003e= 4.13.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/beautifulsoup4"}]},{"name":"pandas-aipy","SPDXID":"SPDXRef-pypi-pandas-aipy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pandas-aipy"}]},{"name":"term-image-qpython","SPDXID":"SPDXRef-pypi-term-image-qpython-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/term-image-qpython"}]},{"name":"rich","SPDXID":"SPDXRef-pypi-rich-75c946","versionInfo":"\u003e= 13.9.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/rich"}]},{"name":"google-api-python-client","SPDXID":"SPDXRef-pypi-google-api-python-client-75c946","versionInfo":"\u003e= 2.166.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-api-python-client"}]},{"name":"anthropic-aipy","SPDXID":"SPDXRef-pypi-anthropic-aipy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/anthropic-aipy"}]},{"name":"seaborn-aipy","SPDXID":"SPDXRef-pypi-seaborn-aipy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/seaborn-aipy"}]},{"name":"term-image","SPDXID":"SPDXRef-pypi-term-image-75c946","versionInfo":"\u003e= 0.7.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/term-image"}]},{"name":"reportlab","SPDXID":"SPDXRef-pypi-reportlab-75c946","versionInfo":"\u003e= 4.3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/reportlab"}]},{"name":"anthropic","SPDXID":"SPDXRef-pypi-anthropic-75c946","versionInfo":"\u003e= 0.49.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/anthropic"}]},{"name":"openai","SPDXID":"SPDXRef-pypi-openai-75c946","versionInfo":"\u003e= 1.68.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/openai"}]},{"name":"seaborn","SPDXID":"SPDXRef-pypi-seaborn-75c946","versionInfo":"\u003e= 0.13.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/seaborn"}]},{"name":"pandas","SPDXID":"SPDXRef-pypi-pandas-75c946","versionInfo":"\u003e= 2.2.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pandas"}]},{"name":"actions/checkout","SPDXID":"SPDXRef-githubactions-actions-checkout-3..-75c946","versionInfo":"3.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/checkout@3.%2A.%2A"}]},{"name":"docker/login-action","SPDXID":"SPDXRef-githubactions-docker-login-action-2..-75c946","versionInfo":"2.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/docker/login-action@2.%2A.%2A"}]},{"name":"docker/setup-qemu-action","SPDXID":"SPDXRef-githubactions-docker-setup-qemu-action-2..-75c946","versionInfo":"2.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/docker/setup-qemu-action@2.%2A.%2A"}]},{"name":"docker/build-push-action","SPDXID":"SPDXRef-githubactions-docker-build-push-action-3..-75c946","versionInfo":"3.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/docker/build-push-action@3.%2A.%2A"}]},{"name":"actions/setup-python","SPDXID":"SPDXRef-githubactions-actions-setup-python-5..-75c946","versionInfo":"5.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/setup-python@5.%2A.%2A"}]},{"name":"softprops/action-gh-release","SPDXID":"SPDXRef-githubactions-softprops-action-gh-release-2..-75c946","versionInfo":"2.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/softprops/action-gh-release@2.%2A.%2A"}]},{"name":"astral-sh/setup-uv","SPDXID":"SPDXRef-githubactions-astral-sh-setup-uv-5..-75c946","versionInfo":"5.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/astral-sh/setup-uv@5.%2A.%2A"}]},{"name":"actions/checkout","SPDXID":"SPDXRef-githubactions-actions-checkout-4..-75c946","versionInfo":"4.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/checkout@4.%2A.%2A"}]},{"name":"actions/upload-artifact","SPDXID":"SPDXRef-githubactions-actions-upload-artifact-4..-75c946","versionInfo":"4.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/upload-artifact@4.%2A.%2A"}]},{"name":"com.github.qpython-android/aipyapp","SPDXID":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","versionInfo":"main","downloadLocation":"git+https://github.com/qpython-android/aipyapp","filesAnalyzed":false,"licenseDeclared":"GPL-3.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/qpython-android/aipyapp@main"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-dynaconf-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-tomli-w-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-pandas-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-docker-setup-qemu-action-2..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-reportlab-qpython-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-beautifulsoup4-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-google-api-python-client-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-actions-checkout-4..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-pygments-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-prompt-toolkit-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-qrcode-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-term-image-qpython-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-rich-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-openai-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-pandas-aipy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-anthropic-aipy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-docker-login-action-2..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-seaborn-aipy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-anthropic-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-softprops-action-gh-release-2..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-seaborn-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-actions-checkout-3..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-actions-setup-python-5..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-openai-aipy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-term-image-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-pypi-reportlab-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-docker-build-push-action-3..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-astral-sh-setup-uv-5..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relatedSpdxElement":"SPDXRef-githubactions-actions-upload-artifact-4..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-qpython-android-aipyapp-main-d0bc1f","relationshipType":"DESCRIBES"}]}
