{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.python-cmd2/cmd2","documentNamespace":"https://spdx.org/spdxdocs/protobom/8c73536b-ab77-4cfb-9e69-f7c51bcba6fa","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-20251216165153-1f3f3060931e+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-01-02T03:51:44Z"},"packages":[{"name":"prettier-plugin-toml","SPDXID":"SPDXRef-npm-prettier-plugin-toml-2.0.6-62e848","versionInfo":"^2.0.6","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/prettier-plugin-toml@%5E2.0.6"}]},{"name":"prettier","SPDXID":"SPDXRef-npm-prettier-3.7.4-53b211","versionInfo":"^3.7.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/prettier@%5E3.7.4"}]},{"name":"google-github-actions/run-gemini-cli","SPDXID":"SPDXRef-githubactions-google-github-actions-run-gemini-cli-0..-75c946","versionInfo":"0.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/google-github-actions/run-gemini-cli@0.%2A.%2A"}]},{"name":"actions/checkout","SPDXID":"SPDXRef-githubactions-actions-checkout-8e8c483db84b4bee98b60c0593521ed34d9990e8-75c946","versionInfo":"8e8c483db84b4bee98b60c0593521ed34d9990e8","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8"}]},{"name":"actions/cache","SPDXID":"SPDXRef-githubactions-actions-cache-5..-75c946","versionInfo":"5.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/cache@5.%2A.%2A"}]},{"name":"codecov/test-results-action","SPDXID":"SPDXRef-githubactions-codecov-test-results-action-1..-75c946","versionInfo":"1.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/codecov/test-results-action@1.%2A.%2A"}]},{"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":"codecov/codecov-action","SPDXID":"SPDXRef-githubactions-codecov-codecov-action-5..-75c946","versionInfo":"5.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/codecov/codecov-action@5.%2A.%2A"}]},{"name":"rich","SPDXID":"SPDXRef-pypi-rich-75c946","versionInfo":"\u003e= 14.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/rich"}]},{"name":"pyperclip","SPDXID":"SPDXRef-pypi-pyperclip-75c946","versionInfo":"\u003e= 1.8.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyperclip"}]},{"name":"backports-strenum","SPDXID":"SPDXRef-pypi-backports-strenum-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/backports-strenum"}]},{"name":"pyreadline3","SPDXID":"SPDXRef-pypi-pyreadline3-75c946","versionInfo":"\u003e= 3.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyreadline3"}]},{"name":"gnureadline","SPDXID":"SPDXRef-pypi-gnureadline-75c946","versionInfo":"\u003e= 8","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gnureadline"}]},{"name":"rich-argparse","SPDXID":"SPDXRef-pypi-rich-argparse-75c946","versionInfo":"\u003e= 1.7.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/rich-argparse"}]},{"name":"actions/checkout","SPDXID":"SPDXRef-githubactions-actions-checkout-6.0.1-75c946","versionInfo":"6.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/checkout@6.0.1"}]},{"name":"github/codeql-action/analyze","SPDXID":"SPDXRef-githubactions-githubcodeql-action-analyze-4..-75c946","versionInfo":"4.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/github/codeql-action/analyze@4.%2A.%2A"}]},{"name":"github/codeql-action/autobuild","SPDXID":"SPDXRef-githubactions-githubcodeql-action-autobuild-4..-75c946","versionInfo":"4.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/github/codeql-action/autobuild@4.%2A.%2A"}]},{"name":"github/codeql-action/init","SPDXID":"SPDXRef-githubactions-githubcodeql-action-init-4..-75c946","versionInfo":"4.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/github/codeql-action/init@4.%2A.%2A"}]},{"name":"astral-sh/setup-uv","SPDXID":"SPDXRef-githubactions-astral-sh-setup-uv-7..-75c946","versionInfo":"7.*.*","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/astral-sh/setup-uv@7.%2A.%2A"}]},{"name":"actions/github-script","SPDXID":"SPDXRef-githubactions-actions-github-script-ed597411d8f924073f98dfc5c65a23a2325f34cd-75c946","versionInfo":"ed597411d8f924073f98dfc5c65a23a2325f34cd","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd"}]},{"name":"actions/create-github-app-token","SPDXID":"SPDXRef-githubactions-actions-create-github-app-token-29824e69f54612133e76f7eaac726eef6c875baf-75c946","versionInfo":"29824e69f54612133e76f7eaac726eef6c875baf","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf"}]},{"name":"com.github.python-cmd2/cmd2","SPDXID":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","versionInfo":"main","downloadLocation":"git+https://github.com/python-cmd2/cmd2","filesAnalyzed":false,"licenseDeclared":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/python-cmd2/cmd2@main"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-npm-prettier-plugin-toml-2.0.6-62e848","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-npm-prettier-3.7.4-53b211","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-actions-setup-python-6..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-pypi-backports-strenum-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-actions-github-script-ed597411d8f924073f98dfc5c65a23a2325f34cd-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-codecov-codecov-action-5..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-pypi-gnureadline-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-pypi-rich-argparse-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-githubcodeql-action-autobuild-4..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-githubcodeql-action-init-4..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-actions-create-github-app-token-29824e69f54612133e76f7eaac726eef6c875baf-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-githubcodeql-action-analyze-4..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-google-github-actions-run-gemini-cli-0..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-codecov-test-results-action-1..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-pypi-rich-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-pypi-pyperclip-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-pypi-pyreadline3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-actions-checkout-6.0.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-actions-checkout-8e8c483db84b4bee98b60c0593521ed34d9990e8-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-actions-cache-5..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relatedSpdxElement":"SPDXRef-githubactions-astral-sh-setup-uv-7..-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-python-cmd2-cmd2-main-6783b9","relationshipType":"DESCRIBES"}]}