{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.AjayLuhach/learning-python","documentNamespace":"https://spdx.org/spdxdocs/protobom/d5a01e91-97fa-49cc-8130-47fd0b9d266f","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-14T09:41:01Z"},"packages":[{"name":"flask-testing","SPDXID":"SPDXRef-pypi-flask-testing-0.8.1-75c946","versionInfo":"0.8.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"copyright (c) 2010 by Dan Jacob, Copyright (c) 2010 by Dan Jacob, Copyright 2007-2010 by the Sphinx team, copyright u'2010, Dan Jacob","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-testing@0.8.1"}]},{"name":"testcontainers","SPDXID":"SPDXRef-pypi-testcontainers-3.7.0-75c946","versionInfo":"3.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/testcontainers@3.7.0"}]},{"name":"jinja2","SPDXID":"SPDXRef-pypi-jinja2-75c946","versionInfo":"\u003c 3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jinja2"}]},{"name":"werkzeug","SPDXID":"SPDXRef-pypi-werkzeug-75c946","versionInfo":"~\u003e 2.2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/werkzeug"}]},{"name":"psycopg2","SPDXID":"SPDXRef-pypi-psycopg2-2.9.5-75c946","versionInfo":"2.9.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"GPL-3.0-or-later","copyrightText":"Copyright (c) 2001-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2001-2019, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation, Copyright (c) 2003-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2004-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2005-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2006-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2006-2019 Johan Dahlin \u003cjdahlin@async.com.br\u003e, Copyright (c) 2007 Free Software Foundation, Inc. \u003chttp://fsf.org/\u003e, Copyright (c) 2007-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2007-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2008 Canonical Ltd., Copyright (c) 2008-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2008-2019 James Henstridge \u003cjames@jamesh.id.au\u003e, Copyright (c) 2010-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2010-2019 Federico Di Gregorio \u003cfog@debian.org\u003e, Copyright (c) 2010-2019 Jan Urbanski \u003cwulczer@wulczer.org\u003e, Copyright (c) 2011-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2012-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2013-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2013-2019 Matthew Woodcraft \u003cmatthew@woodcraft.me.uk\u003e, Copyright (c) 2015-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2016-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2017 My Karlsson \u003cmk@acc.umu.se\u003e, Copyright (c) 2017-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2018-2019 Daniele Varrazzo \u003cdaniele.varrazzo@gmail.com\u003e, Copyright (c) 2018-2019, Joyent, Inc., Copyright (c) 2018, Joyent, Inc., Copyright (c) 2020-2021 The Psycopg Team, copyright 2001-2021, Federico Di Gregorio, Daniele Varrazzo, The Psycopg Team, Copyright 2010 by Daniele Varrazzo, Copyright 2013 by Daniele Varrazzo","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/psycopg2@2.9.5"}]},{"name":"itsdangerous","SPDXID":"SPDXRef-pypi-itsdangerous-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/itsdangerous"}]},{"name":"dependency-injector","SPDXID":"SPDXRef-pypi-dependency-injector-4.40.0-75c946","versionInfo":"4.40.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2022, Roman Mogylatov","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/dependency-injector@4.40.0"}]},{"name":"marshmallow","SPDXID":"SPDXRef-pypi-marshmallow-3.5.0-75c946","versionInfo":"3.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2009 Raymond Hettinger, Copyright (c) Django Software Foundation and individual contributors.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/marshmallow@3.5.0"}]},{"name":"alembic","SPDXID":"SPDXRef-pypi-alembic-75c946","versionInfo":"~\u003e 1.8.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/alembic"}]},{"name":"gunicorn","SPDXID":"SPDXRef-pypi-gunicorn-20.1.0-75c946","versionInfo":"20.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) Benoit Chesneau \u003cbenoitc@e-engura.org\u003e 2009-2015, (c) Meebo, Inc., (c) Paul J. Davis \u003cpaul.joseph.davis@gmail.com\u003e, Copyright (c) 2005-2006, Bob Ippolito, Copyright (c) 2007-2010, Linden Research, Inc., Copyright (c) 2008-2010, Eventlet, Copyright 2001-2005 by Vinay Sajip, Copyright 2009 Paul J. Davis \u003cpaul.joseph.davis@gmail.com\u003e, copyright 2009- s, Benoit Chesneau, Copyright 2013 Dariusz Suchojad","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gunicorn@20.1.0"}]},{"name":"flask","SPDXID":"SPDXRef-pypi-flask-2.2.2-75c946","versionInfo":"2.2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"(c) Copyright 2010 by http://domain.invalid/'\u003e, Copyright (c) 2015 CERN., copyright 2010 Pallets, Copyright 2010 Pallets","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask@2.2.2"}]},{"name":"flask-sqlalchemy","SPDXID":"SPDXRef-pypi-flask-sqlalchemy-3.0.3-75c946","versionInfo":"3.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"copyright 2010 Pallets, Copyright 2010 Pallets","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-sqlalchemy@3.0.3"}]},{"name":"flask-migrate","SPDXID":"SPDXRef-pypi-flask-migrate-2.6.0-75c946","versionInfo":"2.6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2013 Miguel Grinberg","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-migrate@2.6.0"}]},{"name":"python-dotenv","SPDXID":"SPDXRef-pypi-python-dotenv-0.21.0-75c946","versionInfo":"0.21.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2013, Jacob Kaplan-Moss, Copyright (c) 2013, Ted Tieken, Copyright (c) 2014, Saurabh Kumar","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-dotenv@0.21.0"}]},{"name":"flask-cors","SPDXID":"SPDXRef-pypi-flask-cors-3.0.8-75c946","versionInfo":"3.0.8","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"copyright (c) 2016 by Cory Dolphin, copyright (c) 2016 by Cory Dolphin., Copyright (c) 2016 Cory Dolphin, Olin College, copyright u'2013, Cory Dolphin","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-cors@3.0.8"}]},{"name":"com.github.AjayLuhach/learning-python","SPDXID":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","versionInfo":"master","downloadLocation":"git+https://github.com/AjayLuhach/learning-python","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/AjayLuhach/learning-python@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-python-dotenv-0.21.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-psycopg2-2.9.5-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-dependency-injector-4.40.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-marshmallow-3.5.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-flask-2.2.2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-flask-cors-3.0.8-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-werkzeug-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-flask-sqlalchemy-3.0.3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-flask-testing-0.8.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-testcontainers-3.7.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-jinja2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-gunicorn-20.1.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-flask-migrate-2.6.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-itsdangerous-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relatedSpdxElement":"SPDXRef-pypi-alembic-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-AjayLuhach-learning-python-master-18b6a5","relationshipType":"DESCRIBES"}]}
