{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.sillyfish/learn-python","documentNamespace":"https://spdx.org/spdxdocs/protobom/6e3b2660-a3a0-4dd7-ac68-b95f1cc1d079","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-08T06:24:04Z"},"packages":[{"name":"ipykernel","SPDXID":"SPDXRef-pypi-ipykernel-6.19.2py311h4975b630-75c946","versionInfo":"6.19.2=py311h4975b63_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ipykernel@6.19.2%3Dpy311h4975b63_0"}]},{"name":"pickleshare","SPDXID":"SPDXRef-pypi-pickleshare-0.7.5pyhd3eb1b01003-75c946","versionInfo":"0.7.5=pyhd3eb1b0_1003","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pickleshare@0.7.5%3Dpyhd3eb1b0_1003"}]},{"name":"asttokens","SPDXID":"SPDXRef-pypi-asttokens-2.0.5pyhd3eb1b00-75c946","versionInfo":"2.0.5=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/asttokens@2.0.5%3Dpyhd3eb1b0_0"}]},{"name":"intel-openmp","SPDXID":"SPDXRef-pypi-intel-openmp-2023.1.0ha357a0b43547-75c946","versionInfo":"2023.1.0=ha357a0b_43547","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/intel-openmp@2023.1.0%3Dha357a0b_43547"}]},{"name":"openssl","SPDXID":"SPDXRef-pypi-openssl-1.1.1thca72f7f0-75c946","versionInfo":"1.1.1t=hca72f7f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/openssl@1.1.1t%3Dhca72f7f_0"}]},{"name":"brotli","SPDXID":"SPDXRef-pypi-brotli-1.0.9hca72f7f7-75c946","versionInfo":"1.0.9=hca72f7f_7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/brotli@1.0.9%3Dhca72f7f_7"}]},{"name":"bzip2","SPDXID":"SPDXRef-pypi-bzip2-1.0.8h1de35cc0-75c946","versionInfo":"1.0.8=h1de35cc_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/bzip2@1.0.8%3Dh1de35cc_0"}]},{"name":"giflib","SPDXID":"SPDXRef-pypi-giflib-5.2.1h6c40b1e3-75c946","versionInfo":"5.2.1=h6c40b1e_3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/giflib@5.2.1%3Dh6c40b1e_3"}]},{"name":"lz4-c","SPDXID":"SPDXRef-pypi-lz4-c-1.9.4hcec6c5f0-75c946","versionInfo":"1.9.4=hcec6c5f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/lz4-c@1.9.4%3Dhcec6c5f_0"}]},{"name":"hdf5","SPDXID":"SPDXRef-pypi-hdf5-1.10.6h10fe05b1-75c946","versionInfo":"1.10.6=h10fe05b_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/hdf5@1.10.6%3Dh10fe05b_1"}]},{"name":"readline","SPDXID":"SPDXRef-pypi-readline-8.2hca72f7f0-75c946","versionInfo":"8.2=hca72f7f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/readline@8.2%3Dhca72f7f_0"}]},{"name":"pooch","SPDXID":"SPDXRef-pypi-pooch-1.4.0pyhd3eb1b00-75c946","versionInfo":"1.4.0=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pooch@1.4.0%3Dpyhd3eb1b0_0"}]},{"name":"parso","SPDXID":"SPDXRef-pypi-parso-0.8.3pyhd3eb1b00-75c946","versionInfo":"0.8.3=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/parso@0.8.3%3Dpyhd3eb1b0_0"}]},{"name":"pillow","SPDXID":"SPDXRef-pypi-pillow-9.4.0py311hcec6c5f0-75c946","versionInfo":"9.4.0=py311hcec6c5f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pillow@9.4.0%3Dpy311hcec6c5f_0"}]},{"name":"zeromq","SPDXID":"SPDXRef-pypi-zeromq-4.3.4h23ab4280-75c946","versionInfo":"4.3.4=h23ab428_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/zeromq@4.3.4%3Dh23ab428_0"}]},{"name":"scipy","SPDXID":"SPDXRef-pypi-scipy-1.10.1py311h224febf1-75c946","versionInfo":"1.10.1=py311h224febf_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/scipy@1.10.1%3Dpy311h224febf_1"}]},{"name":"pygments","SPDXID":"SPDXRef-pypi-pygments-2.15.1py311hecd8cb50-75c946","versionInfo":"2.15.1=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pygments@2.15.1%3Dpy311hecd8cb5_0"}]},{"name":"pure-eval","SPDXID":"SPDXRef-pypi-pure-eval-0.2.2pyhd3eb1b00-75c946","versionInfo":"0.2.2=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pure-eval@0.2.2%3Dpyhd3eb1b0_0"}]},{"name":"appnope","SPDXID":"SPDXRef-pypi-appnope-0.1.2py311hecd8cb51001-75c946","versionInfo":"0.1.2=py311hecd8cb5_1001","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/appnope@0.1.2%3Dpy311hecd8cb5_1001"}]},{"name":"mkl","SPDXID":"SPDXRef-pypi-mkl-2023.1.0h59209a443558-75c946","versionInfo":"2023.1.0=h59209a4_43558","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mkl@2023.1.0%3Dh59209a4_43558"}]},{"name":"tbb","SPDXID":"SPDXRef-pypi-tbb-2021.8.0ha357a0b0-75c946","versionInfo":"2021.8.0=ha357a0b_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tbb@2021.8.0%3Dha357a0b_0"}]},{"name":"xz","SPDXID":"SPDXRef-pypi-xz-5.4.2h6c40b1e0-75c946","versionInfo":"5.4.2=h6c40b1e_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/xz@5.4.2%3Dh6c40b1e_0"}]},{"name":"charset-normalizer","SPDXID":"SPDXRef-pypi-charset-normalizer-2.0.4pyhd3eb1b00-75c946","versionInfo":"2.0.4=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/charset-normalizer@2.0.4%3Dpyhd3eb1b0_0"}]},{"name":"zlib","SPDXID":"SPDXRef-pypi-zlib-1.2.13h4dc903c0-75c946","versionInfo":"1.2.13=h4dc903c_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/zlib@1.2.13%3Dh4dc903c_0"}]},{"name":"pexpect","SPDXID":"SPDXRef-pypi-pexpect-4.8.0pyhd3eb1b03-75c946","versionInfo":"4.8.0=pyhd3eb1b0_3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pexpect@4.8.0%3Dpyhd3eb1b0_3"}]},{"name":"comm","SPDXID":"SPDXRef-pypi-comm-0.1.2py311hecd8cb50-75c946","versionInfo":"0.1.2=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/comm@0.1.2%3Dpy311hecd8cb5_0"}]},{"name":"libffi","SPDXID":"SPDXRef-pypi-libffi-3.4.4hecd8cb50-75c946","versionInfo":"3.4.4=hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libffi@3.4.4%3Dhecd8cb5_0"}]},{"name":"h5py","SPDXID":"SPDXRef-pypi-h5py-3.7.0py311h4bbaca60-75c946","versionInfo":"3.7.0=py311h4bbaca6_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/h5py@3.7.0%3Dpy311h4bbaca6_0"}]},{"name":"libwebp","SPDXID":"SPDXRef-pypi-libwebp-1.2.4hf6ce1541-75c946","versionInfo":"1.2.4=hf6ce154_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libwebp@1.2.4%3Dhf6ce154_1"}]},{"name":"libsodium","SPDXID":"SPDXRef-pypi-libsodium-1.0.18h1de35cc0-75c946","versionInfo":"1.0.18=h1de35cc_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libsodium@1.0.18%3Dh1de35cc_0"}]},{"name":"jupyter-client","SPDXID":"SPDXRef-pypi-jupyter-client-8.1.0py311hecd8cb50-75c946","versionInfo":"8.1.0=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jupyter-client@8.1.0%3Dpy311hecd8cb5_0"}]},{"name":"freetype","SPDXID":"SPDXRef-pypi-freetype-2.12.1hd8bbffd0-75c946","versionInfo":"2.12.1=hd8bbffd_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/freetype@2.12.1%3Dhd8bbffd_0"}]},{"name":"jpeg","SPDXID":"SPDXRef-pypi-jpeg-9eh6c40b1e1-75c946","versionInfo":"9e=h6c40b1e_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jpeg@9e%3Dh6c40b1e_1"}]},{"name":"munkres","SPDXID":"SPDXRef-pypi-munkres-1.1.4py0-75c946","versionInfo":"1.1.4=py_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/munkres@1.1.4%3Dpy_0"}]},{"name":"tzdata","SPDXID":"SPDXRef-pypi-tzdata-2023ch04d1e810-75c946","versionInfo":"2023c=h04d1e81_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tzdata@2023c%3Dh04d1e81_0"}]},{"name":"mkl-random","SPDXID":"SPDXRef-pypi-mkl-random-1.2.2py311hdb55bb01-75c946","versionInfo":"1.2.2=py311hdb55bb0_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mkl-random@1.2.2%3Dpy311hdb55bb0_1"}]},{"name":"cycler","SPDXID":"SPDXRef-pypi-cycler-0.11.0pyhd3eb1b00-75c946","versionInfo":"0.11.0=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/cycler@0.11.0%3Dpyhd3eb1b0_0"}]},{"name":"fonttools","SPDXID":"SPDXRef-pypi-fonttools-4.25.0pyhd3eb1b00-75c946","versionInfo":"4.25.0=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/fonttools@4.25.0%3Dpyhd3eb1b0_0"}]},{"name":"tk","SPDXID":"SPDXRef-pypi-tk-8.6.12h5d9f67b0-75c946","versionInfo":"8.6.12=h5d9f67b_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tk@8.6.12%3Dh5d9f67b_0"}]},{"name":"blas","SPDXID":"SPDXRef-pypi-blas-1.0mkl-75c946","versionInfo":"1.0=mkl","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/blas@1.0%3Dmkl"}]},{"name":"cffi","SPDXID":"SPDXRef-pypi-cffi-1.15.1py311h6c40b1e3-75c946","versionInfo":"1.15.1=py311h6c40b1e_3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/cffi@1.15.1%3Dpy311h6c40b1e_3"}]},{"name":"contourpy","SPDXID":"SPDXRef-pypi-contourpy-1.0.5py311ha357a0b0-75c946","versionInfo":"1.0.5=py311ha357a0b_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/contourpy@1.0.5%3Dpy311ha357a0b_0"}]},{"name":"ca-certificates","SPDXID":"SPDXRef-pypi-ca-certificates-2023.01.10hecd8cb50-75c946","versionInfo":"2023.01.10=hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ca-certificates@2023.01.10%3Dhecd8cb5_0"}]},{"name":"libgfortran","SPDXID":"SPDXRef-pypi-libgfortran-5.0.01130hecd8cb528-75c946","versionInfo":"5.0.0=11_3_0_hecd8cb5_28","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libgfortran@5.0.0%3D11_3_0_hecd8cb5_28"}]},{"name":"jedi","SPDXID":"SPDXRef-pypi-jedi-0.18.1py311hecd8cb51-75c946","versionInfo":"0.18.1=py311hecd8cb5_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jedi@0.18.1%3Dpy311hecd8cb5_1"}]},{"name":"libbrotlienc","SPDXID":"SPDXRef-pypi-libbrotlienc-1.0.9hca72f7f7-75c946","versionInfo":"1.0.9=hca72f7f_7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libbrotlienc@1.0.9%3Dhca72f7f_7"}]},{"name":"decorator","SPDXID":"SPDXRef-pypi-decorator-5.1.1pyhd3eb1b00-75c946","versionInfo":"5.1.1=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/decorator@5.1.1%3Dpyhd3eb1b0_0"}]},{"name":"brotlipy","SPDXID":"SPDXRef-pypi-brotlipy-0.7.0py311h6c40b1e1002-75c946","versionInfo":"0.7.0=py311h6c40b1e_1002","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/brotlipy@0.7.0%3Dpy311h6c40b1e_1002"}]},{"name":"matplotlib","SPDXID":"SPDXRef-pypi-matplotlib-3.7.1py311hecd8cb51-75c946","versionInfo":"3.7.1=py311hecd8cb5_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/matplotlib@3.7.1%3Dpy311hecd8cb5_1"}]},{"name":"mkl-fft","SPDXID":"SPDXRef-pypi-mkl-fft-1.3.6py311hdb55bb01-75c946","versionInfo":"1.3.6=py311hdb55bb0_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mkl-fft@1.3.6%3Dpy311hdb55bb0_1"}]},{"name":"pyzmq","SPDXID":"SPDXRef-pypi-pyzmq-25.0.2py311hcec6c5f0-75c946","versionInfo":"25.0.2=py311hcec6c5f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyzmq@25.0.2%3Dpy311hcec6c5f_0"}]},{"name":"libbrotlidec","SPDXID":"SPDXRef-pypi-libbrotlidec-1.0.9hca72f7f7-75c946","versionInfo":"1.0.9=hca72f7f_7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libbrotlidec@1.0.9%3Dhca72f7f_7"}]},{"name":"libwebp-base","SPDXID":"SPDXRef-pypi-libwebp-base-1.2.4h6c40b1e1-75c946","versionInfo":"1.2.4=h6c40b1e_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libwebp-base@1.2.4%3Dh6c40b1e_1"}]},{"name":"kiwisolver","SPDXID":"SPDXRef-pypi-kiwisolver-1.4.4py311hcec6c5f0-75c946","versionInfo":"1.4.4=py311hcec6c5f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/kiwisolver@1.4.4%3Dpy311hcec6c5f_0"}]},{"name":"prompt-toolkit","SPDXID":"SPDXRef-pypi-prompt-toolkit-3.0.36py311hecd8cb50-75c946","versionInfo":"3.0.36=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/prompt-toolkit@3.0.36%3Dpy311hecd8cb5_0"}]},{"name":"pyparsing","SPDXID":"SPDXRef-pypi-pyparsing-3.0.9py311hecd8cb50-75c946","versionInfo":"3.0.9=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyparsing@3.0.9%3Dpy311hecd8cb5_0"}]},{"name":"certifi","SPDXID":"SPDXRef-pypi-certifi-2022.12.7py311hecd8cb50-75c946","versionInfo":"2022.12.7=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/certifi@2022.12.7%3Dpy311hecd8cb5_0"}]},{"name":"urllib3","SPDXID":"SPDXRef-pypi-urllib3-1.26.15py311hecd8cb50-75c946","versionInfo":"1.26.15=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/urllib3@1.26.15%3Dpy311hecd8cb5_0"}]},{"name":"numpy","SPDXID":"SPDXRef-pypi-numpy-1.24.3py311h728a8a31-75c946","versionInfo":"1.24.3=py311h728a8a3_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/numpy@1.24.3%3Dpy311h728a8a3_1"}]},{"name":"wcwidth","SPDXID":"SPDXRef-pypi-wcwidth-0.2.5pyhd3eb1b00-75c946","versionInfo":"0.2.5=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/wcwidth@0.2.5%3Dpyhd3eb1b0_0"}]},{"name":"executing","SPDXID":"SPDXRef-pypi-executing-0.8.3pyhd3eb1b00-75c946","versionInfo":"0.8.3=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/executing@0.8.3%3Dpyhd3eb1b0_0"}]},{"name":"ipython","SPDXID":"SPDXRef-pypi-ipython-8.12.0py311hecd8cb50-75c946","versionInfo":"8.12.0=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ipython@8.12.0%3Dpy311hecd8cb5_0"}]},{"name":"nest-asyncio","SPDXID":"SPDXRef-pypi-nest-asyncio-1.5.6py311hecd8cb50-75c946","versionInfo":"1.5.6=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/nest-asyncio@1.5.6%3Dpy311hecd8cb5_0"}]},{"name":"sqlite","SPDXID":"SPDXRef-pypi-sqlite-3.41.2h6c40b1e0-75c946","versionInfo":"3.41.2=h6c40b1e_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/sqlite@3.41.2%3Dh6c40b1e_0"}]},{"name":"numpy-base","SPDXID":"SPDXRef-pypi-numpy-base-1.24.3py311h53bf9ac1-75c946","versionInfo":"1.24.3=py311h53bf9ac_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/numpy-base@1.24.3%3Dpy311h53bf9ac_1"}]},{"name":"backcall","SPDXID":"SPDXRef-pypi-backcall-0.2.0pyhd3eb1b00-75c946","versionInfo":"0.2.0=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/backcall@0.2.0%3Dpyhd3eb1b0_0"}]},{"name":"python-dateutil","SPDXID":"SPDXRef-pypi-python-dateutil-2.8.2pyhd3eb1b00-75c946","versionInfo":"2.8.2=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-dateutil@2.8.2%3Dpyhd3eb1b0_0"}]},{"name":"stack-data","SPDXID":"SPDXRef-pypi-stack-data-0.2.0pyhd3eb1b00-75c946","versionInfo":"0.2.0=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/stack-data@0.2.0%3Dpyhd3eb1b0_0"}]},{"name":"platformdirs","SPDXID":"SPDXRef-pypi-platformdirs-2.5.2py311hecd8cb50-75c946","versionInfo":"2.5.2=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/platformdirs@2.5.2%3Dpy311hecd8cb5_0"}]},{"name":"traitlets","SPDXID":"SPDXRef-pypi-traitlets-5.7.1py311hecd8cb50-75c946","versionInfo":"5.7.1=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/traitlets@5.7.1%3Dpy311hecd8cb5_0"}]},{"name":"pip","SPDXID":"SPDXRef-pypi-pip-23.0.1py311hecd8cb50-75c946","versionInfo":"23.0.1=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pip@23.0.1%3Dpy311hecd8cb5_0"}]},{"name":"cryptography","SPDXID":"SPDXRef-pypi-cryptography-39.0.1py311hf6deb260-75c946","versionInfo":"39.0.1=py311hf6deb26_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/cryptography@39.0.1%3Dpy311hf6deb26_0"}]},{"name":"appdirs","SPDXID":"SPDXRef-pypi-appdirs-1.4.4pyhd3eb1b00-75c946","versionInfo":"1.4.4=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/appdirs@1.4.4%3Dpyhd3eb1b0_0"}]},{"name":"psutil","SPDXID":"SPDXRef-pypi-psutil-5.9.0py311h6c40b1e0-75c946","versionInfo":"5.9.0=py311h6c40b1e_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/psutil@5.9.0%3Dpy311h6c40b1e_0"}]},{"name":"pyopenssl","SPDXID":"SPDXRef-pypi-pyopenssl-23.0.0py311hecd8cb50-75c946","versionInfo":"23.0.0=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyopenssl@23.0.0%3Dpy311hecd8cb5_0"}]},{"name":"setuptools","SPDXID":"SPDXRef-pypi-setuptools-66.0.0py311hecd8cb50-75c946","versionInfo":"66.0.0=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/setuptools@66.0.0%3Dpy311hecd8cb5_0"}]},{"name":"pycparser","SPDXID":"SPDXRef-pypi-pycparser-2.21pyhd3eb1b00-75c946","versionInfo":"2.21=pyhd3eb1b0_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pycparser@2.21%3Dpyhd3eb1b0_0"}]},{"name":"six","SPDXID":"SPDXRef-pypi-six-1.16.0pyhd3eb1b01-75c946","versionInfo":"1.16.0=pyhd3eb1b0_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/six@1.16.0%3Dpyhd3eb1b0_1"}]},{"name":"lcms2","SPDXID":"SPDXRef-pypi-lcms2-2.12hf1fd2bf0-75c946","versionInfo":"2.12=hf1fd2bf_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/lcms2@2.12%3Dhf1fd2bf_0"}]},{"name":"matplotlib-base","SPDXID":"SPDXRef-pypi-matplotlib-base-3.7.1py311h11e8b891-75c946","versionInfo":"3.7.1=py311h11e8b89_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/matplotlib-base@3.7.1%3Dpy311h11e8b89_1"}]},{"name":"packaging","SPDXID":"SPDXRef-pypi-packaging-23.0py311hecd8cb50-75c946","versionInfo":"23.0=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/packaging@23.0%3Dpy311hecd8cb5_0"}]},{"name":"brotli-bin","SPDXID":"SPDXRef-pypi-brotli-bin-1.0.9hca72f7f7-75c946","versionInfo":"1.0.9=hca72f7f_7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/brotli-bin@1.0.9%3Dhca72f7f_7"}]},{"name":"lerc","SPDXID":"SPDXRef-pypi-lerc-3.0he9d5cce0-75c946","versionInfo":"3.0=he9d5cce_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/lerc@3.0%3Dhe9d5cce_0"}]},{"name":"libpng","SPDXID":"SPDXRef-pypi-libpng-1.6.39h6c40b1e0-75c946","versionInfo":"1.6.39=h6c40b1e_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libpng@1.6.39%3Dh6c40b1e_0"}]},{"name":"jupyter-core","SPDXID":"SPDXRef-pypi-jupyter-core-5.3.0py311hecd8cb50-75c946","versionInfo":"5.3.0=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/jupyter-core@5.3.0%3Dpy311hecd8cb5_0"}]},{"name":"llvm-openmp","SPDXID":"SPDXRef-pypi-llvm-openmp-14.0.6h0dcd2990-75c946","versionInfo":"14.0.6=h0dcd299_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/llvm-openmp@14.0.6%3Dh0dcd299_0"}]},{"name":"mkl-service","SPDXID":"SPDXRef-pypi-mkl-service-2.4.0py311h6c40b1e1-75c946","versionInfo":"2.4.0=py311h6c40b1e_1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/mkl-service@2.4.0%3Dpy311h6c40b1e_1"}]},{"name":"libgfortran5","SPDXID":"SPDXRef-pypi-libgfortran5-11.3.0h9dfd62928-75c946","versionInfo":"11.3.0=h9dfd629_28","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libgfortran5@11.3.0%3Dh9dfd629_28"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-2.29.0py311hecd8cb50-75c946","versionInfo":"2.29.0=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests@2.29.0%3Dpy311hecd8cb5_0"}]},{"name":"libbrotlicommon","SPDXID":"SPDXRef-pypi-libbrotlicommon-1.0.9hca72f7f7-75c946","versionInfo":"1.0.9=hca72f7f_7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libbrotlicommon@1.0.9%3Dhca72f7f_7"}]},{"name":"zstd","SPDXID":"SPDXRef-pypi-zstd-1.5.5hc035e200-75c946","versionInfo":"1.5.5=hc035e20_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/zstd@1.5.5%3Dhc035e20_0"}]},{"name":"ptyprocess","SPDXID":"SPDXRef-pypi-ptyprocess-0.7.0pyhd3eb1b02-75c946","versionInfo":"0.7.0=pyhd3eb1b0_2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ptyprocess@0.7.0%3Dpyhd3eb1b0_2"}]},{"name":"matplotlib-inline","SPDXID":"SPDXRef-pypi-matplotlib-inline-0.1.6py311hecd8cb50-75c946","versionInfo":"0.1.6=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/matplotlib-inline@0.1.6%3Dpy311hecd8cb5_0"}]},{"name":"wheel","SPDXID":"SPDXRef-pypi-wheel-0.38.4py311hecd8cb50-75c946","versionInfo":"0.38.4=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/wheel@0.38.4%3Dpy311hecd8cb5_0"}]},{"name":"tornado","SPDXID":"SPDXRef-pypi-tornado-6.2py311h6c40b1e0-75c946","versionInfo":"6.2=py311h6c40b1e_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/tornado@6.2%3Dpy311h6c40b1e_0"}]},{"name":"debugpy","SPDXID":"SPDXRef-pypi-debugpy-1.5.1py311hcec6c5f0-75c946","versionInfo":"1.5.1=py311hcec6c5f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/debugpy@1.5.1%3Dpy311hcec6c5f_0"}]},{"name":"python","SPDXID":"SPDXRef-pypi-python-3.11.3h1fd4e5f0-75c946","versionInfo":"3.11.3=h1fd4e5f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python@3.11.3%3Dh1fd4e5f_0"}]},{"name":"idna","SPDXID":"SPDXRef-pypi-idna-3.4py311hecd8cb50-75c946","versionInfo":"3.4=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/idna@3.4%3Dpy311hecd8cb5_0"}]},{"name":"libcxx","SPDXID":"SPDXRef-pypi-libcxx-14.0.6h9765a3e0-75c946","versionInfo":"14.0.6=h9765a3e_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libcxx@14.0.6%3Dh9765a3e_0"}]},{"name":"libdeflate","SPDXID":"SPDXRef-pypi-libdeflate-1.17hb664fd80-75c946","versionInfo":"1.17=hb664fd8_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libdeflate@1.17%3Dhb664fd8_0"}]},{"name":"libtiff","SPDXID":"SPDXRef-pypi-libtiff-4.5.0hcec6c5f2-75c946","versionInfo":"4.5.0=hcec6c5f_2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/libtiff@4.5.0%3Dhcec6c5f_2"}]},{"name":"ncurses","SPDXID":"SPDXRef-pypi-ncurses-6.4hcec6c5f0-75c946","versionInfo":"6.4=hcec6c5f_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/ncurses@6.4%3Dhcec6c5f_0"}]},{"name":"pysocks","SPDXID":"SPDXRef-pypi-pysocks-1.7.1py311hecd8cb50-75c946","versionInfo":"1.7.1=py311hecd8cb5_0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pysocks@1.7.1%3Dpy311hecd8cb5_0"}]},{"name":"flask","SPDXID":"SPDXRef-pypi-flask-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask"}]},{"name":"nose","SPDXID":"SPDXRef-pypi-nose-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/nose"}]},{"name":"com.github.sillyfish/learn-python","SPDXID":"SPDXRef-github-sillyfish-learn-python-master-d238bc","versionInfo":"master","downloadLocation":"git+https://github.com/sillyfish/learn-python","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/sillyfish/learn-python@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libbrotlidec-1.0.9hca72f7f7-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-mkl-2023.1.0h59209a443558-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-ipykernel-6.19.2py311h4975b630-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-intel-openmp-2023.1.0ha357a0b43547-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-contourpy-1.0.5py311ha357a0b0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-brotlipy-0.7.0py311h6c40b1e1002-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-debugpy-1.5.1py311hcec6c5f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-flask-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-giflib-5.2.1h6c40b1e3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pooch-1.4.0pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-munkres-1.1.4py0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-kiwisolver-1.4.4py311hcec6c5f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-setuptools-66.0.0py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-zstd-1.5.5hc035e200-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-openssl-1.1.1thca72f7f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-scipy-1.10.1py311h224febf1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pure-eval-0.2.2pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-comm-0.1.2py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libsodium-1.0.18h1de35cc0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-cffi-1.15.1py311h6c40b1e3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-tornado-6.2py311h6c40b1e0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pysocks-1.7.1py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-hdf5-1.10.6h10fe05b1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-xz-5.4.2h6c40b1e0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-wheel-0.38.4py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pillow-9.4.0py311hcec6c5f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pickleshare-0.7.5pyhd3eb1b01003-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-readline-8.2hca72f7f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pygments-2.15.1py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-jupyter-client-8.1.0py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-certifi-2022.12.7py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-mkl-service-2.4.0py311h6c40b1e1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libffi-3.4.4hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-cycler-0.11.0pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-fonttools-4.25.0pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-blas-1.0mkl-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-brotli-1.0.9hca72f7f7-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-h5py-3.7.0py311h4bbaca60-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-freetype-2.12.1hd8bbffd0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libbrotlienc-1.0.9hca72f7f7-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-cryptography-39.0.1py311hf6deb260-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pycparser-2.21pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-lerc-3.0he9d5cce0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-idna-3.4py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-asttokens-2.0.5pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-lz4-c-1.9.4hcec6c5f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-appnope-0.1.2py311hecd8cb51001-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-prompt-toolkit-3.0.36py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pyparsing-3.0.9py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-urllib3-1.26.15py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-sqlite-3.41.2h6c40b1e0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-backcall-0.2.0pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-tzdata-2023ch04d1e810-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-tk-8.6.12h5d9f67b0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pyzmq-25.0.2py311hcec6c5f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-nest-asyncio-1.5.6py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-stack-data-0.2.0pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-platformdirs-2.5.2py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-matplotlib-base-3.7.1py311h11e8b891-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-llvm-openmp-14.0.6h0dcd2990-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-zeromq-4.3.4h23ab4280-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-mkl-random-1.2.2py311hdb55bb01-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-ca-certificates-2023.01.10hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libgfortran-5.0.01130hecd8cb528-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-lcms2-2.12hf1fd2bf0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libbrotlicommon-1.0.9hca72f7f7-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-python-3.11.3h1fd4e5f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-charset-normalizer-2.0.4pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-decorator-5.1.1pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libwebp-base-1.2.4h6c40b1e1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-executing-0.8.3pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-ipython-8.12.0py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pip-23.0.1py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-six-1.16.0pyhd3eb1b01-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libdeflate-1.17hb664fd80-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pexpect-4.8.0pyhd3eb1b03-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-jpeg-9eh6c40b1e1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-jedi-0.18.1py311hecd8cb51-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-numpy-base-1.24.3py311h53bf9ac1-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-python-dateutil-2.8.2pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-appdirs-1.4.4pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-psutil-5.9.0py311h6c40b1e0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-packaging-23.0py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-bzip2-1.0.8h1de35cc0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-parso-0.8.3pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-traitlets-5.7.1py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-pyopenssl-23.0.0py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libpng-1.6.39h6c40b1e0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-jupyter-core-5.3.0py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-requests-2.29.0py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-matplotlib-3.7.1py311hecd8cb51-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libcxx-14.0.6h9765a3e0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-ncurses-6.4hcec6c5f0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-nose-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libwebp-1.2.4hf6ce1541-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-numpy-1.24.3py311h728a8a31-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-brotli-bin-1.0.9hca72f7f7-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libgfortran5-11.3.0h9dfd62928-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-ptyprocess-0.7.0pyhd3eb1b02-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-matplotlib-inline-0.1.6py311hecd8cb50-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-tbb-2021.8.0ha357a0b0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-zlib-1.2.13h4dc903c0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-mkl-fft-1.3.6py311hdb55bb01-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-wcwidth-0.2.5pyhd3eb1b00-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relatedSpdxElement":"SPDXRef-pypi-libtiff-4.5.0hcec6c5f2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-sillyfish-learn-python-master-d238bc","relationshipType":"DESCRIBES"}]}