{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.SmartBioTech/DeviceControl","documentNamespace":"https://spdx.org/spdxdocs/protobom/0e152dd5-0818-493d-bfd5-a5a2195f9912","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-20260130170711-0b8e67cacb3b+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-02-06T17:47:00Z"},"packages":[{"name":"myst-parser","SPDXID":"SPDXRef-pypi-myst-parser-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/myst-parser"}]},{"name":"pycrypto","SPDXID":"SPDXRef-pypi-pycrypto-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pycrypto"}]},{"name":"gunicorn","SPDXID":"SPDXRef-pypi-gunicorn-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/gunicorn"}]},{"name":"sphinx","SPDXID":"SPDXRef-pypi-sphinx-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sphinx"}]},{"name":"flask-bootstrap","SPDXID":"SPDXRef-pypi-flask-bootstrap-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-bootstrap"}]},{"name":"flask-mail","SPDXID":"SPDXRef-pypi-flask-mail-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-mail"}]},{"name":"jpype1","SPDXID":"SPDXRef-pypi-jpype1-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jpype1"}]},{"name":"visitor","SPDXID":"SPDXRef-pypi-visitor-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/visitor"}]},{"name":"mettler-toledo-device","SPDXID":"SPDXRef-pypi-mettler-toledo-device-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mettler-toledo-device"}]},{"name":"werkzeug","SPDXID":"SPDXRef-pypi-werkzeug-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/werkzeug"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"sqlalchemy","SPDXID":"SPDXRef-pypi-sqlalchemy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sqlalchemy"}]},{"name":"flask-migrate","SPDXID":"SPDXRef-pypi-flask-migrate-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-migrate"}]},{"name":"sphinx-rtd-theme","SPDXID":"SPDXRef-pypi-sphinx-rtd-theme-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sphinx-rtd-theme"}]},{"name":"flask-apscheduler","SPDXID":"SPDXRef-pypi-flask-apscheduler-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-apscheduler"}]},{"name":"alembic","SPDXID":"SPDXRef-pypi-alembic-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/alembic"}]},{"name":"flask-wtf","SPDXID":"SPDXRef-pypi-flask-wtf-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-wtf"}]},{"name":"wtforms","SPDXID":"SPDXRef-pypi-wtforms-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/wtforms"}]},{"name":"flask-moment","SPDXID":"SPDXRef-pypi-flask-moment-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-moment"}]},{"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":"mysqlclient","SPDXID":"SPDXRef-pypi-mysqlclient-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mysqlclient"}]},{"name":"flask","SPDXID":"SPDXRef-pypi-flask-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask"}]},{"name":"click","SPDXID":"SPDXRef-pypi-click-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/click"}]},{"name":"pyserial","SPDXID":"SPDXRef-pypi-pyserial-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyserial"}]},{"name":"flask-sqlalchemy","SPDXID":"SPDXRef-pypi-flask-sqlalchemy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-sqlalchemy"}]},{"name":"actions/checkout","SPDXID":"SPDXRef-githubactions-actions-checkout-2-75c946","versionInfo":"2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/checkout@2"}]},{"name":"crazy-max/ghaction-docker-buildx","SPDXID":"SPDXRef-githubactions-crazy-max-ghaction-docker-buildx-1-75c946","versionInfo":"1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/crazy-max/ghaction-docker-buildx@1"}]},{"name":"actions/setup-python","SPDXID":"SPDXRef-githubactions-actions-setup-python-2-75c946","versionInfo":"2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/actions/setup-python@2"}]},{"name":"mirromutth/mysql-action","SPDXID":"SPDXRef-githubactions-mirromutth-mysql-action-1.1-75c946","versionInfo":"1.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:githubactions/mirromutth/mysql-action@1.1"}]},{"name":"com.github.SmartBioTech/DeviceControl","SPDXID":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","versionInfo":"master","downloadLocation":"git+https://github.com/SmartBioTech/DeviceControl","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/SmartBioTech/DeviceControl@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-wtf-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-sqlalchemy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-githubactions-actions-checkout-2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-githubactions-actions-setup-python-2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-pycrypto-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-bootstrap-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-mail-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-mettler-toledo-device-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-wtforms-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-myst-parser-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-sphinx-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-jpype1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-werkzeug-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-sphinx-rtd-theme-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-alembic-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-moment-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-restful-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-click-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-gunicorn-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-visitor-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-apscheduler-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-mysqlclient-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-pyserial-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-githubactions-mirromutth-mysql-action-1.1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-githubactions-crazy-max-ghaction-docker-buildx-1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-flask-migrate-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relatedSpdxElement":"SPDXRef-pypi-sqlalchemy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-SmartBioTech-DeviceControl-master-db43e8","relationshipType":"DESCRIBES"}]}