{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.ZoneMinder/mlapi","documentNamespace":"https://spdx.org/spdxdocs/protobom/9c06012d-71f3-40fe-9de8-605ea4190292","comment":"Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#dependencies-included.","creationInfo":{"creators":["Tool: protobom-v0.0.0-20250407164628-01a4a61d0bed+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2025-04-10T10:20:17Z"},"packages":[{"name":"bcrypt","SPDXID":"SPDXRef-pypi-bcrypt-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/bcrypt"}]},{"name":"tinydb","SPDXID":"SPDXRef-pypi-tinydb-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tinydb"}]},{"name":"face-recognition","SPDXID":"SPDXRef-pypi-face-recognition-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/face-recognition"}]},{"name":"pyzm","SPDXID":"SPDXRef-pypi-pyzm-75c946","versionInfo":"\u003e= 0.3.56","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyzm"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"numpy","SPDXID":"SPDXRef-pypi-numpy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/numpy"}]},{"name":"markupsafe","SPDXID":"SPDXRef-pypi-markupsafe-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/markupsafe"}]},{"name":"configupdater","SPDXID":"SPDXRef-pypi-configupdater-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/configupdater"}]},{"name":"progressbar33","SPDXID":"SPDXRef-pypi-progressbar33-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/progressbar33"}]},{"name":"werkzeug","SPDXID":"SPDXRef-pypi-werkzeug-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/werkzeug"}]},{"name":"passlib","SPDXID":"SPDXRef-pypi-passlib-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/passlib"}]},{"name":"flask-restful","SPDXID":"SPDXRef-pypi-flask-restful-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-restful"}]},{"name":"bjoern","SPDXID":"SPDXRef-pypi-bjoern-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/bjoern"}]},{"name":"flask","SPDXID":"SPDXRef-pypi-flask-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask"}]},{"name":"scikit-learn","SPDXID":"SPDXRef-pypi-scikit-learn-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/scikit-learn"}]},{"name":"flask-jwt-extended","SPDXID":"SPDXRef-pypi-flask-jwt-extended-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-jwt-extended"}]},{"name":"imutils","SPDXID":"SPDXRef-pypi-imutils-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/imutils"}]},{"name":"com.github.ZoneMinder/mlapi","SPDXID":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","versionInfo":"master","downloadLocation":"git+https://github.com/ZoneMinder/mlapi","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/ZoneMinder/mlapi@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-face-recognition-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-configupdater-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-werkzeug-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-flask-restful-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-flask-jwt-extended-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-scikit-learn-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-imutils-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-flask-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-tinydb-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-pyzm-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-passlib-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-bcrypt-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-numpy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-markupsafe-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-progressbar33-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relatedSpdxElement":"SPDXRef-pypi-bjoern-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-ZoneMinder-mlapi-master-b95336","relationshipType":"DESCRIBES"}]}