{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "python-portend-help-0.3.2.0-1.oe2403sp4.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-07-04T04:28:12.092529219Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/python-portend-help-0.3.2.0-1.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-python-portend-help-3.2.0",
      "name": "python-portend-help",
      "licenseConcluded": "MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "ea18a47c989f86885831fe34b533d55b61f43982a5fc66bf86103f1913c87222"
        }
      ],
      "description": "Use portend to monitor TCP ports for bound or unbound states.\nFor example, to wait for a port to be occupied, timing out after 3 seconds::\n    portend.occupied('www.google.com', 80, timeout=3)\nOr to wait for a port to be free, timing out after 5 seconds::\n    portend.free('::1', 80, timeout=5)\nThe portend may also be executed directly. If the function succeeds, it\nreturns nothing and exits with a status of 0. If it fails, it prints a\nmessage and exits with a status of 1. For example::\n    python -m portend localhost:31923 free\n    (exits immediately)\n    python -m portend -t 1 localhost:31923 occupied\n    (one second passes)\n    Port 31923 not bound on localhost.\nPortend also exposes a ``find_available_local_port`` for identifying\na suitable port for binding locally::\n    port = portend.find_available_local_port()\n    print(port, \"is available for binding\")\nPortend additionally exposes the lower-level port checking functionality\nin the ``Checker`` class, which currently exposes only one public\nmethod, ``assert_free``::\n    portend.Checker().assert_free('localhost', 31923)\nIf assert_free is passed a host/port combination that is occupied by\na bound listener (i.e. a TCP connection is established to that host/port),\nassert_free will raise a ``PortNotFree`` exception.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/python-portend-help@3.2.0-1.oe2403sp4?arch=noarch&epoch=0&upstream=python-portend-3.2.0-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://pypi.org/project/portend",
      "licenseDeclared": "MIT",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Development documents and examples for portend",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:3.2.0-1.oe2403sp4"
    }
  ],
  "relationships": []
}
