{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.so1n/pait","documentNamespace":"https://spdx.org/spdxdocs/protobom/214177d7-dec7-4009-a692-d5e20ef48af6","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-devel","Tool: GitHub.com-Dependency-Graph"],"created":"2025-01-19T00:50:47Z"},"packages":[{"name":"async-timeout","SPDXID":"SPDXRef-pypi-async-timeout-4.0.3-7b26ed","versionInfo":"4.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2016-2020 aio-libs collaboration","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/async-timeout@4.0.3"}]},{"name":"redis","SPDXID":"SPDXRef-pypi-redis-4.6.0-d87ce5","versionInfo":"4.6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2022, Redis, inc.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/redis@4.6.0"}]},{"name":"annotated-types","SPDXID":"SPDXRef-pypi-annotated-types-0.7.0-41e328","versionInfo":"0.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2022 the contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/annotated-types@0.7.0"}]},{"name":"pydantic-core","SPDXID":"SPDXRef-pypi-pydantic-core-2.18.4-613322","versionInfo":"2.18.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2022 Samuel Colvin","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pydantic-core@2.18.4"}]},{"name":"typing-extensions","SPDXID":"SPDXRef-pypi-typing-extensions-4.12.2-c8865b","versionInfo":"4.12.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Python-2.0 AND Python-2.0 AND BSD-3-Clause AND Python-2.0 AND BSD-3-Clause AND 0BSD","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.12.2"}]},{"name":"pydantic","SPDXID":"SPDXRef-pypi-pydantic-2.7.4-58cb0d","versionInfo":"2.7.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2017","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pydantic@2.7.4"}]},{"name":"any-api","SPDXID":"SPDXRef-pypi-any-api-0.1.0.11-447376","versionInfo":"0.1.0.11","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/any-api@0.1.0.11"}]},{"name":"colorama","SPDXID":"SPDXRef-pypi-colorama-0.4.6-91a7d4","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":"iniconfig","SPDXID":"SPDXRef-pypi-iniconfig-2.0.0-892651","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":"mypy-extensions","SPDXID":"SPDXRef-pypi-mypy-extensions-1.0.0-fc0b53","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":"py","SPDXID":"SPDXRef-pypi-py-1.11.0-6ce22e","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":"six","SPDXID":"SPDXRef-pypi-six-1.16.0-d8263e","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":"h11","SPDXID":"SPDXRef-pypi-h11-0.14.0-665fca","versionInfo":"0.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2006-2008 Scipy Developers, Copyright (c) 2006, Jonathan E. Taylor, Copyright (c) 2009-2012 Statsmodels Developers, Copyright (c) 2016 Nathaniel J. Smith \u003cnjs@pobox.com\u003e and other contributors, Copyright 2007, 2008 Chris Wanstrath chris@ozmm.org, copyright 2016, Nathaniel J. Smith","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/h11@0.14.0"}]},{"name":"rfc3986","SPDXID":"SPDXRef-pypi-rfc3986-1.5.0-b58159","versionInfo":"1.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright (c) 2014 Rackspace, copyright (c) 2014 Rackspace :license Apache, Copyright (c) 2015 Ian Stapleton Cordasco, Copyright (c) 2017 Ian Stapleton Cordasco, Copyright 2014 Ian Cordasco, Rackspace, Copyright 2014 Rackspace 2016 Ian Stapleton Cordasco, copyright u'2017, Ian Stapleton Cordasco","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/rfc3986@1.5.0"}]},{"name":"python-multipart","SPDXID":"SPDXRef-pypi-python-multipart-0.0.5-2e9f19","versionInfo":"0.0.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright (c) 2012-2013, Andrew Dunham, Copyright 2012, Andrew Dunham","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-multipart@0.0.5"}]},{"name":"httptools","SPDXID":"SPDXRef-pypi-httptools-0.6.1-575b3d","versionInfo":"0.6.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) . (c), Copyright (c) 2015 MagicStack Inc. http://magic.io, Copyright Fedor Indutny, Copyright Fedor Indutny, 2018, Copyright Joyent, Inc. and other Node contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/httptools@0.6.1"}]},{"name":"uvloop","SPDXID":"SPDXRef-pypi-uvloop-0.19.0-6455d5","versionInfo":"0.19.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0 AND MIT","copyrightText":"(c) (c) L, Copyright (c) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, Copyright (c) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, Inc., Copyright (c) 1994 X Consortium, Copyright (c) 1994-2021 Free Software Foundation, Inc., Copyright (c) 1996-1999 by Internet Software Consortium, Copyright (c) 1996-2001, 2003-2015 Free Software Foundation, Inc., Copyright (c) 1996-2015 Free Software Foundation, Inc., Copyright (c) 1996-2021 Free Software Foundation, Inc., Copyright (c) 1997-2021 Free Software Foundation, Inc., Copyright (c) 1999-2021 Free Software Foundation, Inc., Copyright (c) 2001-2021 Free Software Foundation, Inc., Copyright (c) 2002-2021 Free Software Foundation, Inc., Copyright (c) 2003-2021 Free Software Foundation, Inc., Copyright (c) 2004 by Internet Systems Consortium, Inc., Copyright (c) 2004-2005, 2007-2008, 2011-2015 Free Software Foundation, Inc., Copyright (c) 2004-2005, 2007-2009, 2011-2015 Free Software Foundation, Inc., Copyright (c) 2004-2005, 2007, 2009, 2011-2015 Free Software Foundation, Inc., Copyright (c) 2004-2015 Free Software Foundation, Inc., Copyright (c) 2004-2021 Free Software Foundation, Inc., Copyright (c) 2004, 2011-2015 Free Software Foundation, Inc., Copyright (c) 2006-2008 Diego Petteno, Copyright (c) 2006-2008 xine project, Copyright (c) 2006-2021 Free Software Foundation, Inc., Copyright (c) 2008 Steven G. Johnson \u003cstevenj@alum.mit.edu\u003e, Copyright (c) 2009-2021 Free Software Foundation, Inc., Copyright (c) 2010-2015 Free Software Foundation, Inc., Copyright (c) 2010-2021 Free Software Foundation, Inc., Copyright (c) 2011 Daniel Richard G. \u003cskunk@iSKUNK.ORG\u003e, Copyright (c) 2011 Free Software Foundation, Inc., Copyright (c) 2011-2021 Free Software Foundation, Inc., Copyright (c) 2011, 2018 Ben Noordhuis \u003cinfo@bnoordhuis.nl\u003e, Copyright (c) 2013, Ben Noordhuis \u003cinfo@bnoordhuis.nl\u003e, Copyright (c) 2014 Free Software Foundation, Inc., Copyright (c) 2014, Ben Noordhuis \u003cinfo@bnoordhuis.nl\u003e, Copyright (c) 2015 Saul Ibarra Corretge \u003csaghul@gmail.com\u003e, Copyright (c) 2015-present libuv project contributors, Copyright (c) 2015-present MagicStack Inc. http://magic.io, Copyright (c) 2015, Ben Noordhuis \u003cinfo@bnoordhuis.nl\u003e, Copyright (c) 2016-present the uvloop authors and contributors, Copyright (c) 2021 Free Software Foundation, Inc., Copyright (c) 2021 libuv project, Copyright 1992-2022 Free Software Foundation, Inc., Copyright 2002 Niels Provos \u003cprovos@citi.umich.edu\u003e, copyright 2016-present, MagicStack, Inc, Copyright 2017 - Refael Ackermann, Copyright Bert Belder, Copyright Fedor Indutny, Copyright Joyent, Inc. and other Node contributors, Copyright libuv project and contributors, Copyright libuv project and other Node contributors, Copyright libuv project contributors, copyright Niels Provos. Two, copyright the Internet Systems Consortium, Inc., Copyright The libuv project and contributors, Copyright the libuv project contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/uvloop@0.19.0"}]},{"name":"py-cpuinfo","SPDXID":"SPDXRef-pypi-py-cpuinfo-9.0.0-8bbc92","versionInfo":"9.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) 2000-2006 Netfilter Core Team, (c) Dominik Brodowski 2004-2009, (c) Jiri Kosina, Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California, Copyright (c) 2014-2022 Matthew Brennan Jones \u003cmatthew.brennan.jones@gmail.com\u003e, r'Copyright (c) 1992-2014 The FreeBSD Project, r'Copyright (c) 1992-2018 The FreeBSD Project","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/py-cpuinfo@9.0.0"}]},{"name":"pytest-profiling","SPDXID":"SPDXRef-pypi-pytest-profiling-1.7.0-85c2b1","versionInfo":"1.7.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2016 Man AHL","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-profiling@1.7.0"}]},{"name":"pyyaml","SPDXID":"SPDXRef-pypi-pyyaml-6.0-f407c0","versionInfo":"6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2006-2016 Kirill Simonov, Copyright (c) 2017-2021 Ingy dot Net","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyyaml@6.0"}]},{"name":"click","SPDXID":"SPDXRef-pypi-click-7.1.2-6db1e3","versionInfo":"7.1.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-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@7.1.2"}]},{"name":"pytest","SPDXID":"SPDXRef-pypi-pytest-6.2.5-437bcc","versionInfo":"6.2.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2014, Gregory Boissinot, Copyright Holger Krekel and others","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest@6.2.5"}]},{"name":"toml","SPDXID":"SPDXRef-pypi-toml-0.10.2-ac682a","versionInfo":"0.10.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright 2013-2019 William Pearson, Copyright 2015-2016 Julien Enselme, Copyright 2016 Google Inc., Copyright 2017 Jack Evans, Copyright 2017 Nate Prewitt, Copyright 2017 Samuel Vasko, Copyright 2019 Filippo Broggini","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/toml@0.10.2"}]},{"name":"cfgv","SPDXID":"SPDXRef-pypi-cfgv-3.4.0-f9b5e4","versionInfo":"3.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2018 Anthony Sottile","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/cfgv@3.4.0"}]},{"name":"pre-commit","SPDXID":"SPDXRef-pypi-pre-commit-3.5.0-922e5f","versionInfo":"3.5.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2014 pre-commit dev team Anthony Sottile, Ken Struys, Copyright 2021 RStudio, PBC","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pre-commit@3.5.0"}]},{"name":"appdirs","SPDXID":"SPDXRef-pypi-appdirs-1.4.4-cb791e","versionInfo":"1.4.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2005-2010 ActiveState Software Inc., Copyright (c) 2010 ActiveState Software Inc., Copyright (c) 2013 Eddy Petrisor","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/appdirs@1.4.4"}]},{"name":"pytest-mock","SPDXID":"SPDXRef-pypi-pytest-mock-3.5.1-315808","versionInfo":"3.5.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2016 Bruno Oliveira","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-mock@3.5.1"}]},{"name":"charset-normalizer","SPDXID":"SPDXRef-pypi-charset-normalizer-2.0.12-910f8b","versionInfo":"2.0.12","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) 2012 Denny Vrandecic (http://simia.net/letters/), (c) https://stackoverflow.com/questions/3041986/apt-command-line-interface-like-yes-no-input, Copyright (c) 2019 Ahmed TAHRI Ousret, Copyright (c) 2019 Ahmed TAHRI Ousret (https://github.com/Ousret), Copyright (c) 2019 TAHRI Ahmed R., copyright (c) 2021 by Ahmed TAHRI, copyright 2019, Ahmed TAHRI","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/charset-normalizer@2.0.12"}]},{"name":"typed-ast","SPDXID":"SPDXRef-pypi-typed-ast-1.5.5-8609de","versionInfo":"1.5.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"(c) 2008 Armin Ronacher Comment, Copyright (c) 1998-2002 John Aycock, Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Python Software Foundation, Copyright (c) 2016 David Fisher \u003cddfisher@dropbox.com\u003e, Copyright 2008 by Armin Ronacher, Copyright 2016 Dropbox, Inc.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/typed-ast@1.5.5"}]},{"name":"flask","SPDXID":"SPDXRef-pypi-flask-2.0.0-02f500","versionInfo":"2.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"(c) Copyright 2010 by \u003ca href http://domain.invalid/'\u003e, (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.0.0"}]},{"name":"atomicwrites","SPDXID":"SPDXRef-pypi-atomicwrites-1.4.1-c3b888","versionInfo":"1.4.1","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.1"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-2.26.0-d06413","versionInfo":"2.26.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"copyright (c) 2012 by Kenneth Reitz, copyright (c) 2017 by Kenneth Reitz, Copyright 2019 Kenneth Reitz, Copyright 2020 Kenneth Reitz","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests@2.26.0"}]},{"name":"multidict","SPDXID":"SPDXRef-pypi-multidict-5.2.0-fc051c","versionInfo":"5.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"copyright 2016, Copyright 2016-2021 Andrew Svetlov and aio-libs team","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/multidict@5.2.0"}]},{"name":"tornado","SPDXID":"SPDXRef-pypi-tornado-6.1-2802c5","versionInfo":"6.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2009 Facebook, Copyright 2009 FriendFeed, Copyright 2011 Facebook, Copyright 2012 Facebook, Copyright 2014 Facebook, Copyright 2015 The Tornado Authors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tornado@6.1"}]},{"name":"autoflake","SPDXID":"SPDXRef-pypi-autoflake-1.4-122ff6","versionInfo":"1.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2012-2018 Steven Myint, Copyright (c) 2012-2019 Steven Myint","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/autoflake@1.4"}]},{"name":"pytest-asyncio","SPDXID":"SPDXRef-pypi-pytest-asyncio-0.14.0-d35da5","versionInfo":"0.14.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-asyncio@0.14.0"}]},{"name":"importlib-metadata","SPDXID":"SPDXRef-pypi-importlib-metadata-4.11.4-a317b5","versionInfo":"4.11.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2017-2019 Jason R. Coombs, Barry Warsaw","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/importlib-metadata@4.11.4"}]},{"name":"aiofiles","SPDXID":"SPDXRef-pypi-aiofiles-0.8.0-5acdab","versionInfo":"0.8.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/aiofiles@0.8.0"}]},{"name":"black","SPDXID":"SPDXRef-pypi-black-20.8b1-861157","versionInfo":"20.8b1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/black@20.8b1"}]},{"name":"pytest-benchmark","SPDXID":"SPDXRef-pypi-pytest-benchmark-4.0.0-ff3525","versionInfo":"4.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause","copyrightText":"(c) Kozea 2011-2015, Copyright (c) 2014-2022, Ionel Cristian Maries","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-benchmark@4.0.0"}]},{"name":"websockets","SPDXID":"SPDXRef-pypi-websockets-8.1-228f73","versionInfo":"8.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause","copyrightText":"Copyright (c) 2013-2019 Aymeric Augustin and contributors.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/websockets@8.1"}]},{"name":"werkzeug","SPDXID":"SPDXRef-pypi-werkzeug-2.0.0-d14904","versionInfo":"2.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"copyright 2007 Pallets, Copyright 2007 Pallets, Copyright 2010 Canonical Ltd.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/werkzeug@2.0.0"}]},{"name":"uvicorn","SPDXID":"SPDXRef-pypi-uvicorn-0.13.4-bc76c8","versionInfo":"0.13.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2017-present, Encode OSS Ltd (http://www.encode.io/).","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/uvicorn@0.13.4"}]},{"name":"httpcore","SPDXID":"SPDXRef-pypi-httpcore-0.12.3-4f29ba","versionInfo":"0.12.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/httpcore@0.12.3"}]},{"name":"isort","SPDXID":"SPDXRef-pypi-isort-5.6.4-153c12","versionInfo":"5.6.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2013 Timothy Edmund Crosley, Copyright 2013-2019 William Pearson, Copyright 2015-2016 Julien Enselme, Copyright 2016 Google Inc., Copyright 2017 Jack Evans, Copyright 2017 Nate Prewitt, Copyright 2017 Samuel Vasko, Copyright 2019 Filippo Broggini","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/isort@5.6.4"}]},{"name":"httpx","SPDXID":"SPDXRef-pypi-httpx-0.16.1-e28e87","versionInfo":"0.16.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/httpx@0.16.1"}]},{"name":"coverage","SPDXID":"SPDXRef-pypi-coverage-7.2.0-3914c5","versionInfo":"7.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/coverage@7.2.0"}]},{"name":"starlette","SPDXID":"SPDXRef-pypi-starlette-0.14.1-c2f27a","versionInfo":"0.14.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2018, Encode OSS Ltd (https://www.encode.io/)., Copyright (c) Facebook, Inc.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/starlette@0.14.1"}]},{"name":"sanic","SPDXID":"SPDXRef-pypi-sanic-21.3.4-2572cc","versionInfo":"21.3.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2016-present Sanic Community","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sanic@21.3.4"}]},{"name":"sanic-testing","SPDXID":"SPDXRef-pypi-sanic-testing-0.3.0-c11881","versionInfo":"0.3.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sanic-testing@0.3.0"}]},{"name":"attrs","SPDXID":"SPDXRef-pypi-attrs-23.2.0-8e06fa","versionInfo":"23.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) N Revealed, Copyright ...\" is shown in the HTML footer. Default is True., Copyright (c) 2015 Hynek Schlawack, Copyright (c) 2015 Hynek Schlawack\", Copyright (c) 2015 Hynek Schlawack\" == mod.__copyright, Hynek Schlawack copyright f'2015","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/attrs@23.2.0"}]},{"name":"pathspec","SPDXID":"SPDXRef-pypi-pathspec-0.12.1-98d9d6","versionInfo":"0.12.1","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.12.1"}]},{"name":"distlib","SPDXID":"SPDXRef-pypi-distlib-0.3.8-c3ec00","versionInfo":"0.3.8","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 Python Software Foundation, Copyright (c) 2011-2022 Vinay Sajip, Copyright (c) 2012 The Python Software Foundation, Copyright (c) 2012-2013 The Python Software Foundation, Copyright (c) 2012-2013 Vinay Sajip, Copyright (c) 2012-2023 Python Software Foundation, Copyright (c) 2012-2023 The Python Software Foundation, Copyright (c) 2012-2023 Vinay Sajip, Copyright (c) 2013 by Test, Copyright (c) 2013 by Test User, Copyright (c) 2013 Vinay Sajip, Copyright (c) 2013-2017 Vinay Sajip, Copyright (c) 2013-2023 Vinay Sajip, Copyright (c) Simple Launcher","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/distlib@0.3.8"}]},{"name":"sanic-routing","SPDXID":"SPDXRef-pypi-sanic-routing-23.12.0-2ec2d4","versionInfo":"23.12.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2021 Sanic Community Organization","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sanic-routing@23.12.0"}]},{"name":"pyflakes","SPDXID":"SPDXRef-pypi-pyflakes-3.2.0-df064d","versionInfo":"3.2.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.2.0"}]},{"name":"sniffio","SPDXID":"SPDXRef-pypi-sniffio-1.3.1-895d2c","versionInfo":"1.3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0 OR (Apache-2.0 AND MIT)","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sniffio@1.3.1"}]},{"name":"markupsafe","SPDXID":"SPDXRef-pypi-markupsafe-2.1.5-9652f9","versionInfo":"2.1.5","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.1.5"}]},{"name":"idna","SPDXID":"SPDXRef-pypi-idna-3.7-f7c250","versionInfo":"3.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"(c) 2019 Unicode(r), Inc., Copyright (c) 2013-2024, Kim Davies and contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/idna@3.7"}]},{"name":"urllib3","SPDXID":"SPDXRef-pypi-urllib3-1.26.19-8973a0","versionInfo":"1.26.19","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2008-2020 Andrey Petrov and contributors, Copyright (c) 2010-2020 Benjamin Peterson, Copyright (c) 2012 Senko Rasic \u003csenko.rasic@dobarkod.hr\u003e, Copyright (c) 2015-2016 Will Bond \u003cwill@wbond.net\u003e, Copyright 2015 Google Inc.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/urllib3@1.26.19"}]},{"name":"itsdangerous","SPDXID":"SPDXRef-pypi-itsdangerous-2.2.0-5635c9","versionInfo":"2.2.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"copyright 2011 Pallets, Copyright 2011 Pallets","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/itsdangerous@2.2.0"}]},{"name":"identify","SPDXID":"SPDXRef-pypi-identify-2.5.36-81f4dd","versionInfo":"2.5.36","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"(c) the European Community 2007, (c) the European Union 2007, 2016, Copyright (c) 1989, 1991 Free Software Foundation, Inc., Copyright (c) 1991, 1999 Free Software Foundation, Inc., Copyright (c) 2000-2006, The Perl Foundation, Copyright (c) 2004 Sam Hocevar \u003csam@hocevar.net\u003e, Copyright (c) 2005 Lawrence Rosen, Copyright (c) 2007 Free Software Foundation, Inc. \u003chttps://fsf.org/\u003e, Copyright (c) 2017 Chris Kuehl, Anthony Sottile, Copyright (c) year fullname, Copyright 1999 2002-2008 LaTeX3 Project, copyrighted by the Free Software Foundation","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/identify@2.5.36"}]},{"name":"pluggy","SPDXID":"SPDXRef-pypi-pluggy-1.5.0-ebf458","versionInfo":"1.5.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.5.0"}]},{"name":"jinja2","SPDXID":"SPDXRef-pypi-jinja2-3.1.4-4074d9","versionInfo":"3.1.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"(c) Copyright 2008 by http://domain.invalid/'\u003e, copyright 2007 Pallets, Copyright 2007 Pallets","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jinja2@3.1.4"}]},{"name":"ujson","SPDXID":"SPDXRef-pypi-ujson-5.10.0-4487ce","versionInfo":"5.10.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause","copyrightText":"Copyright (c) 1988-1993 The Regents of the University of California, Copyright (c) 1994 Sun Microsystems, Inc., Copyright (c) 2007 Nick Galbreath nickg at modp dot com, Copyright (c) 2014, Electronic Arts Inc., Copyright 2005, 2006, 2007 Nick Galbreath nickg at modp dot com, Copyright 2006-2008 the V8 project authors, Copyright 2006-2011, the V8 project authors, Copyright 2008 the V8 project authors, Copyright 2010 the V8 project authors, Copyright 2011 the V8 project authors, Copyright 2011, the V8 project authors, Copyright 2012 the V8 project authors, copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState Corporation","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ujson@5.10.0"}]},{"name":"platformdirs","SPDXID":"SPDXRef-pypi-platformdirs-4.2.2-a514e0","versionInfo":"4.2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2010-202x The platformdirs","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/platformdirs@4.2.2"}]},{"name":"regex","SPDXID":"SPDXRef-pypi-regex-2024.5.15-50cc3f","versionInfo":"2024.5.15","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright (c) 1997-2001 by Secret Labs AB., Copyright (c) 1997-2002 by Secret Labs AB, copyright (c) 1998-2001 by Secret Labs AB, Copyright (c) 1998-2001 by Secret Labs AB., Copyright 2020 Matthew Barnett","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/regex@2024.5.15"}]},{"name":"certifi","SPDXID":"SPDXRef-pypi-certifi-2024.6.2-5186ea","versionInfo":"2024.6.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MPL-2.0","copyrightText":"(c) 1999 Entrust.net Limited, (c) 1999 Entrust.net Limited Label Entrust.net Premium 2048 Secure Server CA Serial, (c) 2006 Entrust, Inc., (c) 2006 Entrust, Inc. Label Entrust Root Certification, (c) 2009 Entrust, Inc. - for, (c) 2012 Entrust, Inc. - for, (c) 2015 Entrust, Inc. - for","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/certifi@2024.6.2"}]},{"name":"zipp","SPDXID":"SPDXRef-pypi-zipp-3.19.2-0316c3","versionInfo":"3.19.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/zipp@3.19.2"}]},{"name":"nodeenv","SPDXID":"SPDXRef-pypi-nodeenv-1.9.1-7c9539","versionInfo":"1.9.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause AND BSD-3-Clause","copyrightText":"Copyright (c) 2011, Eugene Kalinin, copyright (c) 2014 by Eugene Kalinin","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/nodeenv@1.9.1"}]},{"name":"gprof2dot","SPDXID":"SPDXRef-pypi-gprof2dot-2024.6.6-9f0d91","versionInfo":"2024.6.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"LGPL-2.0-or-later AND LGPL-3.0 AND LGPL-3.0-or-later","copyrightText":"Copyright (c) 2007 Free Software Foundation, Inc. \u003chttps://fsf.org/\u003e, Copyright 2008-2023 Jose Fonseca, Copyright 2013-2017 Jose Fonseca","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gprof2dot@2024.6.6"}]},{"name":"packaging","SPDXID":"SPDXRef-pypi-packaging-24.1-0110a3","versionInfo":"24.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0 AND BSD-3-Clause","copyrightText":"Copyright (c) Donald Stufft and individual contributors, copyright 2014 s","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/packaging@24.1"}]},{"name":"virtualenv","SPDXID":"SPDXRef-pypi-virtualenv-20.26.3-5cab3a","versionInfo":"20.26.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2020-202x The virtualenv","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/virtualenv@20.26.3"}]},{"name":"filelock","SPDXID":"SPDXRef-pypi-filelock-3.15.4-7c0c30","versionInfo":"3.15.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Unlicense","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/filelock@3.15.4"}]},{"name":"wrapt","SPDXID":"SPDXRef-pypi-wrapt-1.16.0-774e20","versionInfo":"1.16.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause","copyrightText":"Copyright (c) 2013-2023, Graham Dumpleton","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/wrapt@1.16.0"}]},{"name":"streaming-form-data","SPDXID":"SPDXRef-pypi-streaming-form-data-1.16.0-4abd8a","versionInfo":"1.16.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2017 - 2024 Siddhant Goel","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/streaming-form-data@1.16.0"}]},{"name":"multipart","SPDXID":"SPDXRef-pypi-multipart-1.1.0-2c268d","versionInfo":"1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2010-2024, Marcel Hellkamp, copyrighted by the Werkzeug Team, partly copyrighted by the Werkzeug Team","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/multipart@1.1.0"}]},{"name":"smart-open","SPDXID":"SPDXRef-pypi-smart-open-7.0.5-a2b86a","versionInfo":"7.0.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2015 Radim Rehurek, Copyright (c) 2015 Radim Rehurek \u003cme@radimrehurek.com\u003e, Copyright (c) 2015-now Radim Rehurek \u003chttps://radimrehurek.com\u003e, Copyright (c) 2019 Radim Rehurek \u003cme@radimrehurek.com\u003e, Copyright (c) 2020 Nicolas Mitchell \u003cncls.mitchell@gmail.com\u003e, Copyright (c) 2020 Radim Rehurek \u003cme@radimrehurek.com\u003e, Copyright (c) 2020 Radim Rehurek \u003cradim@rare-technologies.com\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/smart-open@7.0.5"}]},{"name":"redis","SPDXID":"SPDXRef-pypi-redis-13a689","versionInfo":"^ 4.2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/redis"}]},{"name":"any-api","SPDXID":"SPDXRef-pypi-any-api-cba332","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/any-api"}]},{"name":"streaming-form-data","SPDXID":"SPDXRef-pypi-streaming-form-data-be47bd","versionInfo":"^ 1.16.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/streaming-form-data"}]},{"name":"multipart","SPDXID":"SPDXRef-pypi-multipart-583442","versionInfo":"^ 1.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/multipart"}]},{"name":"actions/checkout","SPDXID":"SPDXRef-githubactions-actions-checkout-3-67ca6c","versionInfo":"3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/checkout@3"}]},{"name":"actions/setup-python","SPDXID":"SPDXRef-githubactions-actions-setup-python-4-8ab802","versionInfo":"4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/setup-python@4"}]},{"name":"codecov/codecov-action","SPDXID":"SPDXRef-githubactions-codecov-codecov-action-3-3955d5","versionInfo":"3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/codecov/codecov-action@3"}]},{"name":"supercharge/redis-github-action","SPDXID":"SPDXRef-githubactions-supercharge-redis-github-action-1.4.0-c540bd","versionInfo":"1.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/supercharge/redis-github-action@1.4.0"}]},{"name":"com.github.so1n/pait","SPDXID":"SPDXRef-github-so1n-pait-master-73b529","versionInfo":"master","downloadLocation":"git+https://github.com/so1n/pait","filesAnalyzed":false,"licenseDeclared":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/so1n/pait@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-async-timeout-4.0.3-7b26ed","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-redis-4.6.0-d87ce5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-annotated-types-0.7.0-41e328","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pydantic-core-2.18.4-613322","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-typing-extensions-4.12.2-c8865b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pydantic-2.7.4-58cb0d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-any-api-0.1.0.11-447376","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-colorama-0.4.6-91a7d4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-iniconfig-2.0.0-892651","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-mypy-extensions-1.0.0-fc0b53","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-py-1.11.0-6ce22e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-six-1.16.0-d8263e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-h11-0.14.0-665fca","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-rfc3986-1.5.0-b58159","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-python-multipart-0.0.5-2e9f19","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-httptools-0.6.1-575b3d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-uvloop-0.19.0-6455d5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-py-cpuinfo-9.0.0-8bbc92","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pytest-profiling-1.7.0-85c2b1","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pyyaml-6.0-f407c0","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-click-7.1.2-6db1e3","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pytest-6.2.5-437bcc","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-toml-0.10.2-ac682a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-cfgv-3.4.0-f9b5e4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pre-commit-3.5.0-922e5f","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-appdirs-1.4.4-cb791e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pytest-mock-3.5.1-315808","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-charset-normalizer-2.0.12-910f8b","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-typed-ast-1.5.5-8609de","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-flask-2.0.0-02f500","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-atomicwrites-1.4.1-c3b888","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-requests-2.26.0-d06413","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-multidict-5.2.0-fc051c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-tornado-6.1-2802c5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-autoflake-1.4-122ff6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pytest-asyncio-0.14.0-d35da5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-importlib-metadata-4.11.4-a317b5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-aiofiles-0.8.0-5acdab","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-black-20.8b1-861157","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pytest-benchmark-4.0.0-ff3525","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-websockets-8.1-228f73","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-werkzeug-2.0.0-d14904","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-uvicorn-0.13.4-bc76c8","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-httpcore-0.12.3-4f29ba","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-isort-5.6.4-153c12","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-httpx-0.16.1-e28e87","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-coverage-7.2.0-3914c5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-starlette-0.14.1-c2f27a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-sanic-21.3.4-2572cc","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-sanic-testing-0.3.0-c11881","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-attrs-23.2.0-8e06fa","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pathspec-0.12.1-98d9d6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-distlib-0.3.8-c3ec00","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-sanic-routing-23.12.0-2ec2d4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pyflakes-3.2.0-df064d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-sniffio-1.3.1-895d2c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-markupsafe-2.1.5-9652f9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-idna-3.7-f7c250","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-urllib3-1.26.19-8973a0","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-itsdangerous-2.2.0-5635c9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-identify-2.5.36-81f4dd","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-pluggy-1.5.0-ebf458","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-jinja2-3.1.4-4074d9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-ujson-5.10.0-4487ce","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-platformdirs-4.2.2-a514e0","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-regex-2024.5.15-50cc3f","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-certifi-2024.6.2-5186ea","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-zipp-3.19.2-0316c3","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-nodeenv-1.9.1-7c9539","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-gprof2dot-2024.6.6-9f0d91","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-packaging-24.1-0110a3","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-virtualenv-20.26.3-5cab3a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-filelock-3.15.4-7c0c30","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-wrapt-1.16.0-774e20","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-streaming-form-data-1.16.0-4abd8a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-multipart-1.1.0-2c268d","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-smart-open-7.0.5-a2b86a","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-redis-13a689","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-any-api-cba332","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-streaming-form-data-be47bd","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-pypi-multipart-583442","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-githubactions-actions-checkout-3-67ca6c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-githubactions-actions-setup-python-4-8ab802","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-githubactions-codecov-codecov-action-3-3955d5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-so1n-pait-master-73b529","relatedSpdxElement":"SPDXRef-githubactions-supercharge-redis-github-action-1.4.0-c540bd","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-so1n-pait-master-73b529","relationshipType":"DESCRIBES"}]}