{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.mastering-python/code_2","documentNamespace":"https://spdx.org/spdxdocs/protobom/ef2742b2-0c6f-48c0-b834-dfd3c5eb1159","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-20260130170711-0b8e67cacb3b+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-02-11T18:01:23Z"},"packages":[{"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":"aiofiles","SPDXID":"SPDXRef-pypi-aiofiles-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/aiofiles"}]},{"name":"dask","SPDXID":"SPDXRef-pypi-dask-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/dask"}]},{"name":"pytest-mypy","SPDXID":"SPDXRef-pypi-pytest-mypy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-mypy"}]},{"name":"pytest-watch","SPDXID":"SPDXRef-pypi-pytest-watch-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-watch"}]},{"name":"mypy","SPDXID":"SPDXRef-pypi-mypy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mypy"}]},{"name":"memory-profiler","SPDXID":"SPDXRef-pypi-memory-profiler-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/memory-profiler"}]},{"name":"mccabe","SPDXID":"SPDXRef-pypi-mccabe-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mccabe"}]},{"name":"ipdb","SPDXID":"SPDXRef-pypi-ipdb-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ipdb"}]},{"name":"sphinx","SPDXID":"SPDXRef-pypi-sphinx-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sphinx"}]},{"name":"line-profiler","SPDXID":"SPDXRef-pypi-line-profiler-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/line-profiler"}]},{"name":"pytest-flake8","SPDXID":"SPDXRef-pypi-pytest-flake8-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-flake8"}]},{"name":"pyperformance","SPDXID":"SPDXRef-pypi-pyperformance-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyperformance"}]},{"name":"python-utils","SPDXID":"SPDXRef-pypi-python-utils-75c946","versionInfo":"\u003e= 3.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-utils"}]},{"name":"pytest-xprocess","SPDXID":"SPDXRef-pypi-pytest-xprocess-75c946","versionInfo":"\u003c 0.17","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-xprocess"}]},{"name":"pytest","SPDXID":"SPDXRef-pypi-pytest-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest"}]},{"name":"cffi","SPDXID":"SPDXRef-pypi-cffi-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/cffi"}]},{"name":"torch","SPDXID":"SPDXRef-pypi-torch-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/torch"}]},{"name":"tensorflow","SPDXID":"SPDXRef-pypi-tensorflow-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tensorflow"}]},{"name":"opencv-contrib-python","SPDXID":"SPDXRef-pypi-opencv-contrib-python-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/opencv-contrib-python"}]},{"name":"tensorflow-hub","SPDXID":"SPDXRef-pypi-tensorflow-hub-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tensorflow-hub"}]},{"name":"tpot","SPDXID":"SPDXRef-pypi-tpot-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tpot"}]},{"name":"scikit-lego","SPDXID":"SPDXRef-pypi-scikit-lego-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/scikit-lego"}]},{"name":"pygad","SPDXID":"SPDXRef-pypi-pygad-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pygad"}]},{"name":"torchvision","SPDXID":"SPDXRef-pypi-torchvision-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/torchvision"}]},{"name":"nltk","SPDXID":"SPDXRef-pypi-nltk-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/nltk"}]},{"name":"gensim","SPDXID":"SPDXRef-pypi-gensim-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gensim"}]},{"name":"scikit","SPDXID":"SPDXRef-pypi-scikit-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/scikit"}]},{"name":"portalocker","SPDXID":"SPDXRef-pypi-portalocker-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/portalocker"}]},{"name":"python","SPDXID":"SPDXRef-pypi-python-75c946","versionInfo":"^ 3.10","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python"}]},{"name":"pytest","SPDXID":"SPDXRef-pypi-pytest-75c946","versionInfo":"^ 5.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest"}]},{"name":"markupsafe","SPDXID":"SPDXRef-pypi-markupsafe-2.0.1-75c946","versionInfo":"2.0.1","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/markupsafe@2.0.1"}]},{"name":"six","SPDXID":"SPDXRef-pypi-six-1.16.0-75c946","versionInfo":"1.16.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2010-2020 Benjamin Peterson, copyright u'2010-2020, Benjamin Peterson","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/six@1.16.0"}]},{"name":"progressbar2","SPDXID":"SPDXRef-pypi-progressbar2-3.55.0-75c946","versionInfo":"3.55.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"(c) 2005, 2014 jQuery Foundation, Inc., Copyright (c) 2010, Copyright (c) 2010 Cowboy Ben Alman, Copyright (c) 2015, Rick van Hattem, Copyright 2010, John Resig, Copyright 2015 Rick van Hattem","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/progressbar2@3.55.0"}]},{"name":"python-utils","SPDXID":"SPDXRef-pypi-python-utils-2.5.6-75c946","versionInfo":"2.5.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2016, Rick van Hattem \u003cwolph@wol.ph\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-utils@2.5.6"}]},{"name":"wcwidth","SPDXID":"SPDXRef-pypi-wcwidth-0.2.5-75c946","versionInfo":"0.2.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2014 Jeff Quast \u003ccontact@jeffquast.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/wcwidth@0.2.5"}]},{"name":"colorama","SPDXID":"SPDXRef-pypi-colorama-0.4.4-75c946","versionInfo":"0.4.4","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.4"}]},{"name":"attrs","SPDXID":"SPDXRef-pypi-attrs-21.2.0-75c946","versionInfo":"21.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) N Revealed, Copyright (c) 2015 Hynek Schlawack, copyright u'2015, Hynek Schlawack","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/attrs@21.2.0"}]},{"name":"packaging","SPDXID":"SPDXRef-pypi-packaging-21.3-75c946","versionInfo":"21.3","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@21.3"}]},{"name":"pytest","SPDXID":"SPDXRef-pypi-pytest-5.4.3-75c946","versionInfo":"5.4.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2010 by Armin Ronacher., Copyright (c) 2014, Gregory Boissinot, Copyright 2010 by Armin Ronacher. :license Flask Design License, Copyright Holger Krekel and others","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest@5.4.3"}]},{"name":"pyparsing","SPDXID":"SPDXRef-pypi-pyparsing-3.0.6-75c946","versionInfo":"3.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2003, Paul McGuire, Copyright (c) 2003,2016, Paul McGuire, Copyright (c) 2003,2019 Paul McGuire, Copyright (c) 2004-2011 Paul T. McGuire., Copyright (c) 2004-2016, Paul McGuire, Copyright (c) 2004, 2006 Paul McGuire, Copyright (c) 2004, Paul McGuire, Copyright (c) 2006 Tim Cera timcera@earthlink.net, Copyright (c) 2006, 2016, Paul McGuire, Copyright (c) 2006, 2019, Paul McGuire, Copyright (c) 2006, Estrate, the Netherlands, Copyright (c) 2006, Paul McGuire, Copyright (c) 2006,2016 Paul McGuire, Copyright (c) 2009 Zarko Zivanov, Copyright (c) 2016, Paul McGuire, Copyright (c) 2018 Paul T. McGuire, Copyright 1989 by Carnegie Mellon University, Copyright 2003-2019 by Paul McGuire, Copyright 2003, 2019 by Paul McGuire, Copyright 2004-2010, Copyright 2004-2016, by Paul McGuire, Copyright 2004, by Alberto Santini http://www.albertosantini.it/chess, Copyright 2004, Paul McGuire, Copyright 2005-2006, Paul McGuire, Copyright 2006, by Paul McGuire, copyright 2006, Paul McGuire, Copyright 2006, Paul McGuire, Copyright 2007 by Paul McGuire, Copyright 2007-2011, by Paul McGuire, Copyright 2008 Chris Lambrou., Copyright 2008, by Paul McGuire, Copyright 2008, Paul McGuire, Copyright 2009, 2011 Paul McGuire, Copyright 2010, 2019 by Paul McGuire, Copyright 2010, Paul McGuire, Copyright 2010,2019 Paul McGuire, Copyright 2011, Paul McGuire, Copyright 2011,2015 Paul T. McGuire, Copyright 2012, 2019 Paul T. McGuire, Copyright 2012, Paul T. McGuire, Copyright 2015, Paul McGuire, Copyright 2016, Paul McGuire, Copyright 2018, Paul McGuire, Copyright 2019, Paul McGuire, Copyright Ellis \u0026 Grant, Inc. 2005, Copyright Paul McGuire, Copyright Paul McGuire, 2019, Copyright Petri Savolainen \u003cfirstname.lastname@iki.fi\u003e, Copyright, 2006, by Paul McGuire, Copyright, 2007 - Paul McGuire, Copyright, 2010, Paul McGuire, Copyright, 2012 - Paul McGuire","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyparsing@3.0.6"}]},{"name":"atomicwrites","SPDXID":"SPDXRef-pypi-atomicwrites-1.4.0-75c946","versionInfo":"1.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2015-2016 Markus Unterwaditzer, copyright 2015-2017, Markus Unterwaditzer","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/atomicwrites@1.4.0"}]},{"name":"more-itertools","SPDXID":"SPDXRef-pypi-more-itertools-8.11.0-75c946","versionInfo":"8.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2012 Erik Rose, copyright 2012, Erik Rose","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/more-itertools@8.11.0"}]},{"name":"py","SPDXID":"SPDXRef-pypi-py-1.11.0-75c946","versionInfo":"1.11.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) Holger Krekel and others, 2004-2014, (c) Ronny Pfannschmidt, Holger Krekel, copyright u'2010, holger krekel et. al","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/py@1.11.0"}]},{"name":"pluggy","SPDXID":"SPDXRef-pypi-pluggy-0.13.1-75c946","versionInfo":"0.13.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2015, Copyright (c) 2015 holger krekel (rather uses bitbucket/hpk42), copyright u'2016, Holger Krekel","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pluggy@0.13.1"}]},{"name":"com.github.mastering-python/code_2","SPDXID":"SPDXRef-github-mastering-python-code2-master-e54fcf","versionInfo":"master","downloadLocation":"git+https://github.com/mastering-python/code_2","filesAnalyzed":false,"licenseDeclared":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/mastering-python/code_2@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-gensim-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pytest-cov-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pytest-flake8-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-torchvision-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-nltk-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-sphinx-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-torch-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-opencv-contrib-python-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-tpot-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-python-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-scikit-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-line-profiler-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pytest-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-tensorflow-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pygad-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-markupsafe-2.0.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-six-1.16.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-python-utils-2.5.6-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pytest-mypy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-ipdb-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-tensorflow-hub-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-packaging-21.3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pytest-5.4.3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pyparsing-3.0.6-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-py-1.11.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pluggy-0.13.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-mypy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-scikit-lego-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-portalocker-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-colorama-0.4.4-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-aiofiles-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-memory-profiler-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pyperformance-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-python-utils-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pytest-xprocess-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-progressbar2-3.55.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-attrs-21.2.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-atomicwrites-1.4.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-dask-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-mccabe-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-cffi-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-wcwidth-0.2.5-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-more-itertools-8.11.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-mastering-python-code2-master-e54fcf","relatedSpdxElement":"SPDXRef-pypi-pytest-watch-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-mastering-python-code2-master-e54fcf","relationshipType":"DESCRIBES"}]}