{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.googleapis/python-spanner","documentNamespace":"https://spdx.org/spdxdocs/protobom/86376916-78ce-4019-b8f7-501e760dbb20","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-13T23:44:43Z"},"packages":[{"name":"futures","SPDXID":"SPDXRef-pypi-futures-3.4.0-75c946","versionInfo":"3.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"PSF-2.0","copyrightText":"Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation, Copyright 2009 Brian Quinlan, copyright u'2009-2011, Brian Quinlan","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/futures@3.4.0"}]},{"name":"google-cloud-spanner","SPDXID":"SPDXRef-pypi-google-cloud-spanner-3.58.0-75c946","versionInfo":"3.58.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2016 Google LLC, Copyright 2016, Google LLC, Copyright 2017 Google LLC, Copyright 2020 Google LLC, Copyright 2021 Google LLC, Copyright 2022 Google LLC, Copyright 2023 Google LLC, Copyright 2024 Google LLC, Copyright 2025 Google LLC","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-cloud-spanner@3.58.0"}]},{"name":"proto-plus","SPDXID":"SPDXRef-pypi-proto-plus-75c946","versionInfo":"\u003e= 1.22.2,\u003c 2.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/proto-plus"}]},{"name":"protobuf","SPDXID":"SPDXRef-pypi-protobuf-75c946","versionInfo":"\u003e= 3.20.2,\u003c 7.0.0,\u003c 4.21.0 || \u003e 4.21.0,\u003c 4.21.1 || \u003e 4.21.1,\u003c 4.21.2 || \u003e 4.21.2,\u003c 4.21.3 || \u003e 4.21.3,\u003c 4.21.4 || \u003e 4.21.4,\u003c 4.21.5 || \u003e 4.21.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/protobuf"}]},{"name":"grpc-google-iam-v1","SPDXID":"SPDXRef-pypi-grpc-google-iam-v1-75c946","versionInfo":"\u003e= 0.12.4,\u003c 1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/grpc-google-iam-v1"}]},{"name":"google-cloud-core","SPDXID":"SPDXRef-pypi-google-cloud-core-75c946","versionInfo":"\u003e= 1.4.4,\u003c 3.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-cloud-core"}]},{"name":"sqlparse","SPDXID":"SPDXRef-pypi-sqlparse-75c946","versionInfo":"\u003e= 0.4.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sqlparse"}]},{"name":"grpc-interceptor","SPDXID":"SPDXRef-pypi-grpc-interceptor-75c946","versionInfo":"\u003e= 0.15.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/grpc-interceptor"}]},{"name":"mmh3","SPDXID":"SPDXRef-pypi-mmh3-75c946","versionInfo":"\u003e= 4.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mmh3"}]},{"name":"google-cloud-monitoring","SPDXID":"SPDXRef-pypi-google-cloud-monitoring-75c946","versionInfo":"\u003e= 2.16.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-cloud-monitoring"}]},{"name":"google-api-core","SPDXID":"SPDXRef-pypi-google-api-core-75c946","versionInfo":"\u003e= 1.34.0,\u003c 3.0.0,\u003c 2.0.* || \u003e 2.0.*,\u003c 2.1.* || \u003e 2.1.*,\u003c 2.2.* || \u003e 2.2.*,\u003c 2.3.* || \u003e 2.3.*,\u003c 2.4.* || \u003e 2.4.*,\u003c 2.5.* || \u003e 2.5.*,\u003c 2.6.* || \u003e 2.6.*,\u003c 2.7.* || \u003e 2.7.*,\u003c 2.8.* || \u003e 2.8.*,\u003c 2.9.* || \u003e 2.9.*,\u003c 2.10.* || \u003e 2.10.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-api-core"}]},{"name":"opentelemetry-resourcedetector-gcp","SPDXID":"SPDXRef-pypi-opentelemetry-resourcedetector-gcp-75c946","versionInfo":"\u003e= 1.8.0a0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/opentelemetry-resourcedetector-gcp"}]},{"name":"opentelemetry-api","SPDXID":"SPDXRef-pypi-opentelemetry-api-75c946","versionInfo":"\u003e= 1.22.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/opentelemetry-api"}]},{"name":"opentelemetry-sdk","SPDXID":"SPDXRef-pypi-opentelemetry-sdk-75c946","versionInfo":"\u003e= 1.22.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/opentelemetry-sdk"}]},{"name":"opentelemetry-semantic-conventions","SPDXID":"SPDXRef-pypi-opentelemetry-semantic-conventions-75c946","versionInfo":"\u003e= 0.43b0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/opentelemetry-semantic-conventions"}]},{"name":"actions/setup-python","SPDXID":"SPDXRef-githubactions-actions-setup-python-6..-75c946","versionInfo":"6.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/setup-python@6.%2A.%2A"}]},{"name":"actions/checkout","SPDXID":"SPDXRef-githubactions-actions-checkout-5..-75c946","versionInfo":"5.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/checkout@5.%2A.%2A"}]},{"name":"packaging","SPDXID":"SPDXRef-pypi-packaging-25.0-75c946","versionInfo":"25.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0 AND BSD-2-Clause","copyrightText":"Copyright (c) 2017-present Ofek Lev \u003coss@ofek.dev\u003e, Copyright (c) Donald Stufft and individual contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/packaging@25.0"}]},{"name":"tomli","SPDXID":"SPDXRef-pypi-tomli-2.2.1-75c946","versionInfo":"2.2.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.2.1"}]},{"name":"nox","SPDXID":"SPDXRef-pypi-nox-2025.5.1-75c946","versionInfo":"2025.5.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2016 Alethea Katherine Flowers, copyright 2016, Alethea Katherine Flowers, Copyright 2017 Alethea Katherine Flowers, Copyright 2018 Alethea Katherine Flowers, Copyright 2019 Alethea Katherine Flowers, Copyright 2020 Alethea Katherine Flowers, Copyright 2021 Alethea Katherine Flowers, Copyright 2022 Alethea Katherine Flowers, Copyright 2023 Alethea Katherine Flowers","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/nox@2025.5.1"}]},{"name":"filelock","SPDXID":"SPDXRef-pypi-filelock-3.19.1-75c946","versionInfo":"3.19.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Unlicense","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/filelock@3.19.1"}]},{"name":"colorlog","SPDXID":"SPDXRef-pypi-colorlog-6.9.0-75c946","versionInfo":"6.9.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","copyrightText":"Copyright (c) 2012-2021 Sam Clements \u003csam@borntyping.co.uk\u003e","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/colorlog@6.9.0"}]},{"name":"platformdirs","SPDXID":"SPDXRef-pypi-platformdirs-4.4.0-75c946","versionInfo":"4.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/platformdirs@4.4.0"}]},{"name":"argcomplete","SPDXID":"SPDXRef-pypi-argcomplete-3.6.2-75c946","versionInfo":"3.6.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2012-2023, Andrey Kislyuk and argcomplete contributors, copyright Andrey Kislyuk and argcomplete contributors","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/argcomplete@3.6.2"}]},{"name":"distlib","SPDXID":"SPDXRef-pypi-distlib-0.4.0-75c946","versionInfo":"0.4.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"PSF-2.0 AND Python-2.0","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) 2012-2024 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) 2024 Stewart Miles, Copyright (c) Simple Launcher","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/distlib@0.4.0"}]},{"name":"virtualenv","SPDXID":"SPDXRef-pypi-virtualenv-20.34.0-75c946","versionInfo":"20.34.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/virtualenv@20.34.0"}]},{"name":"google-cloud-testutils","SPDXID":"SPDXRef-pypi-google-cloud-testutils-1.6.4-75c946","versionInfo":"1.6.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2014 Google LLC, Copyright 2016 Google LLC, Copyright 2017 Google LLC, Copyright 2018 Google LLC, Copyright 2019 Google LLC, Copyright 2020 Google LLC, Copyright 2021 Google LLC, Copyright 2025 Google LLC","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/google-cloud-testutils@1.6.4"}]},{"name":"pytest","SPDXID":"SPDXRef-pypi-pytest-8.4.1-75c946","versionInfo":"8.4.1","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. Distributed","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest@8.4.1"}]},{"name":"pytest-dependency","SPDXID":"SPDXRef-pypi-pytest-dependency-0.6.0-75c946","versionInfo":"0.6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2013-2015 Helmholtz-Zentrum Berlin fur Materialien und Energie GmbH, Copyright 2016-2023 Rolf Krahl","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pytest-dependency@0.6.0"}]},{"name":"mock","SPDXID":"SPDXRef-pypi-mock-5.2.0-75c946","versionInfo":"5.2.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, copyright u'2007-2015, Michael Foord \u0026 the mock team","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mock@5.2.0"}]},{"name":"com.github.googleapis/python-spanner","SPDXID":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","versionInfo":"main","downloadLocation":"git+https://github.com/googleapis/python-spanner","filesAnalyzed":false,"licenseDeclared":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/googleapis/python-spanner@main"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-futures-3.4.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-google-cloud-core-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-google-cloud-monitoring-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-githubactions-actions-checkout-5..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-protobuf-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-colorlog-6.9.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-platformdirs-4.4.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-distlib-0.4.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-pytest-8.4.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-google-cloud-spanner-3.58.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-grpc-interceptor-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-nox-2025.5.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-mock-5.2.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-grpc-google-iam-v1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-google-api-core-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-opentelemetry-sdk-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-filelock-3.19.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-pytest-dependency-0.6.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-opentelemetry-api-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-tomli-2.2.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-virtualenv-20.34.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-opentelemetry-resourcedetector-gcp-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-opentelemetry-semantic-conventions-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-githubactions-actions-setup-python-6..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-argcomplete-3.6.2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-proto-plus-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-sqlparse-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-mmh3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-packaging-25.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relatedSpdxElement":"SPDXRef-pypi-google-cloud-testutils-1.6.4-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-googleapis-python-spanner-main-a4b96e","relationshipType":"DESCRIBES"}]}