{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.GoaDane/100daysofcode-with-python-course","documentNamespace":"https://spdx.org/spdxdocs/protobom/a71a62e7-1998-4aeb-831a-1e2841b990b6","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":"2025-12-25T18:39:15Z"},"packages":[{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"logbook","SPDXID":"SPDXRef-pypi-logbook-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/logbook"}]},{"name":"gooey","SPDXID":"SPDXRef-pypi-gooey-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gooey"}]},{"name":"flask","SPDXID":"SPDXRef-pypi-flask-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask"}]},{"name":"tweepy","SPDXID":"SPDXRef-pypi-tweepy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tweepy"}]},{"name":"ipykernel","SPDXID":"SPDXRef-pypi-ipykernel-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ipykernel"}]},{"name":"jupyter","SPDXID":"SPDXRef-pypi-jupyter-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jupyter"}]},{"name":"pygithub","SPDXID":"SPDXRef-pypi-pygithub-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pygithub"}]},{"name":"wordcloud","SPDXID":"SPDXRef-pypi-wordcloud-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/wordcloud"}]},{"name":"numpy","SPDXID":"SPDXRef-pypi-numpy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/numpy"}]},{"name":"plotly","SPDXID":"SPDXRef-pypi-plotly-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/plotly"}]},{"name":"pillow","SPDXID":"SPDXRef-pypi-pillow-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pillow"}]},{"name":"matplotlib","SPDXID":"SPDXRef-pypi-matplotlib-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/matplotlib"}]},{"name":"feedparser","SPDXID":"SPDXRef-pypi-feedparser-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/feedparser"}]},{"name":"selenium","SPDXID":"SPDXRef-pypi-selenium-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/selenium"}]},{"name":"pytest","SPDXID":"SPDXRef-pypi-pytest-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest"}]},{"name":"pytest-cov","SPDXID":"SPDXRef-pypi-pytest-cov-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-cov"}]},{"name":"uplink","SPDXID":"SPDXRef-pypi-uplink-0.4.0-75c946","versionInfo":"0.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2017 P. Raj Kumar","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/uplink@0.4.0"}]},{"name":"sqlalchemy","SPDXID":"SPDXRef-pypi-sqlalchemy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sqlalchemy"}]},{"name":"uplink","SPDXID":"SPDXRef-pypi-uplink-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/uplink"}]},{"name":"com.github.GoaDane/100daysofcode-with-python-course","SPDXID":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","versionInfo":"master","downloadLocation":"git+https://github.com/GoaDane/100daysofcode-with-python-course","filesAnalyzed":false,"licenseDeclared":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/GoaDane/100daysofcode-with-python-course@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-gooey-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-tweepy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-numpy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-logbook-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-ipykernel-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-jupyter-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-plotly-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-matplotlib-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-selenium-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-pytest-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-flask-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-pillow-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-sqlalchemy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-pygithub-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-wordcloud-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-feedparser-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-pytest-cov-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-uplink-0.4.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relatedSpdxElement":"SPDXRef-pypi-uplink-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-GoaDane-100daysofcode-with-python-course-master-d1fa57","relationshipType":"DESCRIBES"}]}