{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.hackersandslackers/sqlalchemy-tutorial","documentNamespace":"https://spdx.org/spdxdocs/protobom/1e473b33-7d12-4b4f-9a7e-adfe26c560af","creationInfo":{"creators":["Tool: protobom-v0.0.0-20260120171901-fda334ae0b58+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-01-20T20:33:56Z"},"packages":[{"name":"packaging","SPDXID":"SPDXRef-pypi-packaging-23.1-75c946","versionInfo":"23.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0 AND BSD-2-Clause","copyrightText":"Copyright (c) Donald Stufft and individual contributors, copyright 2014-2019 s","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/packaging@23.1"}]},{"name":"greenlet","SPDXID":"SPDXRef-pypi-greenlet-2.0.2-75c946","versionInfo":"2.0.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT AND PSF-2.0","copyrightText":"Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Python Software Foundation, Copyright (c) 2018 gevent community, Copyright (c) 2021 greenlet community, Copyright (c) Armin Rigo, Christian Tismer and contributors, copyright u'2011, Armin Rigo, Christian Tismer","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/greenlet@2.0.2"}]},{"name":"win32-setctime","SPDXID":"SPDXRef-pypi-win32-setctime-1.1.0-75c946","versionInfo":"1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2019 Delgan","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/win32-setctime@1.1.0"}]},{"name":"pycodestyle","SPDXID":"SPDXRef-pypi-pycodestyle-2.11.0-75c946","versionInfo":"2.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2006-2009 Johann C. Rocholl \u003cjohann@rocholl.net\u003e, Copyright (c) 2009-2014 Florent Xicluna \u003cflorent.xicluna@gmail.com\u003e, Copyright (c) 2014-2016 Ian Lee \u003cianlee1521@gmail.com\u003e, Copyright (c) 2014-2020 Ian Lee \u003cIanLee1521@gmail.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pycodestyle@2.11.0"}]},{"name":"loguru","SPDXID":"SPDXRef-pypi-loguru-0.7.0-75c946","versionInfo":"0.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2017 Permission, Cyan (c) Normal","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/loguru@0.7.0"}]},{"name":"mock","SPDXID":"SPDXRef-pypi-mock-5.1.0-75c946","versionInfo":"5.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2003-2013, Michael Foord \u0026 the mock team, Copyright (c) 2007-2012 Michael Foord","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mock@5.1.0"}]},{"name":"colorama","SPDXID":"SPDXRef-pypi-colorama-0.4.6-75c946","versionInfo":"0.4.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2010 Jonathan Hartley, Copyright Jonathan Hartley \u0026 Arnon Yaari, 2013-2020, Copyright Jonathan Hartley 2013","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/colorama@0.4.6"}]},{"name":"mypy-extensions","SPDXID":"SPDXRef-pypi-mypy-extensions-1.0.0-75c946","versionInfo":"1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2016-2017 Jukka Lehtosalo and contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mypy-extensions@1.0.0"}]},{"name":"tomli","SPDXID":"SPDXRef-pypi-tomli-2.0.1-75c946","versionInfo":"2.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"2021 Taneli Hukkinen, Copyright (c) 2021 Taneli Hukkinen, Copyright 2021 Taneli Hukkinen","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tomli@2.0.1"}]},{"name":"python-dotenv","SPDXID":"SPDXRef-pypi-python-dotenv-1.0.0-75c946","versionInfo":"1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-3-Clause","copyrightText":"Copyright (c) 2014, Saurabh Kumar","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-dotenv@1.0.0"}]},{"name":"click","SPDXID":"SPDXRef-pypi-click-8.1.7-75c946","versionInfo":"8.1.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright 2001-2006 Gregory P. Ward, Copyright 2002-2006 Python Software Foundation, copyright 2014 Pallets, Copyright 2014 Pallets","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/click@8.1.7"}]},{"name":"isort","SPDXID":"SPDXRef-pypi-isort-5.12.0-75c946","versionInfo":"5.12.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2009-2018, Marcel Hellkamp, Copyright (c) 2013 Timothy Edmund Crosley, Copyright (c) 2016 Timothy Edmund Crosley Under, Copyright (c) 2021 Taneli Hukkinen, Copyright 2011 VMware, Inc, Copyright 2013 Red Hat, Inc., Copyright 2018 Google LLC, Copyright 2019 Google LLC","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/isort@5.12.0"}]},{"name":"platformdirs","SPDXID":"SPDXRef-pypi-platformdirs-3.10.0-75c946","versionInfo":"3.10.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2010-202x The platformdirs","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/platformdirs@3.10.0"}]},{"name":"typing-extensions","SPDXID":"SPDXRef-pypi-typing-extensions-4.7.1-75c946","versionInfo":"4.7.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Python-2.0.1","copyrightText":"Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands, Copyright (c) 1995-2001 Corporation for National Research Initiatives, Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Python Software Foundation","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/typing-extensions@4.7.1"}]},{"name":"exceptiongroup","SPDXID":"SPDXRef-pypi-exceptiongroup-1.1.3-75c946","versionInfo":"1.1.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Python Software Foundation, Copyright (c) 2022 Alex Gronholm","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/exceptiongroup@1.1.3"}]},{"name":"iniconfig","SPDXID":"SPDXRef-pypi-iniconfig-2.0.0-75c946","versionInfo":"2.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) Ronny Pfannschmidt, Holger Krekel","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/iniconfig@2.0.0"}]},{"name":"pluggy","SPDXID":"SPDXRef-pypi-pluggy-1.3.0-75c946","versionInfo":"1.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2015 holger krekel (rather uses bitbucket/hpk42), copyright 2016, Holger Krekel","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pluggy@1.3.0"}]},{"name":"flake8","SPDXID":"SPDXRef-pypi-flake8-6.1.0-75c946","versionInfo":"6.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2011-2013 Tarek Ziade \u003ctarek@ziade.org\u003e, Copyright (c) 2012-2016 Ian Cordasco \u003cgraffatcolmingov@gmail.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flake8@6.1.0"}]},{"name":"pyflakes","SPDXID":"SPDXRef-pypi-pyflakes-3.1.0-75c946","versionInfo":"3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright 2005-2011 Divmod, Inc., Copyright 2013 Florent Xicluna, Copyright 2013-2014 Florent Xicluna","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyflakes@3.1.0"}]},{"name":"mypy","SPDXID":"SPDXRef-pypi-mypy-1.5.1-75c946","versionInfo":"1.5.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) D TypeAlias, (c) E Argument, (c) E Cannot, (c) E Incompatible, (c) E Only, (c) E Too, (c) N Revealed, Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands, Copyright (c) 1995-2001 Corporation for National Research Initiatives, Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Python Software Foundation, Copyright (c) 2012-2022 Jukka Lehtosalo and contributors, Copyright (c) 2015 Jukka Lehtosalo and contributors, Copyright (c) 2015-2022 Dropbox, Inc., Copyright (c) 2016 The Pybind Development Team, Copyright 2003 Google Inc., Copyright 2005, Google Inc., Copyright 2006, Google Inc., Copyright 2007, Google Inc., Copyright 2008 Google Inc., Copyright 2008, Google Inc., Copyright 2009 Google Inc., copyright 2012-2022 Jukka Lehtosalo and mypy contributors, Copyright 2015, Google Inc., copyright 2020-2022, mypyc team, Copyright Contributors to the pythoncapi_compat project.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mypy@1.5.1"}]},{"name":"pytest","SPDXID":"SPDXRef-pypi-pytest-7.4.0-75c946","versionInfo":"7.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2004 Holger Krekel and others, Copyright (c) 2014, Gregory Boissinot, copyright 2015, holger krekel and pytest-dev team, Copyright Holger Krekel and others, 2004","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest@7.4.0"}]},{"name":"pymysql","SPDXID":"SPDXRef-pypi-pymysql-1.1.0-75c946","versionInfo":"1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2010-2016 PyMySQL, Copyright (c) 2010, 2013 PyMySQL","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pymysql@1.1.0"}]},{"name":"pathspec","SPDXID":"SPDXRef-pypi-pathspec-0.11.2-75c946","versionInfo":"0.11.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MPL-2.0","copyrightText":"Copyright (c) 2013-2023 Caleb P. Burns credits dahlia \u003chttps://github.com/dahlia\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pathspec@0.11.2"}]},{"name":"black","SPDXID":"SPDXRef-pypi-black-23.7.0-75c946","versionInfo":"23.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) 2019 Reece Hart, Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands, Copyright (c) 1995-2001 Corporation for National Research Initiatives, Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation, Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Python Software Foundation, Copyright (c) 2018 Lukasz Langa, Copyright 2004-2005 Elemental Security, Inc., Copyright 2006 Google, Inc., copyright 2018-Present, Lukasz Langa and contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/black@23.7.0"}]},{"name":"sqlalchemy","SPDXID":"SPDXRef-pypi-sqlalchemy-2.0.20-75c946","versionInfo":"2.0.20","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) OpenJS Foundation and other contributors, (c) Zeno Rocha, Copyright (c) 2005-2021 the SQLAlchemy authors and contributors, Copyright (c) 2005-2023 Michael Bayer and contributors, Copyright (c) 2005-2023 the SQLAlchemy authors and contributors, Copyright (c) 2006-2023 the SQLAlchemy authors and contributors, Copyright (c) 2009-2023 the SQLAlchemy authors and contributors, Copyright (c) 2010 Gaetan de Menten gdementen@gmail.com, Copyright (c) 2010-2023 the SQLAlchemy authors and contributors, Copyright (c) 2013-2023 the SQLAlchemy authors and contributors, Copyright (c) 2020-2023 the SQLAlchemy authors and contributors, Copyright (c) 2021 the SQLAlchemy authors and contributors, Copyright (c) 2021-2023 the SQLAlchemy authors and contributors, Copyright (c) 2022 the SQLAlchemy authors and contributors, Copyright (c) Microsoft, Copyright (c) Microsoft Corporation', Microsoft SQL Azure, Copyright 2005-2023 SQLAlchemy authors and contributors, Copyright 2007-2023 by the Sphinx team, copyright 2007-2023, the SQLAlchemy authors and contributors, Copyright 2007-2023, the SQLAlchemy authors and contributors, Copyright Sphinx contributors, Copyright SQLAlchemy 2.0 Documentation","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sqlalchemy@2.0.20"}]},{"name":"mccabe","SPDXID":"SPDXRef-pypi-mccabe-0.7.0-75c946","versionInfo":"0.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2011-2013 Tarek Ziade \u003ctarek@ziade.org\u003e, Copyright (c) 2013 Florent Xicluna \u003cflorent.xicluna@gmail.com\u003e, Copyright (c) Ned Batchelder","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mccabe@0.7.0"}]},{"name":"com.github.hackersandslackers/sqlalchemy-tutorial","SPDXID":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","versionInfo":"master","downloadLocation":"git+https://github.com/hackersandslackers/sqlalchemy-tutorial","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/hackersandslackers/sqlalchemy-tutorial@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-iniconfig-2.0.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-pluggy-1.3.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-mypy-1.5.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-pytest-7.4.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-black-23.7.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-sqlalchemy-2.0.20-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-click-8.1.7-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-typing-extensions-4.7.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-packaging-23.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-greenlet-2.0.2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-mock-5.1.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-mypy-extensions-1.0.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-mccabe-0.7.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-exceptiongroup-1.1.3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-pymysql-1.1.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-pathspec-0.11.2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-isort-5.12.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-platformdirs-3.10.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-win32-setctime-1.1.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-pycodestyle-2.11.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-loguru-0.7.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-python-dotenv-1.0.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-flake8-6.1.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-pyflakes-3.1.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-colorama-0.4.6-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relatedSpdxElement":"SPDXRef-pypi-tomli-2.0.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-hackersandslackers-sqlalchemy-tutorial-master-a48fe3","relationshipType":"DESCRIBES"}]}