Python Materials Genomics (pymatgen) is a robust materials analysis code that defines classes for structures and molecules with support for many electronic structure codes. It powers the Materials Project.
HI! I was trying to use CrystalNN with a multiprocessing pool and found that the CPU usage was unexpected. I have given some small tests to figure out where the problems are and then found that when I import some modules from pymatgen, such as from pymatgen.analysis.local_env import CrystalNN, from pymatgen.core import Structure, the issue will occur.
The following codes show minimal implementation to reproduce this issue.
The normal case.
from multiprocessing import Pool
import math
def task(arg):
return sum([math.sqrt(i) for i in range(1, arg)])
with Pool(16) as pool:
# perform calculations
results = pool.map(task, range(1,50000))
The bugged case. Whatever change the number of processes, the total CPU usage is 200% (In the follow case, is 12.5 x 16 = 200%),
from multiprocessing import Pool
import math
import pymatgen.core.periodic_table # <- this cause error
def task(arg):
return sum([math.sqrt(i) for i in range(1, arg)])
with Pool(16) as pool:
# perform calculations
results = pool.map(task, range(1,50000))
HI! I was trying to use
CrystalNN
with a multiprocessing pool and found that the CPU usage was unexpected. I have given some small tests to figure out where the problems are and then found that when I import some modules from pymatgen, such asfrom pymatgen.analysis.local_env import CrystalNN
,from pymatgen.core import Structure
, the issue will occur.The following codes show minimal implementation to reproduce this issue.
The normal case.
The bugged case. Whatever change the number of processes, the total CPU usage is 200% (In the follow case, is 12.5 x 16 = 200%),
OS: Ubuntu 22.04.3 LTS
My Python(3.8.17) env:
| Name | Version | Build | Channel | |-------------------------------|--------------|-----------------------------|---------------------| | _libgcc_mutex | 0.1 | conda_forge | conda-forge | | _openmp_mutex | 4.5 | 2_kmp_llvm | conda-forge | | aiofiles | 22.1.0 | pypi_0 | pypi | | aiohttp | 3.8.6 | py38h01eb140_1 | conda-forge | | aiosignal | 1.3.1 | pyhd8ed1ab_0 | conda-forge | | aiosqlite | 0.19.0 | pypi_0 | pypi | | alsa-lib | 1.2.8 | h166bdaf_0 | conda-forge | | annotated-types | 0.6.0 | pyhd8ed1ab_0 | conda-forge | | ansi2html | 1.8.0 | pypi_0 | pypi | | anyio | 4.0.0 | pyhd8ed1ab_0 | conda-forge | | aom | 3.5.0 | h27087fc_0 | conda-forge | | appdirs | 1.4.4 | pyh9f0ad1d_0 | conda-forge | | argon2-cffi | 23.1.0 | pyhd8ed1ab_0 | conda-forge | | argon2-cffi-bindings | 21.2.0 | py38h01eb140_4 | conda-forge | | arrow | 1.3.0 | pyhd8ed1ab_0 | conda-forge | | ase | 3.22.1 | pyhd8ed1ab_1 | conda-forge | | asttokens | 2.4.0 | pyhd8ed1ab_0 | conda-forge | | async-lru | 2.0.4 | pyhd8ed1ab_0 | conda-forge | | async-timeout | 4.0.3 | pyhd8ed1ab_0 | conda-forge | | attr | 2.5.1 | h166bdaf_1 | conda-forge | | attrs | 23.1.0 | pyh71513ae_1 | conda-forge | | aws-c-auth | 0.7.0 | hf8751d9_2 | conda-forge | | aws-c-cal | 0.6.0 | h93469e0_0 | conda-forge | | aws-c-common | 0.8.23 | hd590300_0 | conda-forge | | aws-c-compression | 0.2.17 | h862ab75_1 | conda-forge | | aws-c-event-stream | 0.3.1 | h9599702_1 | conda-forge | | aws-c-http | 0.7.11 | hbe98c3e_0 | conda-forge | | aws-c-io | 0.13.28 | h3870b5a_0 | conda-forge | | aws-c-mqtt | 0.8.14 | h2e270ba_2 | conda-forge | | aws-c-s3 | 0.3.13 | heb0bb06_2 | conda-forge | | aws-c-sdkutils | 0.1.11 | h862ab75_1 | conda-forge | | aws-checksums | 0.1.16 | h862ab75_1 | conda-forge | | aws-crt-cpp | 0.20.3 | he9c0e7f_4 | conda-forge | | aws-sdk-cpp | 1.10.57 | hbc2ea52_17 | conda-forge | | babel | 2.13.0 | pyhd8ed1ab_0 | conda-forge | | backcall | 0.2.0 | pyh9f0ad1d_0 | conda-forge | | backports | 1 | pyhd8ed1ab_3 | conda-forge | | backports.functools_lru_cache | 1.6.5 | pyhd8ed1ab_0 | conda-forge | | beautifulsoup4 | 4.12.2 | pyha770c72_0 | conda-forge | | blas | 1 | mkl | conda-forge | | bleach | 6.1.0 | pyhd8ed1ab_0 | conda-forge | | blinker | 1.6.3 | pyhd8ed1ab_0 | conda-forge | | boost | 1.78.0 | py38hae673b5_5 | conda-forge | | boost-cpp | 1.78.0 | h5adbc97_2 | conda-forge | | brotli | 1.1.0 | hd590300_1 | conda-forge | | brotli-bin | 1.1.0 | hd590300_1 | conda-forge | | brotli-python | 1.1.0 | py38h17151c0_1 | conda-forge | | bzip2 | 1.0.8 | h7f98852_4 | conda-forge | | c-ares | 1.20.1 | hd590300_0 | conda-forge | | ca-certificates | 2023.7.22 | hbcca054_0 | conda-forge | | cached-property | 1.5.2 | hd8ed1ab_1 | conda-forge | | cached_property | 1.5.2 | pyha770c72_1 | conda-forge | | cachelib | 0.9.0 | pypi_0 | pypi | | cairo | 1.16.0 | ha61ee94_1014 | conda-forge | | certifi | 2023.7.22 | pyhd8ed1ab_0 | conda-forge | | cffi | 1.16.0 | py38h6d47a40_0 | conda-forge | | cftime | 1.6.2 | py38h7f0c24c_2 | conda-forge | | charset-normalizer | 3.3.0 | pyhd8ed1ab_0 | conda-forge | | chgnet | 0.2.0 | pypi_0 | pypi | | chronic | 0.3.4 | pyhd3deb0d_0 | conda-forge | | click | 8.1.7 | unix_pyh707e725_0 | conda-forge | | colorama | 0.4.6 | pyhd8ed1ab_0 | conda-forge | | comm | 0.1.4 | pyhd8ed1ab_0 | conda-forge | | contourpy | 1.1.1 | py38h7f3f72f_1 | conda-forge | | cryptography | 41.0.4 | py38hcdda232_0 | conda-forge | | crystal-toolkit | 2023.8.9 | pypi_0 | pypi | | crystallus | 0.3.1_rc1 | pypi_0 | pypi | | crystaltoolkit-extension | 0.6.0 | pypi_0 | pypi | | cuda-cudart | 11.8.89 | 0 | nvidia | | cuda-cupti | 11.8.87 | 0 | nvidia | | cuda-libraries | 11.8.0 | 0 | nvidia | | cuda-nvrtc | 11.8.89 | 0 | nvidia | | cuda-nvtx | 11.8.86 | 0 | nvidia | | cuda-runtime | 11.8.0 | 0 | nvidia | | cuda-version | 12 | hffde075_2 | conda-forge | | curl | 8.1.2 | h409715c_0 | conda-forge | | cycler | 0.12.1 | pyhd8ed1ab_0 | conda-forge | | cython | 3.0.0 | pypi_0 | pypi | | dash | 2.12.0 | pypi_0 | pypi | | dash-core-components | 2.0.0 | pypi_0 | pypi | | dash-html-components | 2.0.0 | pypi_0 | pypi | | dash-mp-components | 0.4.37 | pypi_0 | pypi | | dash-table | 5.0.0 | pypi_0 | pypi | | dbus | 1.13.6 | h5008d03_3 | conda-forge | | debugpy | 1.8.0 | py38h17151c0_1 | conda-forge | | decorator | 5.1.1 | pyhd8ed1ab_0 | conda-forge | | defusedxml | 0.7.1 | pyhd8ed1ab_0 | conda-forge | | deprecated | 1.2.14 | pypi_0 | pypi | | dgl | 1.1.2.cu118 | py38_0 | dglteam/label/cu118 | | dnspython | 2.4.2 | pyhd8ed1ab_0 | conda-forge | | docker-pycreds | 0.4.0 | py_0 | conda-forge | | double-conversion | 3.2.0 | h27087fc_1 | conda-forge | | eigen | 3.4.0 | h00ab1b0_0 | conda-forge | | emmet-core | 0.69.5 | pyhd8ed1ab_0 | conda-forge | | entrypoints | 0.4 | pyhd8ed1ab_0 | conda-forge | | et_xmlfile | 1.1.0 | pyhd8ed1ab_0 | conda-forge | | exceptiongroup | 1.1.3 | pyhd8ed1ab_0 | conda-forge | | executing | 1.2.0 | pyhd8ed1ab_0 | conda-forge | | expat | 2.5.0 | hcb278e6_1 | conda-forge | | fastcluster | 1.2.6 | py38h53bb729_3 | conda-forge | | ffmpeg | 5.1.2 | gpl_h8dda1f0_106 | conda-forge | | fftw | 3.3.10 | nompi_hc118613_108 | conda-forge | | filelock | 3.12.4 | pyhd8ed1ab_0 | conda-forge | | flask | 2.2.5 | pypi_0 | pypi | | flask-caching | 2.0.2 | pypi_0 | pypi | | flit-core | 3.9.0 | pyhd8ed1ab_0 | conda-forge | | font-ttf-dejavu-sans-mono | 2.37 | hab24e00_0 | conda-forge | | font-ttf-inconsolata | 3 | h77eed37_0 | conda-forge | | font-ttf-source-code-pro | 2.038 | h77eed37_0 | conda-forge | | font-ttf-ubuntu | 0.83 | hab24e00_0 | conda-forge | | fontconfig | 2.14.2 | h14ed4e7_0 | conda-forge | | fonts-conda-ecosystem | 1 | 0 | conda-forge | | fonts-conda-forge | 1 | 0 | conda-forge | | fonttools | 4.43.1 | py38h01eb140_0 | conda-forge | | fqdn | 1.5.1 | pyhd8ed1ab_0 | conda-forge | | freetype | 2.12.1 | h267a509_2 | conda-forge | | freetype-py | 2.3.0 | pyhd8ed1ab_0 | conda-forge | | frozendict | 2.3.8 | py38h01eb140_1 | conda-forge | | frozenlist | 1.4.0 | py38h01eb140_1 | conda-forge | | fsspec | 2023.6.0 | pypi_0 | pypi | | future | 0.18.3 | pyhd8ed1ab_0 | conda-forge | | gettext | 0.21.1 | h27087fc_0 | conda-forge | | gitdb | 4.0.10 | pyhd8ed1ab_0 | conda-forge | | gitpython | 3.1.37 | pyhd8ed1ab_0 | conda-forge | | gl2ps | 1.4.2 | h0708190_0 | conda-forge | | glew | 2.1.0 | h9c3ff4c_2 | conda-forge | | glib | 2.78.0 | hfc55251_0 | conda-forge | | glib-tools | 2.78.0 | hfc55251_0 | conda-forge | | gmp | 6.2.1 | h58526e2_0 | conda-forge | | gmpy2 | 2.1.2 | py38h793c122_1 | conda-forge | | gnutls | 3.7.8 | hf3e180e_0 | conda-forge | | graphite2 | 1.3.13 | h58526e2_1001 | conda-forge | | greenlet | 3.0.0 | py38h17151c0_1 | conda-forge | | gst-plugins-base | 1.22.0 | h4243ec0_2 | conda-forge | | gstreamer | 1.22.0 | h25f0c4b_2 | conda-forge | | gstreamer-orc | 0.4.34 | hd590300_0 | conda-forge | | h11 | 0.14.0 | pyhd8ed1ab_0 | conda-forge | | h2 | 4.1.0 | pyhd8ed1ab_0 | conda-forge | | h5py | 3.8.0 | nompi_py38hd5fa8ee_100 | conda-forge | | harfbuzz | 6.0.0 | h8e241bc_0 | conda-forge | | hdf4 | 4.2.15 | h9772cbc_5 | conda-forge | | hdf5 | 1.12.2 | nompi_h4df4325_101 | conda-forge | | hpack | 4.0.0 | pyh9f0ad1d_0 | conda-forge | | httpcore | 1.0.0 | pyhd8ed1ab_0 | conda-forge | | hyperframe | 6.0.1 | pyhd8ed1ab_0 | conda-forge | | icu | 70.1 | h27087fc_0 | conda-forge | | idna | 3.4 | pyhd8ed1ab_0 | conda-forge | | imageio | 2.31.1 | pypi_0 | pypi | | importlib-metadata | 6.8.0 | pyha770c72_0 | conda-forge | | importlib-resources | 6.1.0 | pyhd8ed1ab_0 | conda-forge | | importlib_metadata | 6.8.0 | hd8ed1ab_0 | conda-forge | | importlib_resources | 6.1.0 | pyhd8ed1ab_0 | conda-forge | | ipykernel | 6.25.2 | pyh2140261_0 | conda-forge | | ipython | 8.12.2 | pyh41d4057_0 | conda-forge | | ipython_genutils | 0.2.0 | py_1 | conda-forge | | ipywidgets | 8.1.1 | pyhd8ed1ab_0 | conda-forge | | isoduration | 20.11.0 | pyhd8ed1ab_0 | conda-forge | | itsdangerous | 2.1.2 | pyhd8ed1ab_0 | conda-forge | | jack | 1.9.22 | h11f4161_0 | conda-forge | | jedi | 0.19.1 | pyhd8ed1ab_0 | conda-forge | | jinja2 | 3.1.2 | pyhd8ed1ab_1 | conda-forge | | joblib | 1.3.2 | pyhd8ed1ab_0 | conda-forge | | jpeg | 9e | h0b41bf4_3 | conda-forge | | json5 | 0.9.14 | pyhd8ed1ab_0 | conda-forge | | jsoncpp | 1.9.5 | h4bd325d_1 | conda-forge | | jsonpointer | 2.4 | py38h578d9bd_3 | conda-forge | | jsonschema | 4.19.1 | pyhd8ed1ab_0 | conda-forge | | jsonschema-specifications | 2023.7.1 | pyhd8ed1ab_0 | conda-forge | | jsonschema-with-format-nongpl | 4.19.1 | pyhd8ed1ab_0 | conda-forge | | jupyter | 1.0.0 | pyhd8ed1ab_10 | conda-forge | | jupyter-client | 7.4.9 | pypi_0 | pypi | | jupyter-lsp | 2.2.0 | pyhd8ed1ab_0 | conda-forge | | jupyter-server-fileid | 0.9.0 | pypi_0 | pypi | | jupyter-server-ydoc | 0.8.0 | pypi_0 | pypi | | jupyter-ydoc | 0.2.5 | pypi_0 | pypi | | jupyter_client | 8.4.0 | pyhd8ed1ab_0 | conda-forge | | jupyter_console | 6.6.3 | pyhd8ed1ab_0 | conda-forge | | jupyter_core | 5.4.0 | py38h578d9bd_0 | conda-forge | | jupyter_events | 0.7.0 | pyhd8ed1ab_2 | conda-forge | | jupyter_server | 2.7.3 | pyhd8ed1ab_1 | conda-forge | | jupyter_server_terminals | 0.4.4 | pyhd8ed1ab_1 | conda-forge | | jupyterlab | 3.6.5 | pypi_0 | pypi | | jupyterlab_pygments | 0.2.2 | pyhd8ed1ab_0 | conda-forge | | jupyterlab_server | 2.25.0 | pyhd8ed1ab_0 | conda-forge | | jupyterlab_widgets | 3.0.9 | pyhd8ed1ab_0 | conda-forge | | keyutils | 1.6.1 | h166bdaf_0 | conda-forge | | kiwisolver | 1.4.5 | py38h7f3f72f_1 | conda-forge | | krb5 | 1.20.1 | h81ceb04_0 | conda-forge | | lame | 3.1 | h166bdaf_1003 | conda-forge | | latexcodec | 2.0.1 | pyh9f0ad1d_0 | conda-forge | | lazy-loader | 0.3 | pypi_0 | pypi | | lcms2 | 2.15 | hfd0df8a_0 | conda-forge | | ld_impl_linux-64 | 2.4 | h41732ed_0 | conda-forge | | lerc | 4.0.0 | h27087fc_0 | conda-forge | | libabseil | 20230802.1 | cxx17_h59595ed_0 | conda-forge | | libaec | 1.1.2 | h59595ed_1 | conda-forge | | libblas | 3.9.0 | 16_linux64_mkl | conda-forge | | libbrotlicommon | 1.1.0 | hd590300_1 | conda-forge | | libbrotlidec | 1.1.0 | hd590300_1 | conda-forge | | libbrotlienc | 1.1.0 | hd590300_1 | conda-forge | | libcap | 2.67 | he9d0100_0 | conda-forge | | libcblas | 3.9.0 | 16_linux64_mkl | conda-forge | | libclang | 15.0.7 | default_h7634d5b_3 | conda-forge | | libclang13 | 15.0.7 | default_h9986a30_3 | conda-forge | | libcublas | 11.11.3.6 | 0 | nvidia | | libcufft | 10.9.0.58 | 0 | nvidia | | libcufile | 1.5.0.59 | hcb278e6_0 | conda-forge | | libcups | 2.3.3 | h36d4200_3 | conda-forge | | libcurand | 10.3.1.50 | hcb278e6_0 | conda-forge | | libcurl | 8.1.2 | h409715c_0 | conda-forge | | libcusolver | 11.4.1.48 | 0 | nvidia | | libcusparse | 11.7.5.86 | 0 | nvidia | | libdb | 6.2.32 | h9c3ff4c_0 | conda-forge | | libdeflate | 1.17 | h0b41bf4_0 | conda-forge | | libdrm | 2.4.114 | h166bdaf_0 | conda-forge | | libedit | 3.1.20191231 | he28a2e2_2 | conda-forge | | libev | 4.33 | h516909a_1 | conda-forge | | libevent | 2.1.10 | h28343ad_4 | conda-forge | | libexpat | 2.5.0 | hcb278e6_1 | conda-forge | | libffi | 3.4.2 | h7f98852_5 | conda-forge | | libflac | 1.4.3 | h59595ed_0 | conda-forge | | libgcc-ng | 13.2.0 | h807b86a_2 | conda-forge | | libgcrypt | 1.10.1 | h166bdaf_0 | conda-forge | | libgfortran-ng | 13.2.0 | h69a702a_2 | conda-forge | | libgfortran5 | 13.2.0 | ha4646dd_2 | conda-forge | | libglib | 2.78.0 | hebfc3b9_0 | conda-forge | | libglu | 9.0.0 | he1b5a44_1001 | conda-forge | | libgomp | 13.2.0 | h807b86a_2 | conda-forge | | libgpg-error | 1.47 | h71f35ed_0 | conda-forge | | libhwloc | 2.9.1 | hd6dc26d_0 | conda-forge | | libiconv | 1.17 | h166bdaf_0 | conda-forge | | libidn2 | 2.3.4 | h166bdaf_0 | conda-forge | | liblapack | 3.9.0 | 16_linux64_mkl | conda-forge | | libllvm15 | 15.0.7 | hadd5161_1 | conda-forge | | libnetcdf | 4.9.1 | nompi_h34a3ff0_101 | conda-forge | | libnghttp2 | 1.52.0 | h61bc06f_0 | conda-forge | | libnpp | 11.8.0.86 | 0 | nvidia | | libnsl | 2.0.0 | hd590300_1 | conda-forge | | libnvjpeg | 11.9.0.86 | 0 | nvidia | | libogg | 1.3.4 | h7f98852_1 | conda-forge | | libopus | 1.3.1 | h7f98852_1 | conda-forge | | libpciaccess | 0.17 | h166bdaf_0 | conda-forge | | libpng | 1.6.39 | h753d276_0 | conda-forge | | libpq | 15.3 | hbcd7760_1 | conda-forge | | libprotobuf | 4.24.4 | hf27288f_0 | conda-forge | | libsndfile | 1.2.2 | hc60ed4a_1 | conda-forge | | libsodium | 1.0.18 | h36c2ea0_1 | conda-forge | | libsqlite | 3.43.2 | h2797004_0 | conda-forge | | libssh2 | 1.11.0 | h0841786_0 | conda-forge | | libstdcxx-ng | 13.2.0 | h7e041cc_2 | conda-forge | | libsystemd0 | 253 | h8c4010b_1 | conda-forge | | libtasn1 | 4.19.0 | h166bdaf_0 | conda-forge | | libtheora | 1.1.1 | h7f98852_1005 | conda-forge | | libtiff | 4.5.0 | h6adf6a1_2 | conda-forge | | libtool | 2.4.7 | h27087fc_0 | conda-forge | | libudev1 | 253 | h0b41bf4_1 | conda-forge | | libunistring | 0.9.10 | h7f98852_0 | conda-forge | | libuuid | 2.38.1 | h0b41bf4_0 | conda-forge | | libva | 2.18.0 | h0b41bf4_0 | conda-forge | | libvorbis | 1.3.7 | h9c3ff4c_0 | conda-forge | | libvpx | 1.11.0 | h9c3ff4c_3 | conda-forge | | libwebp-base | 1.3.2 | hd590300_0 | conda-forge | | libxcb | 1.13 | h7f98852_1004 | conda-forge | | libxkbcommon | 1.5.0 | h79f4944_1 | conda-forge | | libxml2 | 2.10.3 | hca2bb57_4 | conda-forge | | libzip | 1.10.1 | h2629f0a_3 | conda-forge | | libzlib | 1.2.13 | hd590300_5 | conda-forge | | lightning-utilities | 0.9.0 | pypi_0 | pypi | | llvm-openmp | 17.0.2 | h4dfa4b3_0 | conda-forge | | loguru | 0.7.2 | py38h578d9bd_1 | conda-forge | | lz4-c | 1.9.4 | hcb278e6_0 | conda-forge | | markupsafe | 2.1.3 | py38h01eb140_1 | conda-forge | | matgl | 0.8.2 | pypi_0 | pypi | | matid | 0.6.3 | pyhd8ed1ab_0 | conda-forge | | matminer | 0.8.0 | pyhd8ed1ab_0 | conda-forge | | matplotlib-base | 3.7.3 | py38h58ed7fa_0 | conda-forge | | matplotlib-inline | 0.1.6 | pyhd8ed1ab_0 | conda-forge | | mistune | 3.0.1 | pyhd8ed1ab_0 | conda-forge | | mkl | 2022.2.1 | h84fe81f_16997 | conda-forge | | monty | 2023.9.25 | pyhd8ed1ab_0 | conda-forge | | mordred | 1.2.0 | py_1 | conda-forge | | mp-api | 0.33.3 | pyhd8ed1ab_0 | conda-forge | | mpc | 1.3.1 | hfe3b2da_0 | conda-forge | | mpfr | 4.2.0 | hb012696_0 | conda-forge | | mpg123 | 1.32.3 | h59595ed_0 | conda-forge | | mpmath | 1.3.0 | pyhd8ed1ab_0 | conda-forge | | msgpack-python | 1.0.6 | py38h7f3f72f_0 | conda-forge | | multidict | 6.0.4 | py38h01eb140_1 | conda-forge | | munkres | 1.1.4 | pyh9f0ad1d_0 | conda-forge | | mysql-common | 8.0.33 | hf1915f5_5 | conda-forge | | mysql-libs | 8.0.33 | hca2cd23_5 | conda-forge | | nbclassic | 1.0.0 | pypi_0 | pypi | | nbclient | 0.8.0 | pyhd8ed1ab_0 | conda-forge | | nbconvert | 7.9.2 | pyhd8ed1ab_0 | conda-forge | | nbconvert-core | 7.9.2 | pyhd8ed1ab_0 | conda-forge | | nbconvert-pandoc | 7.9.2 | pyhd8ed1ab_0 | conda-forge | | nbformat | 5.9.2 | pyhd8ed1ab_0 | conda-forge | | ncurses | 6.4 | hcb278e6_0 | conda-forge | | nest-asyncio | 1.5.7 | pyhd8ed1ab_0 | conda-forge | | netcdf4 | 1.6.3 | nompi_py38h08fe49f_100 | conda-forge | | nettle | 3.8.1 | hc379101_1 | conda-forge | | networkx | 2.8.8 | pypi_0 | pypi | | nglview | 3.0.8 | pyh1da8cd4_0 | conda-forge | | nlohmann_json | 3.11.2 | h27087fc_0 | conda-forge | | notebook | 6.5.5 | pypi_0 | pypi | | notebook-shim | 0.2.3 | pyhd8ed1ab_0 | conda-forge | | nspr | 4.35 | h27087fc_0 | conda-forge | | nss | 3.94 | h1d7d5a4_0 | conda-forge | | numpy | 1.24.4 | py38h59b608b_0 | conda-forge | | openai | 0.28.1 | pyhd8ed1ab_0 | conda-forge | | openh264 | 2.3.1 | hcb278e6_2 | conda-forge | | openjpeg | 2.5.0 | hfec8fc6_2 | conda-forge | | openpyxl | 3.1.2 | py38h01eb140_1 | conda-forge | | openssl | 3.1.3 | hd590300_0 | conda-forge | | overrides | 7.4.0 | pyhd8ed1ab_0 | conda-forge | | p11-kit | 0.24.1 | hc5aa10d_0 | conda-forge | | packaging | 23.2 | pyhd8ed1ab_0 | conda-forge | | palettable | 3.3.3 | pyhd8ed1ab_0 | conda-forge | | pandas | 2.0.3 | py38h01efb38_1 | conda-forge | | pandas-stubs | 2.1.1.230928 | pyhd8ed1ab_0 | conda-forge | | pandoc | 3.1.3 | h32600fe_0 | conda-forge | | pandocfilters | 1.5.0 | pyhd8ed1ab_0 | conda-forge | | parso | 0.8.3 | pyhd8ed1ab_0 | conda-forge | | pathtools | 0.1.2 | py_1 | conda-forge | | patsy | 0.5.3 | pyhd8ed1ab_0 | conda-forge | | pcre2 | 10.4 | hc3806b6_0 | conda-forge | | peewee | 3.16.3 | py38h39d08e6_1 | conda-forge | | pexpect | 4.8.0 | pyh1a96a4e_2 | conda-forge | | phonopy | 2.20.0 | py38h31356c5_0 | conda-forge | | pickleshare | 0.7.5 | py_1003 | conda-forge | | pillow | 9.4.0 | py38hde6dc18_1 | conda-forge | | pint | 0.21 | pyhd8ed1ab_0 | conda-forge | | pip | 23.2.1 | pyhd8ed1ab_0 | conda-forge | | pixman | 0.42.2 | h59595ed_0 | conda-forge | | pkgutil-resolve-name | 1.3.10 | pyhd8ed1ab_1 | conda-forge | | platformdirs | 3.11.0 | pyhd8ed1ab_0 | conda-forge | | plotly | 5.17.0 | pyhd8ed1ab_0 | conda-forge | | ply | 3.11 | py_1 | conda-forge | | pooch | 1.7.0 | pyhd8ed1ab_4 | conda-forge | | proj | 9.1.1 | h8ffa02c_2 | conda-forge | | prometheus_client | 0.17.1 | pyhd8ed1ab_0 | conda-forge | | prompt-toolkit | 3.0.39 | pyha770c72_0 | conda-forge | | prompt_toolkit | 3.0.39 | hd8ed1ab_0 | conda-forge | | protobuf | 4.24.4 | py38hf14ab21_0 | conda-forge | | psutil | 5.9.5 | py38h01eb140_1 | conda-forge | | pthread-stubs | 0.4 | h36c2ea0_1001 | conda-forge | | ptyprocess | 0.7.0 | pyhd3deb0d_0 | conda-forge | | pugixml | 1.11.4 | h59595ed_1 | conda-forge | | pulseaudio | 16.1 | hcb278e6_3 | conda-forge | | pulseaudio-client | 16.1 | h5195f5e_3 | conda-forge | | pulseaudio-daemon | 16.1 | ha8d29e2_3 | conda-forge | | pure_eval | 0.2.2 | pyhd8ed1ab_0 | conda-forge | | pybtex | 0.24.0 | pyhd8ed1ab_2 | conda-forge | | pycairo | 1.25.0 | py38h1a1917b_1 | conda-forge | | pycparser | 2.21 | pyhd8ed1ab_0 | conda-forge | | pydantic | 2.4.2 | pyhd8ed1ab_0 | conda-forge | | pydantic-core | 2.10.1 | py38h0cc4f7c_0 | conda-forge | | pydantic-settings | 2.0.3 | pyhd8ed1ab_0 | conda-forge | | pygments | 2.16.1 | pyhd8ed1ab_0 | conda-forge | | pymatgen | 2023.8.10 | py38h905acbe_0 | conda-forge | | pymongo | 4.5.0 | py38h17151c0_1 | conda-forge | | pyparsing | 3.1.1 | pyhd8ed1ab_0 | conda-forge | | pyqt | 5.15.9 | py38hffdaa6c_5 | conda-forge | | pyqt5-sip | 12.12.2 | py38h17151c0_5 | conda-forge | | pysocks | 1.7.1 | pyha2e5f31_6 | conda-forge | | python | 3.8.18 | hd12c33a_0_cpython | conda-forge | | python-dateutil | 2.8.2 | pyhd8ed1ab_0 | conda-forge | | python-dotenv | 1.0.0 | pyhd8ed1ab_1 | conda-forge | | python-fastjsonschema | 2.18.1 | pyhd8ed1ab_0 | conda-forge | | python-json-logger | 2.0.7 | pyhd8ed1ab_0 | conda-forge | | python-tzdata | 2023.3 | pyhd8ed1ab_0 | conda-forge | | python_abi | 3.8 | 4_cp38 | conda-forge | | pytorch | 2.0.1 | py3.8_cuda11.8_cudnn8.7.0_0 | pytorch | | pytorch-cuda | 11.8 | h7e8668a_5 | pytorch | | pytorch-lightning | 2.0.6 | pypi_0 | pypi | | pytorch-mutex | 1 | cuda | pytorch | | pytz | 2023.3.post1 | pyhd8ed1ab_0 | conda-forge | | pywavelets | 1.4.1 | pypi_0 | pypi | | pyyaml | 6.0.1 | py38h01eb140_1 | conda-forge | | pyzmq | 24.0.1 | pypi_0 | pypi | | qt-main | 5.15.8 | h5d23da1_6 | conda-forge | | qtconsole | 5.4.4 | pyhd8ed1ab_0 | conda-forge | | qtconsole-base | 5.4.4 | pyha770c72_0 | conda-forge | | qtpy | 2.4.0 | pyhd8ed1ab_0 | conda-forge | | rdkit | 2023.03.3 | py38h36d2b2f_0 | conda-forge | | readline | 8.2 | h8228510_1 | conda-forge | | referencing | 0.30.2 | pyhd8ed1ab_0 | conda-forge | | reportlab | 4.0.6 | py38h01eb140_0 | conda-forge | | requests | 2.31.0 | pyhd8ed1ab_0 | conda-forge | | retrying | 1.3.4 | pypi_0 | pypi | | rfc3339-validator | 0.1.4 | pyhd8ed1ab_0 | conda-forge | | rfc3986-validator | 0.1.1 | pyh9f0ad1d_0 | conda-forge | | rlpycairo | 0.2.0 | pyhd8ed1ab_0 | conda-forge | | rpds-py | 0.10.4 | py38h0cc4f7c_0 | conda-forge | | ruamel.yaml | 0.17.35 | py38h01eb140_0 | conda-forge | | ruamel.yaml.clib | 0.2.7 | py38h01eb140_2 | conda-forge | | s2n | 1.3.46 | h06160fa_0 | conda-forge | | scikit-image | 0.21.0 | pypi_0 | pypi | | scikit-learn | 1.3.1 | py38ha25d942_1 | conda-forge | | scipy | 1.10.1 | py38h59b608b_3 | conda-forge | | seaborn | 0.13.0 | hd8ed1ab_0 | conda-forge | | seaborn-base | 0.13.0 | pyhd8ed1ab_0 | conda-forge | | send2trash | 1.8.2 | pyh41d4057_0 | conda-forge | | sentry-sdk | 1.32.0 | pyhd8ed1ab_0 | conda-forge | | setproctitle | 1.3.3 | py38h01eb140_0 | conda-forge | | setuptools | 68.2.2 | pyhd8ed1ab_0 | conda-forge | | shapely | 2.0.1 | pypi_0 | pypi | | sip | 6.7.11 | py38h17151c0_1 | conda-forge | | six | 1.16.0 | pyh6c4a22f_0 | conda-forge | | smmap | 3.0.5 | pyh44b312d_0 | conda-forge | | sniffio | 1.3.0 | pyhd8ed1ab_0 | conda-forge | | soupsieve | 2.5 | pyhd8ed1ab_1 | conda-forge | | spglib | 2.1.0 | py38hb851694_0 | conda-forge | | sqlalchemy | 2.0.21 | py38h01eb140_1 | conda-forge | | sqlite | 3.43.2 | h2c6b66d_0 | conda-forge | | stack_data | 0.6.2 | pyhd8ed1ab_0 | conda-forge | | statsmodels | 0.14.0 | py38h7f0c24c_2 | conda-forge | | svt-av1 | 1.4.1 | hcb278e6_0 | conda-forge | | sympy | 1.12 | pypyh9d50eac_103 | conda-forge | | tabulate | 0.9.0 | pyhd8ed1ab_1 | conda-forge | | tbb | 2021.9.0 | hf52228f_0 | conda-forge | | tbb-devel | 2021.9.0 | hf52228f_0 | conda-forge | | tenacity | 8.2.3 | pyhd8ed1ab_0 | conda-forge | | terminado | 0.17.1 | pyh41d4057_0 | conda-forge | | threadpoolctl | 3.2.0 | pyha21a80b_0 | conda-forge | | tifffile | 2023.7.10 | pypi_0 | pypi | | tinycss2 | 1.2.1 | pyhd8ed1ab_0 | conda-forge | | tk | 8.6.13 | h2797004_0 | conda-forge | | toml | 0.10.2 | pyhd8ed1ab_0 | conda-forge | | tomli | 2.0.1 | pyhd8ed1ab_0 | conda-forge | | torchdata | 0.6.1 | py38h6972470_0 | conda-forge | | torchmetrics | 1.0.3 | pypi_0 | pypi | | torchtext | 0.15.2 | py38 | pytorch | | torchtriton | 2.0.0 | py38 | pytorch | | torchvision | 0.15.2 | py38_cu118 | pytorch | | tornado | 6.3.3 | py38h01eb140_1 | conda-forge | | tqdm | 4.66.1 | pyhd8ed1ab_0 | conda-forge | | traitlets | 5.11.2 | pyhd8ed1ab_0 | conda-forge | | types-python-dateutil | 2.8.19.14 | pyhd8ed1ab_0 | conda-forge | | types-pytz | 2023.3.1.1 | pyhd8ed1ab_0 | conda-forge | | typing-extensions | 4.8.0 | hd8ed1ab_0 | conda-forge | | typing_extensions | 4.8.0 | pyha770c72_0 | conda-forge | | typing_utils | 0.1.0 | pyhd8ed1ab_0 | conda-forge | | uncertainties | 3.1.7 | pyhd8ed1ab_0 | conda-forge | | unicodedata2 | 15.1.0 | py38h01eb140_0 | conda-forge | | uri-template | 1.3.0 | pyhd8ed1ab_0 | conda-forge | | urllib3 | 2.0.6 | pyhd8ed1ab_0 | conda-forge | | utfcpp | 3.2.5 | ha770c72_0 | conda-forge | | vtk | 9.2.6 | qt_py38h6b1c7ce_200 | conda-forge | | wandb | 0.15.12 | pyhd8ed1ab_0 | conda-forge | | wcwidth | 0.2.8 | pyhd8ed1ab_0 | conda-forge | | webcolors | 1.13 | pyhd8ed1ab_0 | conda-forge | | webencodings | 0.5.1 | pyhd8ed1ab_2 | conda-forge | | websocket-client | 1.6.4 | pyhd8ed1ab_0 | conda-forge | | werkzeug | 2.2.3 | pypi_0 | pypi | | wheel | 0.41.2 | pyhd8ed1ab_0 | conda-forge | | widgetsnbextension | 4.0.9 | pyhd8ed1ab_0 | conda-forge | | wrapt | 1.15.0 | pypi_0 | pypi | | wslink | 1.12.3 | pyhd8ed1ab_0 | conda-forge | | x264 | 1!164.3095 | h166bdaf_2 | conda-forge | | x265 | 3.5 | h924138e_3 | conda-forge | | xcb-util | 0.4.0 | h516909a_0 | conda-forge | | xcb-util-image | 0.4.0 | h166bdaf_0 | conda-forge | | xcb-util-keysyms | 0.4.0 | h516909a_0 | conda-forge | | xcb-util-renderutil | 0.3.9 | h166bdaf_0 | conda-forge | | xcb-util-wm | 0.4.1 | h516909a_0 | conda-forge | | xenonpy | 0.6.7 | pypi_0 | pypi | | xkeyboard-config | 2.38 | h0b41bf4_0 | conda-forge | | xorg-fixesproto | 5 | h7f98852_1002 | conda-forge | | xorg-kbproto | 1.0.7 | h7f98852_1002 | conda-forge | | xorg-libice | 1.0.10 | h7f98852_0 | conda-forge | | xorg-libsm | 1.2.3 | hd9c2040_1000 | conda-forge | | xorg-libx11 | 1.8.4 | h0b41bf4_0 | conda-forge | | xorg-libxau | 1.0.11 | hd590300_0 | conda-forge | | xorg-libxdmcp | 1.1.3 | h7f98852_0 | conda-forge | | xorg-libxext | 1.3.4 | h0b41bf4_2 | conda-forge | | xorg-libxfixes | 5.0.3 | h7f98852_1004 | conda-forge | | xorg-libxrender | 0.9.10 | h7f98852_1003 | conda-forge | | xorg-libxt | 1.3.0 | hd590300_0 | conda-forge | | xorg-renderproto | 0.11.1 | h7f98852_1002 | conda-forge | | xorg-xextproto | 7.3.0 | h0b41bf4_1003 | conda-forge | | xorg-xproto | 7.0.31 | h7f98852_1007 | conda-forge | | xz | 5.2.6 | h166bdaf_0 | conda-forge | | y-py | 0.6.0 | pypi_0 | pypi | | yaml | 0.2.5 | h7f98852_2 | conda-forge | | yarl | 1.9.2 | py38h01eb140_1 | conda-forge | | ypy-websocket | 0.8.4 | pypi_0 | pypi | | zeromq | 4.3.4 | h9c3ff4c_1 | conda-forge | | zipp | 3.17.0 | pyhd8ed1ab_0 | conda-forge | | zlib | 1.2.13 | hd590300_5 | conda-forge | | zstd | 1.5.5 | hfc55251_0 | conda-forge |