{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-09-26T18:04:57Z"
    },
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-09-26T18:04:57Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd153",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd111"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd143",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd139",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd20"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd138",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd141",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd20"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd138",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd147",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd148"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd146",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd150",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd148"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd146",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd151",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd111"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd143",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd144",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd138"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd143",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd145",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd146"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd143",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd148",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "BSD-3-Clause",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd20",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "Apache-2.0",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd111",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "MIT",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd149",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd140",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd152",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd143",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd152",
      "software_downloadLocation": "NOASSERTION",
      "summary": "The official Python SDK for Model Context Protocol servers and clients",
      "software_packageVersion": "0:1.12.3-1.oe2403sp3",
      "software_homePage": "https://github.com/modelcontextprotocol/python-sdk",
      "description": "The official Python SDK for Model Context Protocol servers and clients",
      "name": "python3-mcp",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/0de8c845a03f7bf4d1775abae0b7c46eddb143dbcfb98517e22893a3d46f0ca9-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/python3-mcp@1.12.3-1.oe2403sp3?arch=noarch&epoch=0&upstream=python-mcp-1.12.3-1.oe2403sp3.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd146",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd149",
      "software_downloadLocation": "NOASSERTION",
      "summary": "The little ASGI library that shines",
      "software_packageVersion": "0:0.46.1-8.oe2403sp3",
      "software_homePage": "https://www.starlette.io/",
      "description": "Starlette is a lightweight ASGI framework/toolkit, which is ideal for building\nasync web services in Python.\n\nIt is production-ready, and gives you the following:\n\n  • A lightweight, low-complexity HTTP web framework.\n  • WebSocket support.\n  • In-process background tasks.\n  • Startup and shutdown events.\n  • Test client built on requests.\n  • CORS, GZip, Static Files, Streaming responses.\n  • Session and Cookie support.\n  • 100% test coverage.\n  • 100% type annotated codebase.\n  • Few hard dependencies.\n  • Compatible with asyncio and trio backends.\n  • Great overall performance against independent benchmarks.\n\n\n%pyproject_extras_subpkg -n python3-starlette full",
      "name": "python3-starlette",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/0de8c845a03f7bf4d1775abae0b7c46eddb143dbcfb98517e22893a3d46f0ca9-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/python3-starlette@0.46.1-8.oe2403sp3?arch=noarch&epoch=0&upstream=python-starlette-0.46.1-8.oe2403sp3.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd138",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/SPDXRef-gnrtd140",
      "software_downloadLocation": "NOASSERTION",
      "summary": "A streaming multipart parser for Python",
      "software_packageVersion": "0:0.0.22-1.oe2403sp3",
      "software_homePage": "https://github.com/Kludex/python-multipart",
      "description": "Python-Multipart is a streaming multipart parser for Python.",
      "name": "python3-python-multipart",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/0de8c845a03f7bf4d1775abae0b7c46eddb143dbcfb98517e22893a3d46f0ca9-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/python3-python-multipart@0.0.22-1.oe2403sp3?arch=noarch&epoch=0&upstream=python-python-multipart-0.0.22-1.oe2403sp3.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/EPOL/update/main/x86_64-aeb22a11-8c16-444e-8dfa-e3ea97c5f162-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    }
  ]
}