{
  "components": [
    {
      "bom-ref": "CacheControl==0.14.4",
      "description": "httplib2 caching for requests",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/psf/cachecontrol/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/psf/cachecontrol"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://pypi.org/project/CacheControl/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        }
      ],
      "name": "CacheControl",
      "properties": [
        {
          "name": "cdx:python:package:required-extra",
          "value": "filecache"
        }
      ],
      "purl": "pkg:pypi/cachecontrol@0.14.4",
      "type": "library",
      "version": "0.14.4"
    },
    {
      "bom-ref": "PyGithub==2.9.0",
      "description": "Use the full Github API v3",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://pygithub.readthedocs.io/en/stable/"
        },
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/pygithub/pygithub/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/pygithub/pygithub"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)"
          }
        }
      ],
      "name": "PyGithub",
      "purl": "pkg:pypi/pygithub@2.9.0",
      "type": "library",
      "version": "2.9.0"
    },
    {
      "bom-ref": "PyJWT==2.12.1",
      "description": "JSON Web Token implementation in Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/jpadilla/pyjwt"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "PyJWT",
      "properties": [
        {
          "name": "cdx:python:package:required-extra",
          "value": "crypto"
        }
      ],
      "purl": "pkg:pypi/pyjwt@2.12.1",
      "type": "library",
      "version": "2.12.1"
    },
    {
      "bom-ref": "PyNaCl==1.6.2",
      "description": "Python binding to the Networking and Cryptography (NaCl) library",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://pynacl.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/pyca/pynacl/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/pyca/pynacl"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/pyca/pynacl/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "PyNaCl",
      "purl": "pkg:pypi/pynacl@1.6.2",
      "type": "library",
      "version": "1.6.2"
    },
    {
      "bom-ref": "PyYAML==6.0.3",
      "description": "YAML parser and emitter for Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Download-URL",
          "type": "distribution",
          "url": "https://pypi.org/project/PyYAML/"
        },
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://pyyaml.org/wiki/PyYAMLDocumentation"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/yaml/pyyaml/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Mailing lists",
          "type": "other",
          "url": "http://lists.sourceforge.net/lists/listinfo/yaml-core"
        },
        {
          "comment": "from packaging metadata Project-URL: Source Code",
          "type": "other",
          "url": "https://github.com/yaml/pyyaml"
        },
        {
          "comment": "from packaging metadata Project-URL: CI",
          "type": "other",
          "url": "https://github.com/yaml/pyyaml/actions"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://pyyaml.org/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "PyYAML",
      "purl": "pkg:pypi/pyyaml@6.0.3",
      "type": "library",
      "version": "6.0.3"
    },
    {
      "bom-ref": "Pygments==2.20.0",
      "description": "Pygments is a syntax highlighting package written in Python.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://pygments.org/docs"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/pygments/pygments/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/pygments/pygments"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/pygments/pygments/blob/master/CHANGES"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://pygments.org"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-2-Clause"
          }
        }
      ],
      "name": "Pygments",
      "purl": "pkg:pypi/pygments@2.20.0",
      "type": "library",
      "version": "2.20.0"
    },
    {
      "bom-ref": "anyio==4.13.0",
      "description": "High-level concurrency and networking framework on top of asyncio or Trio",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://anyio.readthedocs.io/en/latest/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issue tracker",
          "type": "issue-tracker",
          "url": "https://github.com/agronholm/anyio/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source code",
          "type": "other",
          "url": "https://github.com/agronholm/anyio"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://anyio.readthedocs.io/en/stable/versionhistory.html"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "anyio",
      "purl": "pkg:pypi/anyio@4.13.0",
      "type": "library",
      "version": "4.13.0"
    },
    {
      "bom-ref": "arrow==1.4.0",
      "description": "Better dates & times for Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://arrow.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/arrow-py/arrow/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/arrow-py/arrow"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "arrow",
      "purl": "pkg:pypi/arrow@1.4.0",
      "type": "library",
      "version": "1.4.0"
    },
    {
      "bom-ref": "attrs==26.1.0",
      "description": "Classes Without Boilerplate",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://www.attrs.org/"
        },
        {
          "comment": "from packaging metadata Project-URL: Funding",
          "type": "other",
          "url": "https://github.com/sponsors/hynek"
        },
        {
          "comment": "from packaging metadata Project-URL: Tidelift",
          "type": "other",
          "url": "https://tidelift.com/subscription/pkg/pypi-attrs?utm_source=pypi-attrs&utm_medium=pypi"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://www.attrs.org/en/stable/changelog.html"
        },
        {
          "comment": "from packaging metadata Project-URL: GitHub",
          "type": "vcs",
          "url": "https://github.com/python-attrs/attrs"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "attrs",
      "purl": "pkg:pypi/attrs@26.1.0",
      "type": "library",
      "version": "26.1.0"
    },
    {
      "bom-ref": "babel==2.18.0",
      "description": "Internationalization utilities",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/python-babel/babel"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://babel.pocoo.org/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "babel",
      "purl": "pkg:pypi/babel@2.18.0",
      "type": "library",
      "version": "2.18.0"
    },
    {
      "bom-ref": "bandit==1.9.4",
      "description": "Security oriented static analyser for python code.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://bandit.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issue Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/PyCQA/bandit/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Discord",
          "type": "other",
          "url": "https://discord.gg/qYxpadCgkx"
        },
        {
          "comment": "from packaging metadata Project-URL: Source Code",
          "type": "other",
          "url": "https://github.com/PyCQA/bandit"
        },
        {
          "comment": "from packaging metadata Project-URL: Release Notes",
          "type": "other",
          "url": "https://github.com/PyCQA/bandit/releases"
        },
        {
          "comment": "from packaging metadata Project-URL: Sponsor",
          "type": "other",
          "url": "https://psfmember.org/civicrm/contribute/transact/?reset=1&id=42"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://bandit.readthedocs.io/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        }
      ],
      "name": "bandit",
      "purl": "pkg:pypi/bandit@1.9.4",
      "type": "library",
      "version": "1.9.4"
    },
    {
      "bom-ref": "beautifulsoup4==4.14.3",
      "description": "Screen-scraping library",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Download",
          "type": "distribution",
          "url": "https://www.crummy.com/software/BeautifulSoup/bs4/download/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://www.crummy.com/software/BeautifulSoup/bs4/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "beautifulsoup4",
      "purl": "pkg:pypi/beautifulsoup4@4.14.3",
      "type": "library",
      "version": "4.14.3"
    },
    {
      "bom-ref": "boolean.py==5.0",
      "description": "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL.",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/bastikr/boolean.py"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-2-Clause"
          }
        }
      ],
      "name": "boolean.py",
      "purl": "pkg:pypi/boolean.py@5.0",
      "type": "library",
      "version": "5.0"
    },
    {
      "bom-ref": "cachetools==7.0.5",
      "description": "Extensible memoizing collections and decorators",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/tkem/cachetools/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "cachetools",
      "purl": "pkg:pypi/cachetools@7.0.5",
      "type": "library",
      "version": "7.0.5"
    },
    {
      "bom-ref": "certifi==2026.2.25",
      "description": "Python package for providing Mozilla's CA Bundle.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/certifi/python-certifi"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/certifi/python-certifi"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MPL-2.0"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)"
          }
        }
      ],
      "name": "certifi",
      "purl": "pkg:pypi/certifi@2026.2.25",
      "type": "library",
      "version": "2026.2.25"
    },
    {
      "bom-ref": "cffi==2.0.0",
      "description": "Foreign Function Interface for Python calling C code.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://cffi.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issue Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/python-cffi/cffi/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source Code",
          "type": "other",
          "url": "https://github.com/python-cffi/cffi"
        },
        {
          "comment": "from packaging metadata Project-URL: Downloads",
          "type": "other",
          "url": "https://github.com/python-cffi/cffi/releases"
        },
        {
          "comment": "from packaging metadata Project-URL: Contact",
          "type": "other",
          "url": "https://groups.google.com/forum/#!forum/python-cffi"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://cffi.readthedocs.io/en/latest/whatsnew.html"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "cffi",
      "purl": "pkg:pypi/cffi@2.0.0",
      "type": "library",
      "version": "2.0.0"
    },
    {
      "bom-ref": "chardet==5.2.0",
      "description": "Universal encoding detector for Python 3",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://chardet.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issue Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/chardet/chardet/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: GitHub Project",
          "type": "other",
          "url": "https://github.com/chardet/chardet"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/chardet/chardet"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)"
          }
        }
      ],
      "name": "chardet",
      "purl": "pkg:pypi/chardet@5.2.0",
      "type": "library",
      "version": "5.2.0"
    },
    {
      "bom-ref": "charset-normalizer==3.4.7",
      "description": "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://charset-normalizer.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issue tracker",
          "type": "issue-tracker",
          "url": "https://github.com/jawah/charset_normalizer/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Code",
          "type": "other",
          "url": "https://github.com/jawah/charset_normalizer"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "charset-normalizer",
      "purl": "pkg:pypi/charset-normalizer@3.4.7",
      "type": "library",
      "version": "3.4.7"
    },
    {
      "bom-ref": "click==8.3.2",
      "description": "Composable command line interface toolkit",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Chat",
          "type": "chat",
          "url": "https://discord.gg/pallets"
        },
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://click.palletsprojects.com/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/pallets/click/"
        },
        {
          "comment": "from packaging metadata Project-URL: Donate",
          "type": "other",
          "url": "https://palletsprojects.com/donate"
        },
        {
          "comment": "from packaging metadata Project-URL: Changes",
          "type": "release-notes",
          "url": "https://click.palletsprojects.com/page/changes/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "click",
      "purl": "pkg:pypi/click@8.3.2",
      "type": "library",
      "version": "8.3.2"
    },
    {
      "bom-ref": "courlan==1.3.2",
      "description": "Clean, filter and sample URLs to optimize data collection \u2013 includes spam, content type and language filters.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/adbar/courlan/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Blog",
          "type": "other",
          "url": "https://adrien.barbaresi.eu/blog/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/adbar/courlan"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "courlan",
      "purl": "pkg:pypi/courlan@1.3.2",
      "type": "library",
      "version": "1.3.2"
    },
    {
      "bom-ref": "cryptography==46.0.6",
      "description": "cryptography is a package which provides cryptographic recipes and primitives to Python developers.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: documentation",
          "type": "documentation",
          "url": "https://cryptography.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: issues",
          "type": "issue-tracker",
          "url": "https://github.com/pyca/cryptography/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: source",
          "type": "other",
          "url": "https://github.com/pyca/cryptography/"
        },
        {
          "comment": "from packaging metadata Project-URL: changelog",
          "type": "release-notes",
          "url": "https://cryptography.io/en/latest/changelog/"
        },
        {
          "comment": "from packaging metadata Project-URL: homepage",
          "type": "website",
          "url": "https://github.com/pyca/cryptography"
        }
      ],
      "licenses": [
        {
          "acknowledgement": "declared",
          "expression": "Apache-2.0 OR BSD-3-Clause"
        }
      ],
      "name": "cryptography",
      "purl": "pkg:pypi/cryptography@46.0.6",
      "type": "library",
      "version": "46.0.6"
    },
    {
      "bom-ref": "cssselect==1.4.0",
      "description": "cssselect parses CSS3 Selectors and translates them to XPath 1.0",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/scrapy/cssselect"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "cssselect",
      "purl": "pkg:pypi/cssselect@1.4.0",
      "type": "library",
      "version": "1.4.0"
    },
    {
      "bom-ref": "cyclonedx-bom==7.3.0",
      "description": "CycloneDX Software Bill of Materials (SBOM) generator for Python projects and environments",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://cyclonedx-bom-tool.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/CycloneDX/cyclonedx-python/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Funding",
          "type": "other",
          "url": "https://owasp.org/donate/?reponame=www-project-cyclonedx&title=OWASP+CycloneDX"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/CycloneDX/cyclonedx-python/releases"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/CycloneDX/cyclonedx-python/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/CycloneDX/cyclonedx-python/#readme"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "cyclonedx-bom",
      "purl": "pkg:pypi/cyclonedx-bom@7.3.0",
      "type": "library",
      "version": "7.3.0"
    },
    {
      "bom-ref": "cyclonedx-py==1.0.1",
      "description": "Alias for package 'cyclonedx-bom'",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: repository",
          "type": "vcs",
          "url": "https://github.com/CycloneDX/cyclonedx-python/#package_aliases/cyclonedx-py"
        }
      ],
      "name": "cyclonedx-py",
      "purl": "pkg:pypi/cyclonedx-py@1.0.1",
      "type": "library",
      "version": "1.0.1"
    },
    {
      "bom-ref": "cyclonedx-python-lib==11.7.0",
      "description": "Python library for CycloneDX",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://cyclonedx-python-library.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Funding",
          "type": "other",
          "url": "https://owasp.org/donate/?reponame=www-project-cyclonedx&title=OWASP+CycloneDX"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib/releases"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib/#readme"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "cyclonedx-python-lib",
      "properties": [
        {
          "name": "cdx:python:package:required-extra",
          "value": "validation"
        }
      ],
      "purl": "pkg:pypi/cyclonedx-python-lib@11.7.0",
      "type": "library",
      "version": "11.7.0"
    },
    {
      "bom-ref": "dateparser==1.4.0",
      "description": "Date parsing library designed to parse dates from HTML pages",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: History",
          "type": "other",
          "url": "https://dateparser.readthedocs.io/en/latest/history.html"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/scrapinghub/dateparser"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "dateparser",
      "purl": "pkg:pypi/dateparser@1.4.0",
      "type": "library",
      "version": "1.4.0"
    },
    {
      "bom-ref": "defusedxml==0.7.1",
      "description": "XML bomb protection for Python stdlib modules",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Download-URL",
          "type": "distribution",
          "url": "https://pypi.python.org/pypi/defusedxml"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/tiran/defusedxml"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Python-2.0"
          }
        }
      ],
      "name": "defusedxml",
      "purl": "pkg:pypi/defusedxml@0.7.1",
      "type": "library",
      "version": "0.7.1"
    },
    {
      "bom-ref": "dynaconf==3.2.13",
      "description": "The dynamic configurator for your Python Project",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/dynaconf/dynaconf"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "dynaconf",
      "purl": "pkg:pypi/dynaconf@3.2.13",
      "type": "library",
      "version": "3.2.13"
    },
    {
      "bom-ref": "feedparser==6.0.12",
      "description": "Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Download-URL",
          "type": "distribution",
          "url": "https://pypi.python.org/pypi/feedparser"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/kurtmckee/feedparser"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-2-Clause"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "feedparser",
      "purl": "pkg:pypi/feedparser@6.0.12",
      "type": "library",
      "version": "6.0.12"
    },
    {
      "bom-ref": "feedship==1.7.3",
      "description": "A personal information delivery system - collect, subscribe to, and organize information sources from the internet",
      "name": "feedship",
      "purl": "pkg:pypi/feedship@1.7.3",
      "type": "library",
      "version": "1.7.3"
    },
    {
      "bom-ref": "filelock==3.25.2",
      "description": "A platform independent file lock.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://py-filelock.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/tox-dev/py-filelock/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/tox-dev/py-filelock"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/tox-dev/py-filelock"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "filelock",
      "purl": "pkg:pypi/filelock@3.25.2",
      "type": "library",
      "version": "3.25.2"
    },
    {
      "bom-ref": "fqdn==1.5.1",
      "description": "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/ypcrts/fqdn"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)"
          }
        }
      ],
      "name": "fqdn",
      "purl": "pkg:pypi/fqdn@1.5.1",
      "type": "library",
      "version": "1.5.1"
    },
    {
      "bom-ref": "h11==0.16.0",
      "description": "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/python-hyper/h11"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "h11",
      "purl": "pkg:pypi/h11@0.16.0",
      "type": "library",
      "version": "0.16.0"
    },
    {
      "bom-ref": "htmldate==1.9.4",
      "description": "Fast and robust extraction of original and updated publication dates from URLs and web pages.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/adbar/htmldate/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Blog",
          "type": "other",
          "url": "https://adrien.barbaresi.eu/blog/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/adbar/htmldate"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://htmldate.readthedocs.io"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "htmldate",
      "properties": [
        {
          "name": "cdx:python:package:required-extra",
          "value": "speed"
        }
      ],
      "purl": "pkg:pypi/htmldate@1.9.4",
      "type": "library",
      "version": "1.9.4"
    },
    {
      "bom-ref": "httpcore==1.0.9",
      "description": "A minimal low-level HTTP client.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://www.encode.io/httpcore"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/encode/httpcore"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://www.encode.io/httpcore/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "httpcore",
      "purl": "pkg:pypi/httpcore@1.0.9",
      "type": "library",
      "version": "1.0.9"
    },
    {
      "bom-ref": "httpx==0.28.1",
      "description": "The next generation HTTP client.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://www.python-httpx.org"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/encode/httpx"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/encode/httpx/blob/master/CHANGELOG.md"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/encode/httpx"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "httpx",
      "purl": "pkg:pypi/httpx@0.28.1",
      "type": "library",
      "version": "0.28.1"
    },
    {
      "bom-ref": "idna==3.11",
      "description": "Internationalized Domain Names in Applications (IDNA)",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Issue tracker",
          "type": "issue-tracker",
          "url": "https://github.com/kjd/idna/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/kjd/idna"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/kjd/idna/blob/master/HISTORY.rst"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "idna",
      "purl": "pkg:pypi/idna@3.11",
      "type": "library",
      "version": "3.11"
    },
    {
      "bom-ref": "isoduration==20.11.0",
      "description": "Operations with ISO 8601 durations",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Bug Reports",
          "type": "issue-tracker",
          "url": "https://github.com/bolsote/isoduration/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/bolsote/isoduration/blob/master/CHANGELOG"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/bolsote/isoduration"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/bolsote/isoduration"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "ISC"
          }
        }
      ],
      "name": "isoduration",
      "purl": "pkg:pypi/isoduration@20.11.0",
      "type": "library",
      "version": "20.11.0"
    },
    {
      "bom-ref": "joblib==1.5.3",
      "description": "Lightweight pipelining with Python functions",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/joblib/joblib"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://joblib.readthedocs.io"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "joblib",
      "purl": "pkg:pypi/joblib@1.5.3",
      "type": "library",
      "version": "1.5.3"
    },
    {
      "bom-ref": "jsonpointer==3.1.1",
      "description": "Identify specific nodes in a JSON document (RFC 6901) ",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/stefankoegl/python-json-pointer"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "jsonpointer",
      "purl": "pkg:pypi/jsonpointer@3.1.1",
      "type": "library",
      "version": "3.1.1"
    },
    {
      "bom-ref": "jsonschema==4.26.0",
      "description": "An implementation of JSON Schema validation for Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://python-jsonschema.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/python-jsonschema/jsonschema/issues/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/python-jsonschema/jsonschema"
        },
        {
          "comment": "from packaging metadata Project-URL: Funding",
          "type": "other",
          "url": "https://github.com/sponsors/Julian"
        },
        {
          "comment": "from packaging metadata Project-URL: Tidelift",
          "type": "other",
          "url": "https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/python-jsonschema/jsonschema"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "jsonschema",
      "properties": [
        {
          "name": "cdx:python:package:required-extra",
          "value": "format-nongpl"
        }
      ],
      "purl": "pkg:pypi/jsonschema@4.26.0",
      "type": "library",
      "version": "4.26.0"
    },
    {
      "bom-ref": "jsonschema-specifications==2025.9.1",
      "description": "The JSON Schema meta-schemas and vocabularies, exposed as a Registry",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://jsonschema-specifications.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/python-jsonschema/jsonschema-specifications/issues/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/python-jsonschema/jsonschema-specifications"
        },
        {
          "comment": "from packaging metadata Project-URL: Funding",
          "type": "other",
          "url": "https://github.com/sponsors/Julian"
        },
        {
          "comment": "from packaging metadata Project-URL: Tidelift",
          "type": "other",
          "url": "https://tidelift.com/subscription/pkg/pypi-jsonschema-specifications?utm_source=pypi-jsonschema-specifications&utm_medium=referral&utm_campaign=pypi-link"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/python-jsonschema/jsonschema-specifications"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "jsonschema-specifications",
      "purl": "pkg:pypi/jsonschema-specifications@2025.9.1",
      "type": "library",
      "version": "2025.9.1"
    },
    {
      "bom-ref": "jusText==3.0.2",
      "description": "Heuristic based boilerplate removal tool",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/miso-belica/jusText"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "jusText",
      "purl": "pkg:pypi/justext@3.0.2",
      "type": "library",
      "version": "3.0.2"
    },
    {
      "bom-ref": "lark==1.3.1",
      "description": "a modern parsing library",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Download",
          "type": "distribution",
          "url": "https://github.com/lark-parser/lark/tarball/master"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/lark-parser/lark"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "lark",
      "purl": "pkg:pypi/lark@1.3.1",
      "type": "library",
      "version": "1.3.1"
    },
    {
      "bom-ref": "license-expression==30.4.4",
      "description": "license-expression is a comprehensive utility library to parse, compare, simplify and normalize license expressions (such as SPDX license expressions) using boolean logic.",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/aboutcode-org/license-expression"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        }
      ],
      "name": "license-expression",
      "purl": "pkg:pypi/license-expression@30.4.4",
      "type": "library",
      "version": "30.4.4"
    },
    {
      "bom-ref": "lxml==6.0.2",
      "description": "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://bugs.launchpad.net/lxml"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/lxml/lxml"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://lxml.de/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "lxml",
      "properties": [
        {
          "name": "cdx:python:package:required-extra",
          "value": "html-clean"
        }
      ],
      "purl": "pkg:pypi/lxml@6.0.2",
      "type": "library",
      "version": "6.0.2"
    },
    {
      "bom-ref": "lxml_html_clean==0.4.4",
      "description": "HTML cleaner from lxml project",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://lxml-html-clean.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/fedora-python/lxml_html_clean/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "lxml_html_clean",
      "purl": "pkg:pypi/lxml-html-clean@0.4.4",
      "type": "library",
      "version": "0.4.4"
    },
    {
      "bom-ref": "markdown-it-py==4.0.0",
      "description": "Python port of markdown-it. Markdown parsing, done right!",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://markdown-it-py.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/executablebooks/markdown-it-py"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "markdown-it-py",
      "purl": "pkg:pypi/markdown-it-py@4.0.0",
      "type": "library",
      "version": "4.0.0"
    },
    {
      "bom-ref": "mdurl==0.1.2",
      "description": "Markdown URL utilities",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/executablebooks/mdurl"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "mdurl",
      "purl": "pkg:pypi/mdurl@0.1.2",
      "type": "library",
      "version": "0.1.2"
    },
    {
      "bom-ref": "msgpack==1.1.2",
      "description": "MessagePack serializer",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://msgpack-python.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/msgpack/msgpack-python/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/msgpack/msgpack-python/blob/main/ChangeLog.rst"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/msgpack/msgpack-python/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://msgpack.org/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        }
      ],
      "name": "msgpack",
      "purl": "pkg:pypi/msgpack@1.1.2",
      "type": "library",
      "version": "1.1.2"
    },
    {
      "bom-ref": "msgspec==0.20.0",
      "description": "A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Issue Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/jcrist/msgspec/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/jcrist/msgspec"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://jcristharif.com/msgspec/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "msgspec",
      "purl": "pkg:pypi/msgspec@0.20.0",
      "type": "library",
      "version": "0.20.0"
    },
    {
      "bom-ref": "nanoid==2.0.0",
      "description": "A tiny, secure, URL-friendly, unique string ID generator for Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/puyuan/py-nanoid"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "nanoid",
      "purl": "pkg:pypi/nanoid@2.0.0",
      "type": "library",
      "version": "2.0.0"
    },
    {
      "bom-ref": "numpy==1.26.4",
      "description": "Fundamental package for array computing in Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Download",
          "type": "distribution",
          "url": "https://pypi.org/project/numpy/#files"
        },
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://numpy.org/doc/"
        },
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/numpy/numpy/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/numpy/numpy"
        },
        {
          "comment": "from packaging metadata Project-URL: Release notes",
          "type": "other",
          "url": "https://numpy.org/doc/stable/release"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://numpy.org"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://numpy.org"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "numpy",
      "purl": "pkg:pypi/numpy@1.26.4",
      "type": "library",
      "version": "1.26.4"
    },
    {
      "bom-ref": "orjson==3.11.8",
      "description": "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: documentation",
          "type": "documentation",
          "url": "https://github.com/ijl/orjson"
        },
        {
          "comment": "from packaging metadata Project-URL: source",
          "type": "other",
          "url": "https://github.com/ijl/orjson"
        },
        {
          "comment": "from packaging metadata Project-URL: changelog",
          "type": "release-notes",
          "url": "https://github.com/ijl/orjson/blob/master/CHANGELOG.md"
        }
      ],
      "licenses": [
        {
          "acknowledgement": "declared",
          "expression": "MPL-2.0 AND (Apache-2.0 OR MIT)"
        }
      ],
      "name": "orjson",
      "purl": "pkg:pypi/orjson@3.11.8",
      "type": "library",
      "version": "3.11.8"
    },
    {
      "bom-ref": "packageurl-python==0.17.6",
      "description": "A purl aka. Package URL parser and builder",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/package-url/packageurl-python"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "packageurl-python",
      "purl": "pkg:pypi/packageurl-python@0.17.6",
      "type": "library",
      "version": "0.17.6"
    },
    {
      "bom-ref": "packaging==26.0",
      "description": "Core utilities for Python packages",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://packaging.pypa.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/pypa/packaging"
        }
      ],
      "licenses": [
        {
          "acknowledgement": "declared",
          "expression": "Apache-2.0 OR BSD-2-Clause"
        }
      ],
      "name": "packaging",
      "purl": "pkg:pypi/packaging@26.0",
      "type": "library",
      "version": "26.0"
    },
    {
      "bom-ref": "pip==25.0.1",
      "description": "The PyPA recommended tool for installing Python packages.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://pip.pypa.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/pypa/pip"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://pip.pypa.io/en/stable/news/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://pip.pypa.io/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "pip",
      "purl": "pkg:pypi/pip@25.0.1",
      "type": "library",
      "version": "25.0.1"
    },
    {
      "bom-ref": "pip-api==0.0.34",
      "description": "An unofficial, importable pip API",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "http://github.com/di/pip-api"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "pip-api",
      "purl": "pkg:pypi/pip-api@0.0.34",
      "type": "library",
      "version": "0.0.34"
    },
    {
      "bom-ref": "pip-requirements-parser==32.0.1",
      "description": "pip requirements parser - a mostly correct pip requirements parsing library because it uses pip's own code.",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/nexB/pip-requirements-parser"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "pip-requirements-parser",
      "purl": "pkg:pypi/pip-requirements-parser@32.0.1",
      "type": "library",
      "version": "32.0.1"
    },
    {
      "bom-ref": "pip_audit==2.10.0",
      "description": "A tool for scanning Python environments for known vulnerabilities",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/pypa/pip-audit/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/pypa/pip-audit"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://pypi.org/project/pip-audit/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "pip_audit",
      "purl": "pkg:pypi/pip-audit@2.10.0",
      "type": "library",
      "version": "2.10.0"
    },
    {
      "bom-ref": "platformdirs==4.9.4",
      "description": "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://platformdirs.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/tox-dev/platformdirs/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/tox-dev/platformdirs"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://platformdirs.readthedocs.io/en/latest/changelog.html"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/tox-dev/platformdirs"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "platformdirs",
      "purl": "pkg:pypi/platformdirs@4.9.4",
      "type": "library",
      "version": "4.9.4"
    },
    {
      "bom-ref": "prompt_toolkit==3.0.52",
      "description": "Library for building powerful interactive command lines in Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://python-prompt-toolkit.readthedocs.io/en/stable/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/prompt-toolkit/python-prompt-toolkit"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "prompt_toolkit",
      "purl": "pkg:pypi/prompt-toolkit@3.0.52",
      "type": "library",
      "version": "3.0.52"
    },
    {
      "bom-ref": "psutil==7.2.2",
      "description": "Cross-platform lib for process and system monitoring.",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/giampaolo/psutil"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "psutil",
      "purl": "pkg:pypi/psutil@7.2.2",
      "type": "library",
      "version": "7.2.2"
    },
    {
      "bom-ref": "py-serializable==2.1.0",
      "description": "Library for serializing and deserializing Python Objects to and from JSON and XML.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://py-serializable.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/madpah/serializable/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/madpah/serializable"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/madpah/serializable#readme"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "py-serializable",
      "purl": "pkg:pypi/py-serializable@2.1.0",
      "type": "library",
      "version": "2.1.0"
    },
    {
      "bom-ref": "pycparser==3.0",
      "description": "C parser in Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/eliben/pycparser"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "pycparser",
      "purl": "pkg:pypi/pycparser@3.0",
      "type": "library",
      "version": "3.0"
    },
    {
      "bom-ref": "pyparsing==3.3.2",
      "description": "pyparsing - Classes and methods to define and execute parsing grammars",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://pyparsing-docs.readthedocs.io/en/latest/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/pyparsing/pyparsing.git"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/pyparsing/pyparsing/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "pyparsing",
      "purl": "pkg:pypi/pyparsing@3.3.2",
      "type": "library",
      "version": "3.3.2"
    },
    {
      "bom-ref": "python-dateutil==2.9.0.post0",
      "description": "Extensions to the standard Python datetime module",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://dateutil.readthedocs.io/en/stable/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/dateutil/dateutil"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/dateutil/dateutil"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "python-dateutil",
      "purl": "pkg:pypi/python-dateutil@2.9.0.post0",
      "type": "library",
      "version": "2.9.0.post0"
    },
    {
      "bom-ref": "pytz==2026.1.post1",
      "description": "World timezone definitions, modern and historical",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Download-URL",
          "type": "distribution",
          "url": "https://pypi.org/project/pytz/"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "http://pythonhosted.org/pytz"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "pytz",
      "purl": "pkg:pypi/pytz@2026.1.post1",
      "type": "library",
      "version": "2026.1.post1"
    },
    {
      "bom-ref": "questionary==2.1.1",
      "description": "Python library to build pretty command line user prompts \u2b50\ufe0f",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://questionary.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/tmbo/questionary"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "questionary",
      "purl": "pkg:pypi/questionary@2.1.1",
      "type": "library",
      "version": "2.1.1"
    },
    {
      "bom-ref": "referencing==0.37.0",
      "description": "JSON Referencing + Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://referencing.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/python-jsonschema/referencing/issues/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/python-jsonschema/referencing"
        },
        {
          "comment": "from packaging metadata Project-URL: Funding",
          "type": "other",
          "url": "https://github.com/sponsors/Julian"
        },
        {
          "comment": "from packaging metadata Project-URL: Tidelift",
          "type": "other",
          "url": "https://tidelift.com/subscription/pkg/pypi-referencing?utm_source=pypi-referencing&utm_medium=referral&utm_campaign=pypi-link"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://referencing.readthedocs.io/en/stable/changes/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/python-jsonschema/referencing"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "referencing",
      "purl": "pkg:pypi/referencing@0.37.0",
      "type": "library",
      "version": "0.37.0"
    },
    {
      "bom-ref": "regex==2026.4.4",
      "description": "Alternative regular expression module, to replace re.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/mrabarnett/mrab-regex"
        }
      ],
      "licenses": [
        {
          "acknowledgement": "declared",
          "expression": "Apache-2.0 AND CNRI-Python"
        }
      ],
      "name": "regex",
      "purl": "pkg:pypi/regex@2026.4.4",
      "type": "library",
      "version": "2026.4.4"
    },
    {
      "bom-ref": "requests==2.33.1",
      "description": "Python HTTP for Humans.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://requests.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/psf/requests"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "requests",
      "purl": "pkg:pypi/requests@2.33.1",
      "type": "library",
      "version": "2.33.1"
    },
    {
      "bom-ref": "rfc3339-validator==0.1.4",
      "description": "A pure python RFC3339 validator",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/naimetti/rfc3339-validator"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "rfc3339-validator",
      "purl": "pkg:pypi/rfc3339-validator@0.1.4",
      "type": "library",
      "version": "0.1.4"
    },
    {
      "bom-ref": "rfc3986-validator==0.1.1",
      "description": "Pure python rfc3986 validator",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/naimetti/rfc3986-validator"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "rfc3986-validator",
      "purl": "pkg:pypi/rfc3986-validator@0.1.1",
      "type": "library",
      "version": "0.1.1"
    },
    {
      "bom-ref": "rfc3987-syntax==1.1.0",
      "description": "Helper functions to syntactically validate strings according to RFC 3987.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://github.com/willynilly/rfc3987-syntax#readme"
        },
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/willynilly/rfc3987-syntax/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/willynilly/rfc3987-syntax"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/willynilly/rfc3987-syntax"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "rfc3987-syntax",
      "purl": "pkg:pypi/rfc3987-syntax@1.1.0",
      "type": "library",
      "version": "1.1.0"
    },
    {
      "bom-ref": "rich==14.3.3",
      "description": "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://rich.readthedocs.io/en/latest/"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/Textualize/rich"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "rich",
      "purl": "pkg:pypi/rich@14.3.3",
      "type": "library",
      "version": "14.3.3"
    },
    {
      "bom-ref": "robotexclusionrulesparser==1.7.1",
      "description": "A robots.txt parser alternative to Python's robotparser module",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Download-URL",
          "type": "distribution",
          "url": "http://nikitathespider.com/python/rerp/robotexclusionrulesparser-1.7.1.tar.gz"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "http://nikitathespider.com/python/rerp/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "robotexclusionrulesparser",
      "purl": "pkg:pypi/robotexclusionrulesparser@1.7.1",
      "type": "library",
      "version": "1.7.1"
    },
    {
      "bom-ref": "rpds-py==0.30.0",
      "description": "Python bindings to Rust's persistent data structures (rpds)",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://rpds.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Issues",
          "type": "issue-tracker",
          "url": "https://github.com/crate-py/rpds/issues/"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/crate-py/rpds"
        },
        {
          "comment": "from packaging metadata Project-URL: Upstream",
          "type": "other",
          "url": "https://github.com/orium/rpds"
        },
        {
          "comment": "from packaging metadata Project-URL: Funding",
          "type": "other",
          "url": "https://github.com/sponsors/Julian"
        },
        {
          "comment": "from packaging metadata Project-URL: Tidelift",
          "type": "other",
          "url": "https://tidelift.com/subscription/pkg/pypi-rpds-py?utm_source=pypi-rpds-py&utm_medium=referral&utm_campaign=pypi-link"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/crate-py/rpds"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "rpds-py",
      "purl": "pkg:pypi/rpds-py@0.30.0",
      "type": "library",
      "version": "0.30.0"
    },
    {
      "bom-ref": "scikit-learn==1.8.0",
      "description": "A set of python modules for machine learning and data mining",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: download",
          "type": "distribution",
          "url": "https://pypi.org/project/scikit-learn/#files"
        },
        {
          "comment": "from packaging metadata Project-URL: tracker",
          "type": "issue-tracker",
          "url": "https://github.com/scikit-learn/scikit-learn/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: source",
          "type": "other",
          "url": "https://github.com/scikit-learn/scikit-learn"
        },
        {
          "comment": "from packaging metadata Project-URL: release notes",
          "type": "other",
          "url": "https://scikit-learn.org/stable/whats_new"
        },
        {
          "comment": "from packaging metadata Project-URL: homepage",
          "type": "website",
          "url": "https://scikit-learn.org"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "scikit-learn",
      "purl": "pkg:pypi/scikit-learn@1.8.0",
      "type": "library",
      "version": "1.8.0"
    },
    {
      "bom-ref": "scipy==1.17.1",
      "description": "Fundamental algorithms for scientific computing in Python",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: download",
          "type": "distribution",
          "url": "https://github.com/scipy/scipy/releases"
        },
        {
          "comment": "from packaging metadata Project-URL: documentation",
          "type": "documentation",
          "url": "https://docs.scipy.org/doc/scipy/"
        },
        {
          "comment": "from packaging metadata Project-URL: tracker",
          "type": "issue-tracker",
          "url": "https://github.com/scipy/scipy/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: source",
          "type": "other",
          "url": "https://github.com/scipy/scipy"
        },
        {
          "comment": "from packaging metadata Project-URL: homepage",
          "type": "website",
          "url": "https://scipy.org/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "scipy",
      "purl": "pkg:pypi/scipy@1.17.1",
      "type": "library",
      "version": "1.17.1"
    },
    {
      "bom-ref": "scrapling==0.4.4",
      "description": "Scrapling is an undetectable, powerful, flexible, high-performance Python library that makes Web Scraping easy and effortless as it should be!",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://scrapling.readthedocs.io/en/latest/"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/D4Vinci/Scrapling/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Discord",
          "type": "other",
          "url": "https://discord.gg/EMgGbDceNQ"
        },
        {
          "comment": "from packaging metadata Project-URL: Release Notes",
          "type": "other",
          "url": "https://github.com/D4Vinci/Scrapling/releases"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/D4Vinci/Scrapling/releases"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/D4Vinci/Scrapling"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/D4Vinci/Scrapling"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/D4Vinci/Scrapling"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "scrapling",
      "purl": "pkg:pypi/scrapling@0.4.4",
      "type": "library",
      "version": "0.4.4"
    },
    {
      "bom-ref": "sgmllib3k==1.0.0",
      "description": "Py3k port of sgmllib.",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "http://hg.hardcoded.net/sgmllib"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "sgmllib3k",
      "purl": "pkg:pypi/sgmllib3k@1.0.0",
      "type": "library",
      "version": "1.0.0"
    },
    {
      "bom-ref": "six==1.17.0",
      "description": "Python 2 and 3 compatibility utilities",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/benjaminp/six"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "six",
      "purl": "pkg:pypi/six@1.17.0",
      "type": "library",
      "version": "1.17.0"
    },
    {
      "bom-ref": "sortedcontainers==2.4.0",
      "description": "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "http://www.grantjenks.com/docs/sortedcontainers/"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "sortedcontainers",
      "purl": "pkg:pypi/sortedcontainers@2.4.0",
      "type": "library",
      "version": "2.4.0"
    },
    {
      "bom-ref": "soupsieve==2.8.3",
      "description": "A modern CSS selector implementation for Beautiful Soup.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/facelessuser/soupsieve"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "soupsieve",
      "purl": "pkg:pypi/soupsieve@2.8.3",
      "type": "library",
      "version": "2.8.3"
    },
    {
      "bom-ref": "stevedore==5.7.0",
      "description": "Manage dynamic plugins for Python applications",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://opendev.org/openstack/stevedore"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://docs.openstack.org/stevedore"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "stevedore",
      "purl": "pkg:pypi/stevedore@5.7.0",
      "type": "library",
      "version": "5.7.0"
    },
    {
      "bom-ref": "tavily-python==0.7.23",
      "description": "Python wrapper for the Tavily API",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/tavily-ai/tavily-python"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "tavily-python",
      "purl": "pkg:pypi/tavily-python@0.7.23",
      "type": "library",
      "version": "0.7.23"
    },
    {
      "bom-ref": "threadpoolctl==3.6.0",
      "description": "threadpoolctl",
      "externalReferences": [
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/joblib/threadpoolctl"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "threadpoolctl",
      "purl": "pkg:pypi/threadpoolctl@3.6.0",
      "type": "library",
      "version": "3.6.0"
    },
    {
      "bom-ref": "tiktoken==0.12.0",
      "description": "tiktoken is a fast BPE tokeniser for use with OpenAI's models",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: changelog",
          "type": "release-notes",
          "url": "https://github.com/openai/tiktoken/blob/main/CHANGELOG.md"
        },
        {
          "comment": "from packaging metadata Project-URL: repository",
          "type": "vcs",
          "url": "https://github.com/openai/tiktoken"
        },
        {
          "comment": "from packaging metadata Project-URL: homepage",
          "type": "website",
          "url": "https://github.com/openai/tiktoken"
        }
      ],
      "name": "tiktoken",
      "purl": "pkg:pypi/tiktoken@0.12.0",
      "type": "library",
      "version": "0.12.0"
    },
    {
      "bom-ref": "tld==0.13.2",
      "description": "Extract the top-level domain (TLD) from the URL given.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://tld.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/barseghyanartur/tld/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source Code",
          "type": "other",
          "url": "https://github.com/barseghyanartur/tld/"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://tld.readthedocs.io/en/latest/changelog.html"
        }
      ],
      "licenses": [
        {
          "acknowledgement": "declared",
          "expression": "MPL-1.1 OR GPL-2.0-only OR LGPL-2.1-or-later"
        }
      ],
      "name": "tld",
      "purl": "pkg:pypi/tld@0.13.2",
      "type": "library",
      "version": "0.13.2"
    },
    {
      "bom-ref": "tomli==2.4.1",
      "description": "A lil' TOML parser",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/hukkin/tomli/blob/master/CHANGELOG.md"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/hukkin/tomli"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "tomli",
      "purl": "pkg:pypi/tomli@2.4.1",
      "type": "library",
      "version": "2.4.1"
    },
    {
      "bom-ref": "tomli_w==1.2.0",
      "description": "A lil' TOML writer",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/hukkin/tomli-w/blob/master/CHANGELOG.md"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/hukkin/tomli-w"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "tomli_w",
      "purl": "pkg:pypi/tomli-w@1.2.0",
      "type": "library",
      "version": "1.2.0"
    },
    {
      "bom-ref": "trafilatura==2.0.0",
      "description": "Python & Command-line tool to gather text and metadata on the Web: Crawling, scraping, extraction, output as CSV, JSON, HTML, MD, TXT, XML.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/adbar/trafilatura/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Blog",
          "type": "other",
          "url": "https://adrien.barbaresi.eu/blog/tag/trafilatura.html"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/adbar/trafilatura"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://trafilatura.readthedocs.io"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "trafilatura",
      "purl": "pkg:pypi/trafilatura@2.0.0",
      "type": "library",
      "version": "2.0.0"
    },
    {
      "bom-ref": "typing_extensions==4.15.0",
      "description": "Backported and Experimental Type Hints for Python 3.9+",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://typing-extensions.readthedocs.io/"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/python/typing_extensions/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Q & A",
          "type": "other",
          "url": "https://github.com/python/typing/discussions"
        },
        {
          "comment": "from packaging metadata Project-URL: Changes",
          "type": "release-notes",
          "url": "https://github.com/python/typing_extensions/blob/main/CHANGELOG.md"
        },
        {
          "comment": "from packaging metadata Project-URL: Repository",
          "type": "vcs",
          "url": "https://github.com/python/typing_extensions"
        },
        {
          "comment": "from packaging metadata Project-URL: Home",
          "type": "website",
          "url": "https://github.com/python/typing_extensions"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "PSF-2.0"
          }
        }
      ],
      "name": "typing_extensions",
      "purl": "pkg:pypi/typing-extensions@4.15.0",
      "type": "library",
      "version": "4.15.0"
    },
    {
      "bom-ref": "tzdata==2026.1",
      "description": "Provider of IANA time zone data",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://tzdata.python.org"
        },
        {
          "comment": "from packaging metadata Project-URL: Bug Reports",
          "type": "issue-tracker",
          "url": "https://github.com/python/tzdata/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/python/tzdata"
        },
        {
          "comment": "from packaging metadata: Home-page",
          "type": "website",
          "url": "https://github.com/python/tzdata"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "Apache-2.0"
          }
        }
      ],
      "name": "tzdata",
      "purl": "pkg:pypi/tzdata@2026.1",
      "type": "library",
      "version": "2026.1"
    },
    {
      "bom-ref": "tzlocal==5.3.1",
      "description": "tzinfo object for the local timezone",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Issue tracker",
          "type": "issue-tracker",
          "url": "https://github.com/regebro/tzlocal/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source code",
          "type": "other",
          "url": "https://github.com/regebro/tzlocal"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/regebro/tzlocal/blob/master/CHANGES.txt"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "tzlocal",
      "purl": "pkg:pypi/tzlocal@5.3.1",
      "type": "library",
      "version": "5.3.1"
    },
    {
      "bom-ref": "uri-template==1.3.0",
      "description": "RFC 6570 URI Template Processor",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: homepage",
          "type": "website",
          "url": "https://gitlab.linss.com/open-source/python/uri-template"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "uri-template",
      "purl": "pkg:pypi/uri-template@1.3.0",
      "type": "library",
      "version": "1.3.0"
    },
    {
      "bom-ref": "urllib3==2.6.3",
      "description": "HTTP library with thread-safe connection pooling, file post, and more.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://urllib3.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Issue tracker",
          "type": "issue-tracker",
          "url": "https://github.com/urllib3/urllib3/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Code",
          "type": "other",
          "url": "https://github.com/urllib3/urllib3"
        },
        {
          "comment": "from packaging metadata Project-URL: Changelog",
          "type": "release-notes",
          "url": "https://github.com/urllib3/urllib3/blob/main/CHANGES.rst"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "urllib3",
      "properties": [
        {
          "name": "cdx:python:package:required-extra",
          "value": "brotli"
        },
        {
          "name": "cdx:python:package:required-extra",
          "value": "socks"
        }
      ],
      "purl": "pkg:pypi/urllib3@2.6.3",
      "type": "library",
      "version": "2.6.3"
    },
    {
      "bom-ref": "uvloop==0.22.1",
      "description": "Fast implementation of asyncio event loop on top of libuv",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: github",
          "type": "vcs",
          "url": "https://github.com/MagicStack/uvloop"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: Apache Software License"
          }
        }
      ],
      "name": "uvloop",
      "purl": "pkg:pypi/uvloop@0.22.1",
      "type": "library",
      "version": "0.22.1"
    },
    {
      "bom-ref": "w3lib==2.4.1",
      "description": "Library of web-related functions",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://w3lib.readthedocs.io/en/latest/"
        },
        {
          "comment": "from packaging metadata Project-URL: Tracker",
          "type": "issue-tracker",
          "url": "https://github.com/scrapy/w3lib/issues"
        },
        {
          "comment": "from packaging metadata Project-URL: Source",
          "type": "other",
          "url": "https://github.com/scrapy/w3lib"
        },
        {
          "comment": "from packaging metadata Project-URL: Release notes",
          "type": "other",
          "url": "https://w3lib.readthedocs.io/en/latest/#changelog"
        },
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/scrapy/w3lib"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        }
      ],
      "name": "w3lib",
      "purl": "pkg:pypi/w3lib@2.4.1",
      "type": "library",
      "version": "2.4.1"
    },
    {
      "bom-ref": "wcwidth==0.6.0",
      "description": "Measures the displayed width of unicode strings in a terminal",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Homepage",
          "type": "website",
          "url": "https://github.com/jquast/wcwidth"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "MIT"
          }
        }
      ],
      "name": "wcwidth",
      "purl": "pkg:pypi/wcwidth@0.6.0",
      "type": "library",
      "version": "0.6.0"
    },
    {
      "bom-ref": "webcolors==25.10.0",
      "description": "A library for working with the color formats defined by HTML and CSS.",
      "externalReferences": [
        {
          "comment": "from packaging metadata Project-URL: Documentation",
          "type": "documentation",
          "url": "https://webcolors.readthedocs.io"
        },
        {
          "comment": "from packaging metadata Project-URL: Source Code",
          "type": "other",
          "url": "https://github.com/ubernostrum/webcolors"
        }
      ],
      "licenses": [
        {
          "license": {
            "acknowledgement": "declared",
            "id": "BSD-3-Clause"
          }
        },
        {
          "license": {
            "acknowledgement": "declared",
            "name": "License :: OSI Approved :: BSD License"
          }
        }
      ],
      "name": "webcolors",
      "purl": "pkg:pypi/webcolors@25.10.0",
      "type": "library",
      "version": "25.10.0"
    }
  ],
  "dependencies": [
    {
      "dependsOn": [
        "filelock==3.25.2",
        "msgpack==1.1.2",
        "requests==2.33.1"
      ],
      "ref": "CacheControl==0.14.4"
    },
    {
      "dependsOn": [
        "PyJWT==2.12.1",
        "PyNaCl==1.6.2",
        "requests==2.33.1",
        "typing_extensions==4.15.0",
        "urllib3==2.6.3"
      ],
      "ref": "PyGithub==2.9.0"
    },
    {
      "dependsOn": [
        "cryptography==46.0.6",
        "typing_extensions==4.15.0"
      ],
      "ref": "PyJWT==2.12.1"
    },
    {
      "dependsOn": [
        "cffi==2.0.0"
      ],
      "ref": "PyNaCl==1.6.2"
    },
    {
      "ref": "PyYAML==6.0.3"
    },
    {
      "ref": "Pygments==2.20.0"
    },
    {
      "dependsOn": [
        "idna==3.11",
        "typing_extensions==4.15.0"
      ],
      "ref": "anyio==4.13.0"
    },
    {
      "dependsOn": [
        "dateparser==1.4.0",
        "python-dateutil==2.9.0.post0",
        "pytz==2026.1.post1",
        "tzdata==2026.1"
      ],
      "ref": "arrow==1.4.0"
    },
    {
      "ref": "attrs==26.1.0"
    },
    {
      "dependsOn": [
        "pytz==2026.1.post1",
        "tzdata==2026.1"
      ],
      "ref": "babel==2.18.0"
    },
    {
      "dependsOn": [
        "PyYAML==6.0.3",
        "beautifulsoup4==4.14.3",
        "rich==14.3.3",
        "stevedore==5.7.0",
        "tomli==2.4.1"
      ],
      "ref": "bandit==1.9.4"
    },
    {
      "dependsOn": [
        "chardet==5.2.0",
        "charset-normalizer==3.4.7",
        "lxml==6.0.2",
        "soupsieve==2.8.3",
        "typing_extensions==4.15.0"
      ],
      "ref": "beautifulsoup4==4.14.3"
    },
    {
      "ref": "boolean.py==5.0"
    },
    {
      "ref": "cachetools==7.0.5"
    },
    {
      "ref": "certifi==2026.2.25"
    },
    {
      "dependsOn": [
        "pycparser==3.0"
      ],
      "ref": "cffi==2.0.0"
    },
    {
      "ref": "chardet==5.2.0"
    },
    {
      "ref": "charset-normalizer==3.4.7"
    },
    {
      "ref": "click==8.3.2"
    },
    {
      "dependsOn": [
        "babel==2.18.0",
        "tld==0.13.2",
        "urllib3==2.6.3"
      ],
      "ref": "courlan==1.3.2"
    },
    {
      "dependsOn": [
        "certifi==2026.2.25",
        "cffi==2.0.0",
        "click==8.3.2",
        "typing_extensions==4.15.0"
      ],
      "ref": "cryptography==46.0.6"
    },
    {
      "ref": "cssselect==1.4.0"
    },
    {
      "dependsOn": [
        "chardet==5.2.0",
        "cyclonedx-python-lib==11.7.0",
        "packageurl-python==0.17.6",
        "packaging==26.0",
        "pip-requirements-parser==32.0.1",
        "tomli==2.4.1"
      ],
      "ref": "cyclonedx-bom==7.3.0"
    },
    {
      "dependsOn": [
        "cyclonedx-bom==7.3.0"
      ],
      "ref": "cyclonedx-py==1.0.1"
    },
    {
      "dependsOn": [
        "jsonschema==4.26.0",
        "license-expression==30.4.4",
        "lxml==6.0.2",
        "packageurl-python==0.17.6",
        "py-serializable==2.1.0",
        "referencing==0.37.0",
        "sortedcontainers==2.4.0",
        "typing_extensions==4.15.0"
      ],
      "ref": "cyclonedx-python-lib==11.7.0"
    },
    {
      "dependsOn": [
        "numpy==1.26.4",
        "python-dateutil==2.9.0.post0",
        "pytz==2026.1.post1",
        "regex==2026.4.4",
        "tzlocal==5.3.1"
      ],
      "ref": "dateparser==1.4.0"
    },
    {
      "ref": "defusedxml==0.7.1"
    },
    {
      "ref": "dynaconf==3.2.13"
    },
    {
      "dependsOn": [
        "sgmllib3k==1.0.0"
      ],
      "ref": "feedparser==6.0.12"
    },
    {
      "dependsOn": [
        "PyGithub==2.9.0",
        "PyYAML==6.0.3",
        "beautifulsoup4==4.14.3",
        "cachetools==7.0.5",
        "click==8.3.2",
        "dynaconf==3.2.13",
        "feedparser==6.0.12",
        "httpx==0.28.1",
        "lxml==6.0.2",
        "msgspec==0.20.0",
        "nanoid==2.0.0",
        "numpy==1.26.4",
        "platformdirs==4.9.4",
        "psutil==7.2.2",
        "questionary==2.1.1",
        "rich==14.3.3",
        "robotexclusionrulesparser==1.7.1",
        "scikit-learn==1.8.0",
        "scrapling==0.4.4",
        "tavily-python==0.7.23",
        "trafilatura==2.0.0",
        "uvloop==0.22.1"
      ],
      "ref": "feedship==1.7.3"
    },
    {
      "ref": "filelock==3.25.2"
    },
    {
      "ref": "fqdn==1.5.1"
    },
    {
      "ref": "h11==0.16.0"
    },
    {
      "dependsOn": [
        "charset-normalizer==3.4.7",
        "dateparser==1.4.0",
        "lxml==6.0.2",
        "python-dateutil==2.9.0.post0",
        "urllib3==2.6.3"
      ],
      "ref": "htmldate==1.9.4"
    },
    {
      "dependsOn": [
        "anyio==4.13.0",
        "certifi==2026.2.25",
        "h11==0.16.0"
      ],
      "ref": "httpcore==1.0.9"
    },
    {
      "dependsOn": [
        "Pygments==2.20.0",
        "anyio==4.13.0",
        "certifi==2026.2.25",
        "click==8.3.2",
        "httpcore==1.0.9",
        "idna==3.11",
        "rich==14.3.3"
      ],
      "ref": "httpx==0.28.1"
    },
    {
      "ref": "idna==3.11"
    },
    {
      "dependsOn": [
        "arrow==1.4.0"
      ],
      "ref": "isoduration==20.11.0"
    },
    {
      "ref": "joblib==1.5.3"
    },
    {
      "ref": "jsonpointer==3.1.1"
    },
    {
      "dependsOn": [
        "referencing==0.37.0"
      ],
      "ref": "jsonschema-specifications==2025.9.1"
    },
    {
      "dependsOn": [
        "attrs==26.1.0",
        "fqdn==1.5.1",
        "idna==3.11",
        "isoduration==20.11.0",
        "jsonpointer==3.1.1",
        "jsonschema-specifications==2025.9.1",
        "referencing==0.37.0",
        "rfc3339-validator==0.1.4",
        "rfc3986-validator==0.1.1",
        "rfc3987-syntax==1.1.0",
        "rpds-py==0.30.0",
        "uri-template==1.3.0",
        "webcolors==25.10.0"
      ],
      "ref": "jsonschema==4.26.0"
    },
    {
      "dependsOn": [
        "lxml==6.0.2"
      ],
      "ref": "jusText==3.0.2"
    },
    {
      "dependsOn": [
        "regex==2026.4.4"
      ],
      "ref": "lark==1.3.1"
    },
    {
      "dependsOn": [
        "boolean.py==5.0"
      ],
      "ref": "license-expression==30.4.4"
    },
    {
      "dependsOn": [
        "beautifulsoup4==4.14.3",
        "cssselect==1.4.0",
        "lxml_html_clean==0.4.4"
      ],
      "ref": "lxml==6.0.2"
    },
    {
      "dependsOn": [
        "lxml==6.0.2"
      ],
      "ref": "lxml_html_clean==0.4.4"
    },
    {
      "dependsOn": [
        "PyYAML==6.0.3",
        "mdurl==0.1.2",
        "psutil==7.2.2",
        "requests==2.33.1"
      ],
      "ref": "markdown-it-py==4.0.0"
    },
    {
      "ref": "mdurl==0.1.2"
    },
    {
      "ref": "msgpack==1.1.2"
    },
    {
      "dependsOn": [
        "PyYAML==6.0.3",
        "tomli==2.4.1",
        "tomli_w==1.2.0"
      ],
      "ref": "msgspec==0.20.0"
    },
    {
      "ref": "nanoid==2.0.0"
    },
    {
      "ref": "numpy==1.26.4"
    },
    {
      "ref": "orjson==3.11.8"
    },
    {
      "ref": "packageurl-python==0.17.6"
    },
    {
      "ref": "packaging==26.0"
    },
    {
      "dependsOn": [
        "pip==25.0.1"
      ],
      "ref": "pip-api==0.0.34"
    },
    {
      "dependsOn": [
        "packaging==26.0",
        "pyparsing==3.3.2"
      ],
      "ref": "pip-requirements-parser==32.0.1"
    },
    {
      "ref": "pip==25.0.1"
    },
    {
      "dependsOn": [
        "CacheControl==0.14.4",
        "cyclonedx-python-lib==11.7.0",
        "packaging==26.0",
        "pip-api==0.0.34",
        "pip-requirements-parser==32.0.1",
        "platformdirs==4.9.4",
        "requests==2.33.1",
        "rich==14.3.3",
        "tomli==2.4.1",
        "tomli_w==1.2.0"
      ],
      "ref": "pip_audit==2.10.0"
    },
    {
      "ref": "platformdirs==4.9.4"
    },
    {
      "dependsOn": [
        "wcwidth==0.6.0"
      ],
      "ref": "prompt_toolkit==3.0.52"
    },
    {
      "dependsOn": [
        "packaging==26.0",
        "requests==2.33.1"
      ],
      "ref": "psutil==7.2.2"
    },
    {
      "dependsOn": [
        "defusedxml==0.7.1"
      ],
      "ref": "py-serializable==2.1.0"
    },
    {
      "ref": "pycparser==3.0"
    },
    {
      "ref": "pyparsing==3.3.2"
    },
    {
      "dependsOn": [
        "six==1.17.0"
      ],
      "ref": "python-dateutil==2.9.0.post0"
    },
    {
      "ref": "pytz==2026.1.post1"
    },
    {
      "dependsOn": [
        "prompt_toolkit==3.0.52"
      ],
      "ref": "questionary==2.1.1"
    },
    {
      "dependsOn": [
        "attrs==26.1.0",
        "rpds-py==0.30.0",
        "typing_extensions==4.15.0"
      ],
      "ref": "referencing==0.37.0"
    },
    {
      "ref": "regex==2026.4.4"
    },
    {
      "dependsOn": [
        "certifi==2026.2.25",
        "chardet==5.2.0",
        "charset-normalizer==3.4.7",
        "idna==3.11",
        "urllib3==2.6.3"
      ],
      "ref": "requests==2.33.1"
    },
    {
      "dependsOn": [
        "six==1.17.0"
      ],
      "ref": "rfc3339-validator==0.1.4"
    },
    {
      "ref": "rfc3986-validator==0.1.1"
    },
    {
      "dependsOn": [
        "lark==1.3.1"
      ],
      "ref": "rfc3987-syntax==1.1.0"
    },
    {
      "dependsOn": [
        "Pygments==2.20.0",
        "markdown-it-py==4.0.0"
      ],
      "ref": "rich==14.3.3"
    },
    {
      "ref": "robotexclusionrulesparser==1.7.1"
    },
    {
      "ref": "rpds-py==0.30.0"
    },
    {
      "dependsOn": [
        "joblib==1.5.3",
        "numpy==1.26.4",
        "scipy==1.17.1",
        "threadpoolctl==3.6.0"
      ],
      "ref": "scikit-learn==1.8.0"
    },
    {
      "dependsOn": [
        "click==8.3.2",
        "numpy==1.26.4",
        "threadpoolctl==3.6.0",
        "typing_extensions==4.15.0"
      ],
      "ref": "scipy==1.17.1"
    },
    {
      "dependsOn": [
        "anyio==4.13.0",
        "click==8.3.2",
        "cssselect==1.4.0",
        "lxml==6.0.2",
        "msgspec==0.20.0",
        "orjson==3.11.8",
        "tld==0.13.2",
        "typing_extensions==4.15.0",
        "w3lib==2.4.1"
      ],
      "ref": "scrapling==0.4.4"
    },
    {
      "ref": "sgmllib3k==1.0.0"
    },
    {
      "ref": "six==1.17.0"
    },
    {
      "ref": "sortedcontainers==2.4.0"
    },
    {
      "ref": "soupsieve==2.8.3"
    },
    {
      "ref": "stevedore==5.7.0"
    },
    {
      "dependsOn": [
        "httpx==0.28.1",
        "requests==2.33.1",
        "tiktoken==0.12.0"
      ],
      "ref": "tavily-python==0.7.23"
    },
    {
      "ref": "threadpoolctl==3.6.0"
    },
    {
      "dependsOn": [
        "regex==2026.4.4",
        "requests==2.33.1"
      ],
      "ref": "tiktoken==0.12.0"
    },
    {
      "ref": "tld==0.13.2"
    },
    {
      "ref": "tomli==2.4.1"
    },
    {
      "ref": "tomli_w==1.2.0"
    },
    {
      "dependsOn": [
        "certifi==2026.2.25",
        "charset-normalizer==3.4.7",
        "courlan==1.3.2",
        "htmldate==1.9.4",
        "jusText==3.0.2",
        "lxml==6.0.2",
        "urllib3==2.6.3"
      ],
      "ref": "trafilatura==2.0.0"
    },
    {
      "ref": "typing_extensions==4.15.0"
    },
    {
      "ref": "tzdata==2026.1"
    },
    {
      "dependsOn": [
        "tzdata==2026.1"
      ],
      "ref": "tzlocal==5.3.1"
    },
    {
      "ref": "uri-template==1.3.0"
    },
    {
      "ref": "urllib3==2.6.3"
    },
    {
      "dependsOn": [
        "psutil==7.2.2"
      ],
      "ref": "uvloop==0.22.1"
    },
    {
      "ref": "w3lib==2.4.1"
    },
    {
      "ref": "wcwidth==0.6.0"
    },
    {
      "ref": "webcolors==25.10.0"
    }
  ],
  "metadata": {
    "timestamp": "2026-04-05T08:54:13.227708+00:00",
    "tools": {
      "components": [
        {
          "description": "CycloneDX Software Bill of Materials (SBOM) generator for Python projects and environments",
          "externalReferences": [
            {
              "type": "build-system",
              "url": "https://github.com/CycloneDX/cyclonedx-python/actions"
            },
            {
              "type": "distribution",
              "url": "https://pypi.org/project/cyclonedx-bom/"
            },
            {
              "type": "documentation",
              "url": "https://cyclonedx-bom-tool.readthedocs.io/"
            },
            {
              "type": "issue-tracker",
              "url": "https://github.com/CycloneDX/cyclonedx-python/issues"
            },
            {
              "type": "license",
              "url": "https://github.com/CycloneDX/cyclonedx-python/blob/main/LICENSE"
            },
            {
              "type": "release-notes",
              "url": "https://github.com/CycloneDX/cyclonedx-python/blob/main/CHANGELOG.md"
            },
            {
              "type": "vcs",
              "url": "https://github.com/CycloneDX/cyclonedx-python/"
            },
            {
              "type": "website",
              "url": "https://github.com/CycloneDX/cyclonedx-python/#readme"
            }
          ],
          "group": "CycloneDX",
          "licenses": [
            {
              "license": {
                "acknowledgement": "declared",
                "id": "Apache-2.0"
              }
            }
          ],
          "name": "cyclonedx-py",
          "type": "application",
          "version": "7.3.0"
        },
        {
          "description": "Python library for CycloneDX",
          "externalReferences": [
            {
              "type": "build-system",
              "url": "https://github.com/CycloneDX/cyclonedx-python-lib/actions"
            },
            {
              "type": "distribution",
              "url": "https://pypi.org/project/cyclonedx-python-lib/"
            },
            {
              "type": "documentation",
              "url": "https://cyclonedx-python-library.readthedocs.io/"
            },
            {
              "type": "issue-tracker",
              "url": "https://github.com/CycloneDX/cyclonedx-python-lib/issues"
            },
            {
              "type": "license",
              "url": "https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/LICENSE"
            },
            {
              "type": "release-notes",
              "url": "https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md"
            },
            {
              "type": "vcs",
              "url": "https://github.com/CycloneDX/cyclonedx-python-lib"
            },
            {
              "type": "website",
              "url": "https://github.com/CycloneDX/cyclonedx-python-lib/#readme"
            }
          ],
          "group": "CycloneDX",
          "licenses": [
            {
              "license": {
                "acknowledgement": "declared",
                "id": "Apache-2.0"
              }
            }
          ],
          "name": "cyclonedx-python-lib",
          "type": "library",
          "version": "11.7.0"
        }
      ]
    }
  },
  "serialNumber": "urn:uuid:79d74066-bb86-44b3-82ad-b50e618eba2b",
  "version": 1,
  "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
  "bomFormat": "CycloneDX",
  "specVersion": "1.6"
}