{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-07-04T06:18:35Z"
    },
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-07-04T06:18:35Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24685",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd150"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24681",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24603",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd15"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24602",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24605",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd15"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24602",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24683",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd150"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24681",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24682",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24602"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24681",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd150",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "Apache-2.0",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd15",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "MIT",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24684",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24604",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24602",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24604",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Extension for flake8 which uses pep257 to check docstrings",
      "software_packageVersion": "0:1.7.0-1.oe2403sp4",
      "software_homePage": "https://gitlab.com/pycqa/flake8-docstrings",
      "description": "A simple module that adds an extension for the fantastic pydocstyle tool to flake8.",
      "name": "python3-flake8-docstrings",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/1878cc60a19e65efc93d1a539275c5a6799b0acbd7796ee105712c44cae47ab4-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/python3-flake8-docstrings@1.7.0-1.oe2403sp4?arch=noarch&epoch=0&upstream=python-flake8-docstrings-1.7.0-1.oe2403sp4.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24681",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd24684",
      "software_downloadLocation": "NOASSERTION",
      "summary": "OpenStack Hacking Guideline Enforcement",
      "software_packageVersion": "0:6.0.1-1.oe2403sp4",
      "software_homePage": "https://docs.openstack.org/hacking/latest/",
      "description": "hacking is a set of flake8 plugins that test and enforce the\n`OpenStack StyleGuide <https://docs.openstack.org/hacking/latest/user/hacking.html#styleguide>`_\nHacking pins its dependencies, as a new release of some dependency can break\nhacking based gating jobs. This is because new versions of dependencies can\nintroduce new rules, or make existing rules stricter.",
      "name": "python3-hacking",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/1878cc60a19e65efc93d1a539275c5a6799b0acbd7796ee105712c44cae47ab4-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/python3-hacking@6.0.1-1.oe2403sp4?arch=noarch&epoch=0&upstream=python-hacking-6.0.1-1.oe2403sp4.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    }
  ]
}