{"bomFormat":"CycloneDX","specVersion":"1.6","serialNumber":"urn:uuid:ffbdce89-43f1-4fca-bbad-ca9dbfd93a7b","version":1,"metadata":{"timestamp":"2025-11-14T14:01:27Z","tools":{"components":[{"group":"@cyclonedx","name":"cdxgen","version":"11.11.0","purl":"pkg:npm/%40cyclonedx/cdxgen@11.11.0","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@11.11.0","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}]},"authors":[{"name":"OWASP Foundation"}],"lifecycles":[{"phase":"pre-build"}],"component":{"group":"","name":"apache-airflow","version":"3.1.3","type":"application","bom-ref":"pkg:application/apache-airflow@3.1.3","purl":"pkg:application/apache-airflow@3.1.3"},"properties":[{"name":"cdx:bom:componentTypes","value":"pypi"},{"name":"cdx:bom:componentSrcFiles","value":"3.1.3/python/python3.11/requirements.txt"}]},"components":[{"group":"","name":"Deprecated","version":"1.3.1","purl":"pkg:pypi/deprecated@1.3.1","type":"library","bom-ref":"pkg:pypi/deprecated@1.3.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"Jinja2","version":"3.1.6","purl":"pkg:pypi/jinja2@3.1.6","type":"library","bom-ref":"pkg:pypi/jinja2@3.1.6","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"Mako","version":"1.3.10","purl":"pkg:pypi/mako@1.3.10","type":"library","bom-ref":"pkg:pypi/mako@1.3.10","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"MarkupSafe","version":"3.0.3","purl":"pkg:pypi/markupsafe@3.0.3","type":"library","bom-ref":"pkg:pypi/markupsafe@3.0.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"PyJWT","version":"2.10.1","purl":"pkg:pypi/pyjwt@2.10.1","type":"library","bom-ref":"pkg:pypi/pyjwt@2.10.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"PyYAML","version":"6.0.3","purl":"pkg:pypi/pyyaml@6.0.3","type":"library","bom-ref":"pkg:pypi/pyyaml@6.0.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"Pygments","version":"2.19.2","purl":"pkg:pypi/pygments@2.19.2","type":"library","bom-ref":"pkg:pypi/pygments@2.19.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"SQLAlchemy-JSONField","version":"1.0.2","purl":"pkg:pypi/sqlalchemy-jsonfield@1.0.2","type":"framework","bom-ref":"pkg:pypi/sqlalchemy-jsonfield@1.0.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["framework"]},{"group":"","name":"SQLAlchemy-Utils","version":"0.42.0","purl":"pkg:pypi/sqlalchemy-utils@0.42.0","type":"framework","bom-ref":"pkg:pypi/sqlalchemy-utils@0.42.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["framework"]},{"group":"","name":"SQLAlchemy","version":"1.4.54","purl":"pkg:pypi/sqlalchemy@1.4.54","type":"framework","bom-ref":"pkg:pypi/sqlalchemy@1.4.54","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["framework"]},{"group":"","name":"a2wsgi","version":"1.10.10","purl":"pkg:pypi/a2wsgi@1.10.10","type":"library","bom-ref":"pkg:pypi/a2wsgi@1.10.10","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"aiosqlite","version":"0.21.0","purl":"pkg:pypi/aiosqlite@0.21.0","type":"library","bom-ref":"pkg:pypi/aiosqlite@0.21.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"alembic","version":"1.17.1","purl":"pkg:pypi/alembic@1.17.1","type":"library","bom-ref":"pkg:pypi/alembic@1.17.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"annotated-types","version":"0.7.0","purl":"pkg:pypi/annotated-types@0.7.0","type":"library","bom-ref":"pkg:pypi/annotated-types@0.7.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"anyio","version":"4.11.0","purl":"pkg:pypi/anyio@4.11.0","type":"library","bom-ref":"pkg:pypi/anyio@4.11.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"argcomplete","version":"3.6.3","purl":"pkg:pypi/argcomplete@3.6.3","type":"library","bom-ref":"pkg:pypi/argcomplete@3.6.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"asgiref","version":"3.10.0","purl":"pkg:pypi/asgiref@3.10.0","type":"library","bom-ref":"pkg:pypi/asgiref@3.10.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"attrs","version":"25.4.0","purl":"pkg:pypi/attrs@25.4.0","type":"library","bom-ref":"pkg:pypi/attrs@25.4.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"babel","version":"2.17.0","purl":"pkg:pypi/babel@2.17.0","type":"library","bom-ref":"pkg:pypi/babel@2.17.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"cadwyn","version":"5.4.5","purl":"pkg:pypi/cadwyn@5.4.5","type":"library","bom-ref":"pkg:pypi/cadwyn@5.4.5","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"certifi","version":"2025.10.5","purl":"pkg:pypi/certifi@2025.10.5","type":"library","bom-ref":"pkg:pypi/certifi@2025.10.5","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"cffi","version":"1.17.1","purl":"pkg:pypi/cffi@1.17.1","type":"library","bom-ref":"pkg:pypi/cffi@1.17.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["native"]},{"group":"","name":"charset-normalizer","version":"3.4.4","purl":"pkg:pypi/charset-normalizer@3.4.4","type":"library","bom-ref":"pkg:pypi/charset-normalizer@3.4.4","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"click","version":"8.1.8","purl":"pkg:pypi/click@8.1.8","type":"library","bom-ref":"pkg:pypi/click@8.1.8","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"colorlog","version":"6.10.1","purl":"pkg:pypi/colorlog@6.10.1","type":"library","bom-ref":"pkg:pypi/colorlog@6.10.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"cron_descriptor","version":"2.0.6","purl":"pkg:pypi/cron-descriptor@2.0.6","type":"library","bom-ref":"pkg:pypi/cron-descriptor@2.0.6","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"croniter","version":"6.0.0","purl":"pkg:pypi/croniter@6.0.0","type":"library","bom-ref":"pkg:pypi/croniter@6.0.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"cryptography","version":"42.0.8","purl":"pkg:pypi/cryptography@42.0.8","type":"library","bom-ref":"pkg:pypi/cryptography@42.0.8","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"dill","version":"0.4.0","purl":"pkg:pypi/dill@0.4.0","type":"library","bom-ref":"pkg:pypi/dill@0.4.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"dnspython","version":"2.8.0","purl":"pkg:pypi/dnspython@2.8.0","type":"library","bom-ref":"pkg:pypi/dnspython@2.8.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"email-validator","version":"2.3.0","purl":"pkg:pypi/email-validator@2.3.0","type":"library","bom-ref":"pkg:pypi/email-validator@2.3.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"fastapi-cli","version":"0.0.16","purl":"pkg:pypi/fastapi-cli@0.0.16","type":"framework","bom-ref":"pkg:pypi/fastapi-cli@0.0.16","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["framework"]},{"group":"","name":"fastapi","version":"0.117.1","purl":"pkg:pypi/fastapi@0.117.1","type":"framework","bom-ref":"pkg:pypi/fastapi@0.117.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["framework"]},{"group":"","name":"fsspec","version":"2025.10.0","purl":"pkg:pypi/fsspec@2025.10.0","type":"library","bom-ref":"pkg:pypi/fsspec@2025.10.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"googleapis-common-protos","version":"1.72.0","purl":"pkg:pypi/googleapis-common-protos@1.72.0","type":"library","bom-ref":"pkg:pypi/googleapis-common-protos@1.72.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"greenback","version":"1.2.1","purl":"pkg:pypi/greenback@1.2.1","type":"library","bom-ref":"pkg:pypi/greenback@1.2.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"greenlet","version":"3.2.4","purl":"pkg:pypi/greenlet@3.2.4","type":"library","bom-ref":"pkg:pypi/greenlet@3.2.4","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"grpcio","version":"1.65.5","purl":"pkg:pypi/grpcio@1.65.5","type":"library","bom-ref":"pkg:pypi/grpcio@1.65.5","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"h11","version":"0.16.0","purl":"pkg:pypi/h11@0.16.0","type":"library","bom-ref":"pkg:pypi/h11@0.16.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"httpcore","version":"1.0.9","purl":"pkg:pypi/httpcore@1.0.9","type":"library","bom-ref":"pkg:pypi/httpcore@1.0.9","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"httptools","version":"0.7.1","purl":"pkg:pypi/httptools@0.7.1","type":"library","bom-ref":"pkg:pypi/httptools@0.7.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"httpx","version":"0.28.1","purl":"pkg:pypi/httpx@0.28.1","type":"library","bom-ref":"pkg:pypi/httpx@0.28.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"idna","version":"3.11","purl":"pkg:pypi/idna@3.11","type":"library","bom-ref":"pkg:pypi/idna@3.11","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"importlib_metadata","version":"8.4.0","purl":"pkg:pypi/importlib-metadata@8.4.0","type":"library","bom-ref":"pkg:pypi/importlib-metadata@8.4.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"itsdangerous","version":"2.2.0","purl":"pkg:pypi/itsdangerous@2.2.0","type":"library","bom-ref":"pkg:pypi/itsdangerous@2.2.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"jsonschema-specifications","version":"2025.9.1","purl":"pkg:pypi/jsonschema-specifications@2025.9.1","type":"library","bom-ref":"pkg:pypi/jsonschema-specifications@2025.9.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"jsonschema","version":"4.25.1","purl":"pkg:pypi/jsonschema@4.25.1","type":"library","bom-ref":"pkg:pypi/jsonschema@4.25.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"lazy-object-proxy","version":"1.12.0","purl":"pkg:pypi/lazy-object-proxy@1.12.0","type":"library","bom-ref":"pkg:pypi/lazy-object-proxy@1.12.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"libcst","version":"1.8.6","purl":"pkg:pypi/libcst@1.8.6","type":"library","bom-ref":"pkg:pypi/libcst@1.8.6","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"linkify-it-py","version":"2.0.3","purl":"pkg:pypi/linkify-it-py@2.0.3","type":"library","bom-ref":"pkg:pypi/linkify-it-py@2.0.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"lockfile","version":"0.12.2","purl":"pkg:pypi/lockfile@0.12.2","type":"library","bom-ref":"pkg:pypi/lockfile@0.12.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"markdown-it-py","version":"4.0.0","purl":"pkg:pypi/markdown-it-py@4.0.0","type":"library","bom-ref":"pkg:pypi/markdown-it-py@4.0.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"mdurl","version":"0.1.2","purl":"pkg:pypi/mdurl@0.1.2","type":"library","bom-ref":"pkg:pypi/mdurl@0.1.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"methodtools","version":"0.4.7","purl":"pkg:pypi/methodtools@0.4.7","type":"library","bom-ref":"pkg:pypi/methodtools@0.4.7","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"more-itertools","version":"10.8.0","purl":"pkg:pypi/more-itertools@10.8.0","type":"library","bom-ref":"pkg:pypi/more-itertools@10.8.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"msgspec","version":"0.19.0","purl":"pkg:pypi/msgspec@0.19.0","type":"library","bom-ref":"pkg:pypi/msgspec@0.19.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"natsort","version":"8.4.0","purl":"pkg:pypi/natsort@8.4.0","type":"library","bom-ref":"pkg:pypi/natsort@8.4.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"opentelemetry-api","version":"1.27.0","purl":"pkg:pypi/opentelemetry-api@1.27.0","type":"library","bom-ref":"pkg:pypi/opentelemetry-api@1.27.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"opentelemetry-exporter-otlp-proto-common","version":"1.27.0","purl":"pkg:pypi/opentelemetry-exporter-otlp-proto-common@1.27.0","type":"library","bom-ref":"pkg:pypi/opentelemetry-exporter-otlp-proto-common@1.27.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"opentelemetry-exporter-otlp-proto-grpc","version":"1.27.0","purl":"pkg:pypi/opentelemetry-exporter-otlp-proto-grpc@1.27.0","type":"library","bom-ref":"pkg:pypi/opentelemetry-exporter-otlp-proto-grpc@1.27.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"opentelemetry-exporter-otlp-proto-http","version":"1.27.0","purl":"pkg:pypi/opentelemetry-exporter-otlp-proto-http@1.27.0","type":"library","bom-ref":"pkg:pypi/opentelemetry-exporter-otlp-proto-http@1.27.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"opentelemetry-exporter-otlp","version":"1.27.0","purl":"pkg:pypi/opentelemetry-exporter-otlp@1.27.0","type":"library","bom-ref":"pkg:pypi/opentelemetry-exporter-otlp@1.27.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"opentelemetry-proto","version":"1.27.0","purl":"pkg:pypi/opentelemetry-proto@1.27.0","type":"library","bom-ref":"pkg:pypi/opentelemetry-proto@1.27.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"opentelemetry-sdk","version":"1.27.0","purl":"pkg:pypi/opentelemetry-sdk@1.27.0","type":"library","bom-ref":"pkg:pypi/opentelemetry-sdk@1.27.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"opentelemetry-semantic-conventions","version":"0.48b0","purl":"pkg:pypi/opentelemetry-semantic-conventions@0.48b0","type":"library","bom-ref":"pkg:pypi/opentelemetry-semantic-conventions@0.48b0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["telemetry"]},{"group":"","name":"outcome","version":"1.3.0.post0","purl":"pkg:pypi/outcome@1.3.0.post0","type":"library","bom-ref":"pkg:pypi/outcome@1.3.0.post0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"packaging","version":"25.0","purl":"pkg:pypi/packaging@25.0","type":"library","bom-ref":"pkg:pypi/packaging@25.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"pathspec","version":"0.12.1","purl":"pkg:pypi/pathspec@0.12.1","type":"library","bom-ref":"pkg:pypi/pathspec@0.12.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"pendulum","version":"3.1.0","purl":"pkg:pypi/pendulum@3.1.0","type":"library","bom-ref":"pkg:pypi/pendulum@3.1.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"pluggy","version":"1.6.0","purl":"pkg:pypi/pluggy@1.6.0","type":"library","bom-ref":"pkg:pypi/pluggy@1.6.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"protobuf","version":"4.25.8","purl":"pkg:pypi/protobuf@4.25.8","type":"library","bom-ref":"pkg:pypi/protobuf@4.25.8","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"psutil","version":"7.1.3","purl":"pkg:pypi/psutil@7.1.3","type":"library","bom-ref":"pkg:pypi/psutil@7.1.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"pycparser","version":"2.23","purl":"pkg:pypi/pycparser@2.23","type":"library","bom-ref":"pkg:pypi/pycparser@2.23","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["parse"]},{"group":"","name":"pydantic","version":"2.12.4","purl":"pkg:pypi/pydantic@2.12.4","type":"library","bom-ref":"pkg:pypi/pydantic@2.12.4","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"pydantic_core","version":"2.41.5","purl":"pkg:pypi/pydantic-core@2.41.5","type":"library","bom-ref":"pkg:pypi/pydantic-core@2.41.5","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"pygtrie","version":"2.5.0","purl":"pkg:pypi/pygtrie@2.5.0","type":"library","bom-ref":"pkg:pypi/pygtrie@2.5.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"python-daemon","version":"3.1.2","purl":"pkg:pypi/python-daemon@3.1.2","type":"library","bom-ref":"pkg:pypi/python-daemon@3.1.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"python-dateutil","version":"2.9.0.post0","purl":"pkg:pypi/python-dateutil@2.9.0.post0","type":"library","bom-ref":"pkg:pypi/python-dateutil@2.9.0.post0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"python-dotenv","version":"1.2.1","purl":"pkg:pypi/python-dotenv@1.2.1","type":"library","bom-ref":"pkg:pypi/python-dotenv@1.2.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"python-multipart","version":"0.0.20","purl":"pkg:pypi/python-multipart@0.0.20","type":"library","bom-ref":"pkg:pypi/python-multipart@0.0.20","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"python-slugify","version":"8.0.4","purl":"pkg:pypi/python-slugify@8.0.4","type":"library","bom-ref":"pkg:pypi/python-slugify@8.0.4","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"pytz","version":"2025.2","purl":"pkg:pypi/pytz@2025.2","type":"library","bom-ref":"pkg:pypi/pytz@2025.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"referencing","version":"0.36.2","purl":"pkg:pypi/referencing@0.36.2","type":"library","bom-ref":"pkg:pypi/referencing@0.36.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"requests","version":"2.32.5","purl":"pkg:pypi/requests@2.32.5","type":"library","bom-ref":"pkg:pypi/requests@2.32.5","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"rich-argparse","version":"1.7.2","purl":"pkg:pypi/rich-argparse@1.7.2","type":"library","bom-ref":"pkg:pypi/rich-argparse@1.7.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"rich-toolkit","version":"0.15.1","purl":"pkg:pypi/rich-toolkit@0.15.1","type":"library","bom-ref":"pkg:pypi/rich-toolkit@0.15.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"rich","version":"13.9.4","purl":"pkg:pypi/rich@13.9.4","type":"library","bom-ref":"pkg:pypi/rich@13.9.4","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"rpds-py","version":"0.28.0","purl":"pkg:pypi/rpds-py@0.28.0","type":"library","bom-ref":"pkg:pypi/rpds-py@0.28.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"setproctitle","version":"1.3.7","purl":"pkg:pypi/setproctitle@1.3.7","type":"library","bom-ref":"pkg:pypi/setproctitle@1.3.7","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"shellingham","version":"1.5.4","purl":"pkg:pypi/shellingham@1.5.4","type":"library","bom-ref":"pkg:pypi/shellingham@1.5.4","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"six","version":"1.17.0","purl":"pkg:pypi/six@1.17.0","type":"library","bom-ref":"pkg:pypi/six@1.17.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"sniffio","version":"1.3.1","purl":"pkg:pypi/sniffio@1.3.1","type":"library","bom-ref":"pkg:pypi/sniffio@1.3.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["native"]},{"group":"","name":"sqlparse","version":"0.5.3","purl":"pkg:pypi/sqlparse@0.5.3","type":"library","bom-ref":"pkg:pypi/sqlparse@0.5.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"starlette","version":"0.48.0","purl":"pkg:pypi/starlette@0.48.0","type":"library","bom-ref":"pkg:pypi/starlette@0.48.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"structlog","version":"25.5.0","purl":"pkg:pypi/structlog@25.5.0","type":"library","bom-ref":"pkg:pypi/structlog@25.5.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"svcs","version":"25.1.0","purl":"pkg:pypi/svcs@25.1.0","type":"library","bom-ref":"pkg:pypi/svcs@25.1.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"tabulate","version":"0.9.0","purl":"pkg:pypi/tabulate@0.9.0","type":"library","bom-ref":"pkg:pypi/tabulate@0.9.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"tenacity","version":"9.1.2","purl":"pkg:pypi/tenacity@9.1.2","type":"library","bom-ref":"pkg:pypi/tenacity@9.1.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"termcolor","version":"3.2.0","purl":"pkg:pypi/termcolor@3.2.0","type":"library","bom-ref":"pkg:pypi/termcolor@3.2.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"text-unidecode","version":"1.3","purl":"pkg:pypi/text-unidecode@1.3","type":"library","bom-ref":"pkg:pypi/text-unidecode@1.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"typer","version":"0.20.0","purl":"pkg:pypi/typer@0.20.0","type":"library","bom-ref":"pkg:pypi/typer@0.20.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"typing-inspection","version":"0.4.2","purl":"pkg:pypi/typing-inspection@0.4.2","type":"library","bom-ref":"pkg:pypi/typing-inspection@0.4.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]},"tags":["devel"]},{"group":"","name":"typing_extensions","version":"4.15.0","purl":"pkg:pypi/typing-extensions@4.15.0","type":"library","bom-ref":"pkg:pypi/typing-extensions@4.15.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"tzdata","version":"2025.2","purl":"pkg:pypi/tzdata@2025.2","type":"library","bom-ref":"pkg:pypi/tzdata@2025.2","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"uc-micro-py","version":"1.0.3","purl":"pkg:pypi/uc-micro-py@1.0.3","type":"library","bom-ref":"pkg:pypi/uc-micro-py@1.0.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"universal_pathlib","version":"0.2.6","purl":"pkg:pypi/universal-pathlib@0.2.6","type":"library","bom-ref":"pkg:pypi/universal-pathlib@0.2.6","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"urllib3","version":"2.5.0","purl":"pkg:pypi/urllib3@2.5.0","type":"library","bom-ref":"pkg:pypi/urllib3@2.5.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"uuid6","version":"2025.0.1","purl":"pkg:pypi/uuid6@2025.0.1","type":"library","bom-ref":"pkg:pypi/uuid6@2025.0.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"uv","version":"0.9.8","purl":"pkg:pypi/uv@0.9.8","type":"library","bom-ref":"pkg:pypi/uv@0.9.8","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"uvicorn","version":"0.38.0","purl":"pkg:pypi/uvicorn@0.38.0","type":"library","bom-ref":"pkg:pypi/uvicorn@0.38.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"uvloop","version":"0.22.1","purl":"pkg:pypi/uvloop@0.22.1","type":"library","bom-ref":"pkg:pypi/uvloop@0.22.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"watchfiles","version":"1.1.1","purl":"pkg:pypi/watchfiles@1.1.1","type":"library","bom-ref":"pkg:pypi/watchfiles@1.1.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"websockets","version":"15.0.1","purl":"pkg:pypi/websockets@15.0.1","type":"library","bom-ref":"pkg:pypi/websockets@15.0.1","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"wirerope","version":"1.0.0","purl":"pkg:pypi/wirerope@1.0.0","type":"library","bom-ref":"pkg:pypi/wirerope@1.0.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"wrapt","version":"1.17.3","purl":"pkg:pypi/wrapt@1.17.3","type":"library","bom-ref":"pkg:pypi/wrapt@1.17.3","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}},{"group":"","name":"zipp","version":"3.23.0","purl":"pkg:pypi/zipp@3.23.0","type":"library","bom-ref":"pkg:pypi/zipp@3.23.0","properties":[{"name":"SrcFile","value":"3.1.3/python/python3.11/requirements.txt"}],"evidence":{"identity":[{"field":"purl","confidence":0.5,"methods":[{"technique":"manifest-analysis","confidence":0.5,"value":"3.1.3/python/python3.11/requirements.txt"}],"concludedValue":"3.1.3/python/python3.11/requirements.txt"}]}}],"services":[],"dependencies":[{"ref":"pkg:application/apache-airflow@3.1.3","dependsOn":[]}],"annotations":[{"bom-ref":"metadata-annotations","subjects":["pkg:application/apache-airflow@3.1.3"],"annotator":{"component":{"group":"@cyclonedx","name":"cdxgen","version":"11.11.0","purl":"pkg:npm/%40cyclonedx/cdxgen@11.11.0","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@11.11.0","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}},"timestamp":"2025-11-14T14:01:27Z","text":"This Software Bill-of-Materials (SBOM) document was created on Friday, November 14, 2025 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'apache-airflow' with version '3.1.3'. There are 116 components."}]}
