{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:ea01f5e2-b8f5-4859-90a6-16b46709a109","metadata":{"timestamp":"2026-10-20T22:41:58Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"CodeHalwell/ibm-python-data-analysis"}},"components":[{"type":"library","name":"jupyter","version":"\u003e=1.1.1","purl":"pkg:pypi/jupyter","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"matplotlib","version":"\u003e=3.10.3","purl":"pkg:pypi/matplotlib","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"numpy","version":"\u003e=2.2.6","purl":"pkg:pypi/numpy","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"pandas","version":"\u003e=2.2.3","purl":"pkg:pypi/pandas","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"scikit-learn","version":"\u003e=1.6.1","purl":"pkg:pypi/scikit-learn","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"seaborn","version":"\u003e=0.13.2","purl":"pkg:pypi/seaborn","properties":[{"name":"filePath","value":"pyproject.toml"}]},{"type":"library","name":"anyio","version":"4.9.0","purl":"pkg:pypi/anyio","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"appnope","version":"0.1.4","purl":"pkg:pypi/appnope","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"argon2-cffi","version":"23.1.0","purl":"pkg:pypi/argon2-cffi","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"argon2-cffi-bindings","version":"21.2.0","purl":"pkg:pypi/argon2-cffi-bindings","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"arrow","version":"1.3.0","purl":"pkg:pypi/arrow","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"asttokens","version":"3.0.0","purl":"pkg:pypi/asttokens","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"async-lru","version":"2.0.5","purl":"pkg:pypi/async-lru","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"attrs","version":"25.3.0","purl":"pkg:pypi/attrs","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"babel","version":"2.17.0","purl":"pkg:pypi/babel","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"beautifulsoup4","version":"4.13.4","purl":"pkg:pypi/beautifulsoup4","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"bleach","version":"6.2.0","purl":"pkg:pypi/bleach","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"certifi","version":"2025.4.26","purl":"pkg:pypi/certifi","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"cffi","version":"1.17.1","purl":"pkg:pypi/cffi","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"charset-normalizer","version":"3.4.2","purl":"pkg:pypi/charset-normalizer","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"colorama","version":"0.4.6","purl":"pkg:pypi/colorama","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"comm","version":"0.2.2","purl":"pkg:pypi/comm","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"contourpy","version":"1.3.2","purl":"pkg:pypi/contourpy","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"cycler","version":"0.12.1","purl":"pkg:pypi/cycler","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"data-analysis-python","version":"0.1.0","purl":"pkg:pypi/data-analysis-python","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"debugpy","version":"1.8.14","purl":"pkg:pypi/debugpy","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"decorator","version":"5.2.1","purl":"pkg:pypi/decorator","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"defusedxml","version":"0.7.1","purl":"pkg:pypi/defusedxml","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"executing","version":"2.2.0","purl":"pkg:pypi/executing","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"fastjsonschema","version":"2.21.1","purl":"pkg:pypi/fastjsonschema","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"fonttools","version":"4.58.0","purl":"pkg:pypi/fonttools","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"fqdn","version":"1.5.1","purl":"pkg:pypi/fqdn","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"h11","version":"0.16.0","purl":"pkg:pypi/h11","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"httpcore","version":"1.0.9","purl":"pkg:pypi/httpcore","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"httpx","version":"0.28.1","purl":"pkg:pypi/httpx","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"idna","version":"3.10","purl":"pkg:pypi/idna","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"ipykernel","version":"6.29.5","purl":"pkg:pypi/ipykernel","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"ipython","version":"9.2.0","purl":"pkg:pypi/ipython","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"ipython-pygments-lexers","version":"1.1.1","purl":"pkg:pypi/ipython-pygments-lexers","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"ipywidgets","version":"8.1.7","purl":"pkg:pypi/ipywidgets","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"isoduration","version":"20.11.0","purl":"pkg:pypi/isoduration","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jedi","version":"0.19.2","purl":"pkg:pypi/jedi","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jinja2","version":"3.1.6","purl":"pkg:pypi/jinja2","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"joblib","version":"1.5.0","purl":"pkg:pypi/joblib","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"json5","version":"0.12.0","purl":"pkg:pypi/json5","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jsonpointer","version":"3.0.0","purl":"pkg:pypi/jsonpointer","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jsonschema","version":"4.23.0","purl":"pkg:pypi/jsonschema","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jsonschema-specifications","version":"2025.4.1","purl":"pkg:pypi/jsonschema-specifications","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter","version":"1.1.1","purl":"pkg:pypi/jupyter","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter-client","version":"8.6.3","purl":"pkg:pypi/jupyter-client","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter-console","version":"6.6.3","purl":"pkg:pypi/jupyter-console","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter-core","version":"5.7.2","purl":"pkg:pypi/jupyter-core","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter-events","version":"0.12.0","purl":"pkg:pypi/jupyter-events","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter-lsp","version":"2.2.5","purl":"pkg:pypi/jupyter-lsp","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter-server","version":"2.16.0","purl":"pkg:pypi/jupyter-server","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyter-server-terminals","version":"0.5.3","purl":"pkg:pypi/jupyter-server-terminals","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyterlab","version":"4.4.2","purl":"pkg:pypi/jupyterlab","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyterlab-pygments","version":"0.3.0","purl":"pkg:pypi/jupyterlab-pygments","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyterlab-server","version":"2.27.3","purl":"pkg:pypi/jupyterlab-server","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"jupyterlab-widgets","version":"3.0.15","purl":"pkg:pypi/jupyterlab-widgets","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"kiwisolver","version":"1.4.8","purl":"pkg:pypi/kiwisolver","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"markupsafe","version":"3.0.2","purl":"pkg:pypi/markupsafe","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"matplotlib","version":"3.10.3","purl":"pkg:pypi/matplotlib","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"matplotlib-inline","version":"0.1.7","purl":"pkg:pypi/matplotlib-inline","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"mistune","version":"3.1.3","purl":"pkg:pypi/mistune","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"nbclient","version":"0.10.2","purl":"pkg:pypi/nbclient","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"nbconvert","version":"7.16.6","purl":"pkg:pypi/nbconvert","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"nbformat","version":"5.10.4","purl":"pkg:pypi/nbformat","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"nest-asyncio","version":"1.6.0","purl":"pkg:pypi/nest-asyncio","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"notebook","version":"7.4.2","purl":"pkg:pypi/notebook","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"notebook-shim","version":"0.2.4","purl":"pkg:pypi/notebook-shim","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"numpy","version":"2.2.6","purl":"pkg:pypi/numpy","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"overrides","version":"7.7.0","purl":"pkg:pypi/overrides","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"packaging","version":"25.0","purl":"pkg:pypi/packaging","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pandas","version":"2.2.3","purl":"pkg:pypi/pandas","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pandocfilters","version":"1.5.1","purl":"pkg:pypi/pandocfilters","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"parso","version":"0.8.4","purl":"pkg:pypi/parso","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pexpect","version":"4.9.0","purl":"pkg:pypi/pexpect","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pillow","version":"11.2.1","purl":"pkg:pypi/pillow","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"platformdirs","version":"4.3.8","purl":"pkg:pypi/platformdirs","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"prometheus-client","version":"0.22.0","purl":"pkg:pypi/prometheus-client","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"prompt-toolkit","version":"3.0.51","purl":"pkg:pypi/prompt-toolkit","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"psutil","version":"7.0.0","purl":"pkg:pypi/psutil","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"ptyprocess","version":"0.7.0","purl":"pkg:pypi/ptyprocess","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pure-eval","version":"0.2.3","purl":"pkg:pypi/pure-eval","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pycparser","version":"2.22","purl":"pkg:pypi/pycparser","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pygments","version":"2.19.1","purl":"pkg:pypi/pygments","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pyparsing","version":"3.2.3","purl":"pkg:pypi/pyparsing","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"python-dateutil","version":"2.9.0.post0","purl":"pkg:pypi/python-dateutil","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"python-json-logger","version":"3.3.0","purl":"pkg:pypi/python-json-logger","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pytz","version":"2025.2","purl":"pkg:pypi/pytz","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pywin32","version":"310","purl":"pkg:pypi/pywin32","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pywinpty","version":"2.0.15","purl":"pkg:pypi/pywinpty","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pyyaml","version":"6.0.2","purl":"pkg:pypi/pyyaml","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"pyzmq","version":"26.4.0","purl":"pkg:pypi/pyzmq","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"referencing","version":"0.36.2","purl":"pkg:pypi/referencing","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"requests","version":"2.32.3","purl":"pkg:pypi/requests","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"rfc3339-validator","version":"0.1.4","purl":"pkg:pypi/rfc3339-validator","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"rfc3986-validator","version":"0.1.1","purl":"pkg:pypi/rfc3986-validator","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"rpds-py","version":"0.25.0","purl":"pkg:pypi/rpds-py","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"scikit-learn","version":"1.6.1","purl":"pkg:pypi/scikit-learn","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"scipy","version":"1.15.3","purl":"pkg:pypi/scipy","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"seaborn","version":"0.13.2","purl":"pkg:pypi/seaborn","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"send2trash","version":"1.8.3","purl":"pkg:pypi/send2trash","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"setuptools","version":"80.7.1","purl":"pkg:pypi/setuptools","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"six","version":"1.17.0","purl":"pkg:pypi/six","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"sniffio","version":"1.3.1","purl":"pkg:pypi/sniffio","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"soupsieve","version":"2.7","purl":"pkg:pypi/soupsieve","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"stack-data","version":"0.6.3","purl":"pkg:pypi/stack-data","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"terminado","version":"0.18.1","purl":"pkg:pypi/terminado","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"threadpoolctl","version":"3.6.0","purl":"pkg:pypi/threadpoolctl","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"tinycss2","version":"1.4.0","purl":"pkg:pypi/tinycss2","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"tornado","version":"6.5","purl":"pkg:pypi/tornado","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"traitlets","version":"5.14.3","purl":"pkg:pypi/traitlets","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"types-python-dateutil","version":"2.9.0.20250516","purl":"pkg:pypi/types-python-dateutil","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"typing-extensions","version":"4.13.2","purl":"pkg:pypi/typing-extensions","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"tzdata","version":"2025.2","purl":"pkg:pypi/tzdata","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"uri-template","version":"1.3.0","purl":"pkg:pypi/uri-template","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"urllib3","version":"2.4.0","purl":"pkg:pypi/urllib3","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"wcwidth","version":"0.2.13","purl":"pkg:pypi/wcwidth","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"webcolors","version":"24.11.1","purl":"pkg:pypi/webcolors","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"webencodings","version":"0.5.1","purl":"pkg:pypi/webencodings","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"websocket-client","version":"1.8.0","purl":"pkg:pypi/websocket-client","properties":[{"name":"filePath","value":"uv.lock"}]},{"type":"library","name":"widgetsnbextension","version":"4.0.14","purl":"pkg:pypi/widgetsnbextension","properties":[{"name":"filePath","value":"uv.lock"}]}]}