diff --git a/README.md b/README.md index 8122fac..3ee2f46 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ * [JARVIS-School](#school) * [AI tutorial](#ai) * [QC tutorial](#qc) +* [NanoHub tutorial](#nanohub) * [References](#refs) * [How to contribute](#contrib) * [Correspondence](#corres) @@ -112,10 +113,13 @@ AI models for chemical formula, atomic structures, image and text for both forwa 27) [AtomVision_Example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/AtomVisionExample.ipynb) 28) [ChemNLP example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/ChemNLP_Example.ipynb) 29) [ChemNLP HuggingFace example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/ChemNLP_TitleToAbstract.ipynb) -30) [AtomGPT example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/atomgpt_example.ipynb) -31) [Open catalyst project load model](https://github.com/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/ocp_load_pretrained_models.ipynb) -32) [Vacancy formation ML](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/vacancy_ml.ipynb) -33) [Basic external tutorial on linear models](training_linear_models) +30) [AtomGPT training example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/atomgpt_example.ipynb) +31) [AtomGPT HuggingFace inference example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/atomgpt_example_huggingface.ipynb) +32) [Open catalyst project load model](https://github.com/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/ocp_load_pretrained_models.ipynb) +33) [Vacancy formation ML](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/vacancy_ml.ipynb) +34) [Interface Materials Design/InterMat example](https://colab.research.google.com/gist/knc6/0d9aa89f671687c6e925eea2be9b824a/intermat_gettingstarted.ipynb) +35) [ALIGNN-FF Unified force-field structure relaxation](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/Train_ALIGNNFF_Mlearn.ipynb) +36) [Basic external tutorial on linear models](training_linear_models) @@ -124,6 +128,52 @@ AI models for chemical formula, atomic structures, image and text for both forwa 1) [With new qiskit package version: Quantum computation and Qiskit based electronic bandstructure](https://github.com/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/Qiskit_based_electronic_bandstructure_latest_qiskit.ipynb) 2) [With old qiskit package version: Quantum computation and Qiskit based electronic bandstructure](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/Qiskit_based_electronic_bandstructure_.ipynb) + + + + +# Nanohub Purdue university FAIR workflow workshop/JARVIS-School + +[https://nanohub.org/FAIR_workshop_2024](https://nanohub.org/FAIR_workshop_2024) + +1. Learn a basic DFT calculation + +[Basic quantum espresso run](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/JARVIS_QuantumEspressoColab_Basic_Example.ipynb) + +2. Once you run a lot of these, you can make a database, and analyze trends (Exploratory Data Analysis) + +[Analyzing_data_in_the_JARVIS_DFT_dataset](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/Analyzing_data_in_the_JARVIS_DFT_dataset.ipynb) + +3. These datasets can also be used to develop fast surrogate machine learning models + +[JARVIS_Leaderboard_contribution_ALIGNN](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/alignn_jarvis_leaderboard.ipynb) + +4. Beyond single property prediction models, they can be used to train machine-learning force-fields as well + +[ALIGNN-FF for energy and forces](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/Train_ALIGNNFF_Mlearn.ipynb) + +5. While the above MLFF was trained for single element system, a more generalized model was developed with JARVIS-DFT diverse dataset, and the developed model can be used for fast atomic structure optimization and phonon etc. property predicions + +[ALIGNN-FF Unified force-field structure relaxation](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/Train_ALIGNNFF_Mlearn.ipynb) + +6. While the above ML models were for forward design, we can use somthing like AtomGPT for inverse design as well + +[AtomGPT training example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/atomgpt_example.ipynb) + +[AtomGPT HuggingFace inference example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/atomgpt_example_huggingface.ipynb) + +7. Other optional notebooks for the tutorial session + +[AtomVision_Example](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/AtomVisionExample.ipynb) + +[JARVIS_LAMMPS](https://colab.research.google.com/github/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/JARVIS_LAMMPS.ipynb) + +[With new qiskit package version: Quantum computation and Qiskit based electronic bandstructure](https://github.com/knc6/jarvis-tools-notebooks/blob/master/jarvis-tools-notebooks/Qiskit_based_electronic_bandstructure_latest_qiskit.ipynb) + +# AIMS2024 tutorial and presentation slides + +[https://github.com/usnistgov/aims2024_workshop](https://github.com/usnistgov/aims2024_workshop) + # JARVIS-School diff --git a/jarvis-tools-notebooks/JARVIS_QuantumEspressoColab_Basic_Example.ipynb b/jarvis-tools-notebooks/JARVIS_QuantumEspressoColab_Basic_Example.ipynb index 5ceb26d..7e1e4d9 100644 --- a/jarvis-tools-notebooks/JARVIS_QuantumEspressoColab_Basic_Example.ipynb +++ b/jarvis-tools-notebooks/JARVIS_QuantumEspressoColab_Basic_Example.ipynb @@ -5,7 +5,7 @@ "colab": { "name": "JARVIS_QuantumEspressoColab_Basic_Example.ipynb", "provenance": [], - "authorship_tag": "ABX9TyOwGykC/F5K/rh0qaUltmpb", + "authorship_tag": "ABX9TyN9/mlO1yVG93WhAMxGAPkR", "include_colab_link": true }, "kernelspec": { @@ -30,12 +30,36 @@ { "cell_type": "markdown", "source": [ - "# This example shows how to run a Quantum espresso calculations with JARVIS-Tools for silicon and add the contribution to the JARVIS-Leaderboard." + "# This example shows how to run a Quantum espresso calculation with JARVIS-Tools for silicon and add the contribution to the JARVIS-Leaderboard.\n", + "\n", + "# Table of contents\n", + "\n", + "1. Installing [Quantum Espresso](https://www.quantum-espresso.org/), [JARVIS-Tools](https://github.com/usnistgov/jarvis) and [JARVIS-Leaderboard](https://github.com/usnistgov/jarvis_leaderboard).\n", + "2. Obtain and example atomic structure such as Silicon\n", + "3. Setup and run job\n", + "4. Analyze data\n", + "5. Upload to JARVIS-Leaderboard\n", + "\n", + "Author: Kamal Choudhary (kamal.choudhary@nist.gov)\n", + "\n", + "Refereces where such workflows were used:\n", + "1. https://www.nature.com/articles/s41524-022-00933-1\n", + "2. https://pubs.acs.org/doi/full/10.1021/acs.nanolett.2c04420\n", + "3. https://pubs.acs.org/doi/full/10.1021/acs.jpclett.4c01126\n" ], "metadata": { "id": "JIugyjg85Eep" } }, + { + "cell_type": "markdown", + "source": [ + "## 1. Installing Quantum Espresso, JARVIS-Tools and JARVIS-Leaderboard." + ], + "metadata": { + "id": "yITVOUQZc0T-" + } + }, { "cell_type": "code", "execution_count": 1, @@ -44,36 +68,33 @@ "base_uri": "https://localhost:8080/" }, "id": "9CNO-RGBxCqi", - "outputId": "e1a48224-c691-400a-988e-031353bdff5c" + "outputId": "dbc3234c-51ab-43c6-c5d7-47205424d64a" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m22.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m19.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h" + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m24.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m72.1/72.1 MB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.9/3.9 MB\u001b[0m \u001b[31m22.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.8/8.8 MB\u001b[0m \u001b[31m33.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m16.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m251.0/251.0 kB\u001b[0m \u001b[31m10.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m82.9/82.9 kB\u001b[0m \u001b[31m5.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Building wheel for paginate (setup.py) ... \u001b[?25l\u001b[?25hdone\n" ] } ], "source": [ - "!pip install -q jarvis-tools" + "!pip install -q jarvis-tools jarvis-leaderboard" ] }, { "cell_type": "markdown", "source": [ - "# JARVIS-Tools +Quantum Espresso workflow used in: https://www.nature.com/articles/s41524-022-00933-1 and https://pubs.acs.org/doi/abs/10.1021/acs.nanolett.2c04420" - ], - "metadata": { - "id": "YYF-iR3aUOY3" - } - }, - { - "cell_type": "markdown", - "source": [ - "It takes about 7 minutes to install QE." + "It takes about 8 minutes to install QE." ], "metadata": { "id": "HjbUWNz14VTC" @@ -102,7 +123,7 @@ "base_uri": "https://localhost:8080/" }, "id": "wnTJPQJyxE0r", - "outputId": "f7f4a427-1d16-4cd8-d5fd-cd5e3500ba7d" + "outputId": "54c56e5c-6a1d-49c8-d552-b8c4cfa706d1" }, "execution_count": 2, "outputs": [ @@ -129,7 +150,7 @@ "Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfftw3-bin amd64 3.3.8-2ubuntu8 [35.5 kB]\n", "Get:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfftw3-dev amd64 3.3.8-2ubuntu8 [2,101 kB]\n", "Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfftw3-doc all 3.3.8-2ubuntu8 [262 kB]\n", - "Fetched 4,918 kB in 1s (4,869 kB/s)\n", + "Fetched 4,918 kB in 1s (4,897 kB/s)\n", "Selecting previously unselected package libfftw3-double3:amd64.\n", "(Reading database ... 123594 files and directories currently installed.)\n", "Preparing to unpack .../0-libfftw3-double3_3.3.8-2ubuntu8_amd64.deb ...\n", @@ -165,23 +186,23 @@ "Setting up libfftw3-dev:amd64 (3.3.8-2ubuntu8) ...\n", "Processing triggers for man-db (2.10.2-1) ...\n", "Processing triggers for libc-bin (2.35-0ubuntu3.4) ...\n", - "/sbin/ldconfig.real: /usr/local/lib/libur_adapter_opencl.so.0 is not a symbolic link\n", + "/sbin/ldconfig.real: /usr/local/lib/libur_loader.so.0 is not a symbolic link\n", "\n", - "/sbin/ldconfig.real: /usr/local/lib/libur_adapter_level_zero.so.0 is not a symbolic link\n", + "/sbin/ldconfig.real: /usr/local/lib/libtbb.so.12 is not a symbolic link\n", "\n", - "/sbin/ldconfig.real: /usr/local/lib/libtbbmalloc_proxy.so.2 is not a symbolic link\n", + "/sbin/ldconfig.real: /usr/local/lib/libtbbmalloc.so.2 is not a symbolic link\n", "\n", - "/sbin/ldconfig.real: /usr/local/lib/libtbbbind.so.3 is not a symbolic link\n", + "/sbin/ldconfig.real: /usr/local/lib/libur_adapter_level_zero.so.0 is not a symbolic link\n", "\n", "/sbin/ldconfig.real: /usr/local/lib/libtbbbind_2_5.so.3 is not a symbolic link\n", "\n", - "/sbin/ldconfig.real: /usr/local/lib/libtbbmalloc.so.2 is not a symbolic link\n", + "/sbin/ldconfig.real: /usr/local/lib/libtbbbind.so.3 is not a symbolic link\n", "\n", "/sbin/ldconfig.real: /usr/local/lib/libtbbbind_2_0.so.3 is not a symbolic link\n", "\n", - "/sbin/ldconfig.real: /usr/local/lib/libtbb.so.12 is not a symbolic link\n", + "/sbin/ldconfig.real: /usr/local/lib/libtbbmalloc_proxy.so.2 is not a symbolic link\n", "\n", - "/sbin/ldconfig.real: /usr/local/lib/libur_loader.so.0 is not a symbolic link\n", + "/sbin/ldconfig.real: /usr/local/lib/libur_adapter_opencl.so.0 is not a symbolic link\n", "\n", "test -d bin || mkdir bin\n", "( cd UtilXlib ; make TLDEPS= all || exit 1 )\n", @@ -280,7 +301,7 @@ "remote: Counting objects: 100% (117/117), done.\u001b[K\n", "remote: Compressing objects: 100% (68/68), done.\u001b[K\n", "remote: Total 77 (delta 41), reused 26 (delta 8), pack-reused 0 (from 0)\u001b[K\n", - "Unpacking objects: 100% (77/77), 94.95 KiB | 1.79 MiB/s, done.\n", + "Unpacking objects: 100% (77/77), 94.95 KiB | 1.28 MiB/s, done.\n", "From https://gitlab.com/max-centre/components/devicexlib\n", " * branch a6b89ef77b1ceda48e967921f1f5488d2df9226d -> FETCH_HEAD\n", "Submodule path 'external/devxlib': checked out 'a6b89ef77b1ceda48e967921f1f5488d2df9226d'\n", @@ -2488,12 +2509,21 @@ "( cd ../../bin ; ln -fs ../PW/tools/rism1d.x . )\n", "make[2]: Leaving directory '/content/q-e/PW/tools'\n", "make[1]: Leaving directory '/content/q-e/PW'\n", - "CPU times: user 4.94 s, sys: 574 ms, total: 5.52 s\n", - "Wall time: 9min 34s\n" + "CPU times: user 5.22 s, sys: 588 ms, total: 5.81 s\n", + "Wall time: 9min 52s\n" ] } ] }, + { + "cell_type": "markdown", + "source": [ + "List files/folders" + ], + "metadata": { + "id": "KhLIwMoifXV-" + } + }, { "cell_type": "code", "source": [ @@ -2504,7 +2534,7 @@ "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "835b0255-f3ef-487a-9a6d-1cf3e15f36b8" + "outputId": "59675797-9408-4197-8b7c-b8bb98885516" }, "execution_count": 3, "outputs": [ @@ -2534,6 +2564,15 @@ "execution_count": null, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "Compute info" + ], + "metadata": { + "id": "LucgMttcfZyh" + } + }, { "cell_type": "code", "source": [ @@ -2544,7 +2583,7 @@ "base_uri": "https://localhost:8080/" }, "id": "CtFkbRdT2Frw", - "outputId": "2edeb6f3-902d-431c-9914-001d36084b3d" + "outputId": "6f0330a1-3dfe-4225-b37b-7d0b6aff4175" }, "execution_count": 4, "outputs": [ @@ -2566,7 +2605,7 @@ " Core(s) per socket: 1\n", " Socket(s): 1\n", " Stepping: 0\n", - " BogoMIPS: 4399.99\n", + " BogoMIPS: 4400.43\n", " Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl\n", " flush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc re\n", " p_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3\n", @@ -2606,6 +2645,15 @@ } ] }, + { + "cell_type": "markdown", + "source": [ + "## 2. Obtain and example atomic structure such as Silicon" + ], + "metadata": { + "id": "xwZ6IBkCdENc" + } + }, { "cell_type": "code", "source": [ @@ -2626,6 +2674,7 @@ " else:\n", " return np.nan\n", "\n", + "# Searching for Silicon systems only\n", "df['el'] = df['atoms'].apply(lambda x: has_elements(atoms_dict = x, my_element = ['Si']))\n", "df1 = df.dropna()\n", "df_eform_filter = df1[df1['formation_energy_peratom']==0]\n", @@ -2638,7 +2687,7 @@ "height": 335 }, "id": "FuLEmYXq9CKn", - "outputId": "c5f9e40c-5562-47c5-8fe7-92e687ab57bb" + "outputId": "7cfa47b5-92af-4e6b-80f4-8d92c59a4986" }, "execution_count": 5, "outputs": [ @@ -2655,7 +2704,7 @@ "output_type": "stream", "name": "stderr", "text": [ - "100%|██████████| 40.8M/40.8M [00:01<00:00, 21.4MiB/s]\n" + "100%|██████████| 40.8M/40.8M [00:02<00:00, 15.2MiB/s]\n" ] }, { @@ -2698,7 +2747,7 @@ ], "text/html": [ "\n", - "
\n", + "
\n", "
\n", "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idprediction
0JVASP-10020.48839
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - " \n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "df", - "summary": "{\n \"name\": \"df\",\n \"rows\": 1,\n \"fields\": [\n {\n \"column\": \"id\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"JVASP-1002\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"prediction\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": 0.4883900939631527,\n \"max\": 0.4883900939631527,\n \"num_unique_values\": 1,\n \"samples\": [\n 0.4883900939631527\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } + "['run.sh',\n", + " 'ES-SinglePropertyPrediction-bandgap_JVASP_1002_Si-dft_3d-test-mae.csv.zip',\n", + " 'metadata.json']" + ] }, "metadata": {}, - "execution_count": 21 + "execution_count": 40 } ] }, - { - "cell_type": "markdown", - "source": [ - "Now lets make a benchmark json.zip file" - ], - "metadata": { - "id": "g_uuxlV270gP" - } - }, { "cell_type": "code", "source": [ - "from jarvis.db.jsonutils import dumpjson\n", - "content = {\"train\": {}, \"test\": {\"JVASP-1002\": 1.17}}\n", - "dumpjson(content, \"dft_3d_bandgap_JVASP_1002_Si.json\")" + "!jarvis_upload.py --your_contribution_directory knc6_silicon_test" ], "metadata": { - "id": "71Nct1ba794_" + "id": "wMfDgnjmpCSV" }, - "execution_count": 22, + "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ - "The `dft_3d_bandgap_JVASP_1002_Si.json.zip` file can go to folders such as this [link](https://github.com/usnistgov/jarvis_leaderboard/blob/main/jarvis_leaderboard/benchmarks/ES/SinglePropertyPrediction/dft_3d_bandgap_JVASP_1002_Si.json.zip)\n", - "\n", - "The `ES-SinglePropertyPrediction-bandgap_JVASP_1002_Si-dft_3d-test-mae.csv` can go to folder such as [this link](https://github.com/usnistgov/jarvis_leaderboard/blob/main/jarvis_leaderboard/contributions/vasp_optb88vdw/ES-SinglePropertyPrediction-bandgap_JVASP_1002_Si-dft_3d-test-mae.csv.zip)" + "Replace knc6 with your username" ], "metadata": { - "id": "xgFb9qzC8TDE" + "id": "4A_isCmtpHZB" } }, { "cell_type": "markdown", "source": [ - "# Now you can\n", - "\n", - "1) [Fork](https://github.com/usnistgov/jarvis_leaderboard/fork) the jarvis-leaderboard GitHub repository\n", - "\n", - "2) Add a new folder in the `jarvis_leaderboard/jarvis_leaderboard\n", - "/contributions/` folder, e.g., `qe_pbe_test`\n", - "\n", - "3) In the folder, add the `ES-SinglePropertyPrediction-bandgap_JVASP_1002_Si-dft_3d-test-mae.csv.zip` file, an example `metadata.json` file, e.g. [this](https://github.com/usnistgov/jarvis_leaderboard/blob/main/jarvis_leaderboard/contributions/gpaw_lda/metadata.json) one, add a `run.sh` file, e.g. this [one](https://github.com/usnistgov/jarvis_leaderboard/blob/main/jarvis_leaderboard/contributions/gpaw_lda/run.sh)\n", - "\n", - "4) Make a pull request from your forked repo to the main jarvis-leaderboard" + "Now, the benchmark for silicon bandgap was already in the jarvis_leaderboard so we didnt have to create a json.zip. To create a new benchmark (must have a peer reviewed DOI), we can follow a process like the following.\n" ], "metadata": { - "id": "1cRWuI_6MdKY" + "id": "g_uuxlV270gP" } }, { "cell_type": "code", - "source": [], - "metadata": { - "id": "liQSlOGPMa2x" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [], + "source": [ + "from jarvis.db.jsonutils import dumpjson\n", + "content = {\"train\": {}, \"test\": {\"JVASP-1002\": 1.17}}\n", + "dumpjson(content, \"dft_3d_bandgap_JVASP_1002_Si.json\")" + ], "metadata": { - "id": "dTwhFRaUMa0g" + "id": "71Nct1ba794_" }, "execution_count": null, "outputs": [] @@ -3787,62 +3807,31 @@ { "cell_type": "markdown", "source": [ - "Further analysis" + "The `dft_3d_bandgap_JVASP_1002_Si.json.zip` file can go to folders such as this [link](https://github.com/usnistgov/jarvis_leaderboard/blob/main/jarvis_leaderboard/benchmarks/ES/SinglePropertyPrediction/dft_3d_bandgap_JVASP_1002_Si.json.zip)\n", + "\n", + "The `ES-SinglePropertyPrediction-bandgap_JVASP_1002_Si-dft_3d-test-mae.csv` can go to folder such as [this link](https://github.com/usnistgov/jarvis_leaderboard/blob/main/jarvis_leaderboard/contributions/vasp_optb88vdw/ES-SinglePropertyPrediction-bandgap_JVASP_1002_Si-dft_3d-test-mae.csv.zip)" ], "metadata": { - "id": "O5UPzLXO9AIG" + "id": "xgFb9qzC8TDE" } }, { "cell_type": "code", - "source": [ - "import numpy as np\n", - "%matplotlib inline\n", - "energies, DOS = ds.dos(smearing=0.2)" - ], + "source": [], "metadata": { - "id": "Ep7_3jDgMPNd" + "id": "liQSlOGPMa2x" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", - "source": [ - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "plt.plot(energies, DOS)\n", - "plt.xlabel('E-$E_F$ (eV)')\n", - "plt.ylabel('Density of states (arb. unit)')\n", - "plt.fill_between(energies, 0, DOS, where=(energies < 0), facecolor='blue', alpha=0.25)\n", - "plt.axvline(x=0,linestyle='-.',color='green')\n", - "\n", - "plt.xlim([-5,5])\n", - "plt.ylim([0,3])\n", - "plt.show()\n", - "\n" - ], + "source": [], "metadata": { - "id": "anfNRjlNMO39", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 458 - }, - "outputId": "cfb90943-e88d-4d64-fb77-b26ebe442e4c" + "id": "dTwhFRaUMa0g" }, "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": {} - } - ] + "outputs": [] }, { "cell_type": "code", @@ -8879,483 +8868,531 @@ "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "793917e3-5744-4aad-cf29-4f13ba8c2c4b" + "outputId": "93b65101-75c3-44b6-8d41-0750d20d2834" }, - "execution_count": null, + "execution_count": 46, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "absl-py==1.4.0\n", - "aiohttp==3.8.6\n", + "accelerate==0.32.1\n", + "aiohappyeyeballs==2.3.4\n", + "aiohttp==3.10.1\n", "aiosignal==1.3.1\n", - "alabaster==0.7.13\n", - "albumentations==1.3.1\n", + "alabaster==0.7.16\n", + "albucore==0.0.13\n", + "albumentations==1.4.13\n", "altair==4.2.2\n", + "annotated-types==0.7.0\n", "anyio==3.7.1\n", - "appdirs==1.4.4\n", "argon2-cffi==23.1.0\n", "argon2-cffi-bindings==21.2.0\n", - "array-record==0.4.1\n", - "arviz==0.15.1\n", - "astropy==5.3.4\n", + "array_record==0.5.1\n", + "arviz==0.18.0\n", + "asn1crypto==1.5.1\n", + "astropy==6.1.2\n", + "astropy-iers-data==0.2024.8.5.0.32.23\n", "astunparse==1.6.3\n", "async-timeout==4.0.3\n", - "attrs==23.1.0\n", + "atpublic==4.1.0\n", + "attrs==24.2.0\n", "audioread==3.0.1\n", "autograd==1.6.2\n", - "Babel==2.13.0\n", + "Babel==2.15.0\n", "backcall==0.2.0\n", - "beautifulsoup4==4.11.2\n", + "beautifulsoup4==4.12.3\n", + "bidict==0.23.1\n", + "bigframes==1.13.0\n", "bleach==6.1.0\n", "blinker==1.4\n", "blis==0.7.11\n", "blosc2==2.0.0\n", - "bokeh==3.2.2\n", - "bqplot==0.12.40\n", - "branca==0.6.0\n", - "build==1.0.3\n", - "CacheControl==0.13.1\n", - "cachetools==5.3.1\n", + "bokeh==3.4.3\n", + "bqplot==0.12.43\n", + "branca==0.7.2\n", + "build==1.2.1\n", + "CacheControl==0.14.0\n", + "cachetools==5.4.0\n", "catalogue==2.0.10\n", - "certifi==2023.7.22\n", - "cffi==1.16.0\n", + "certifi==2024.7.4\n", + "cffi==1.17.0\n", "chardet==5.2.0\n", - "charset-normalizer==3.3.0\n", - "chex==0.1.7\n", + "charset-normalizer==3.3.2\n", + "chex==0.1.86\n", + "clarabel==0.9.0\n", "click==8.1.7\n", "click-plugins==1.1.1\n", "cligj==0.7.2\n", + "cloudpathlib==0.18.1\n", "cloudpickle==2.2.1\n", - "cmake==3.27.6\n", - "cmdstanpy==1.2.0\n", + "cmake==3.30.2\n", + "cmdstanpy==1.2.4\n", "colorama==0.4.6\n", - "colorcet==3.0.1\n", + "colorcet==3.1.0\n", "colorlover==0.3.0\n", "colour==0.1.5\n", "community==1.0.0b1\n", - "confection==0.1.3\n", + "confection==0.1.5\n", "cons==0.4.6\n", "contextlib2==21.6.0\n", - "contourpy==1.1.1\n", - "cryptography==41.0.4\n", + "contourpy==1.2.1\n", + "cryptography==42.0.8\n", + "cuda-python==12.2.1\n", + "cudf-cu12 @ https://pypi.nvidia.com/cudf-cu12/cudf_cu12-24.4.1-cp310-cp310-manylinux_2_28_x86_64.whl#sha256=57366e7ef09dc63e0b389aff20df6c37d91e2790065861ee31a4720149f5b694\n", "cufflinks==0.17.3\n", - "cupy-cuda11x==11.0.0\n", + "cupy-cuda12x==12.2.0\n", "cvxopt==1.3.2\n", - "cvxpy==1.3.2\n", + "cvxpy==1.5.2\n", "cycler==0.12.1\n", "cymem==2.0.8\n", - "Cython==3.0.3\n", - "dask==2023.8.1\n", + "Cython==3.0.11\n", + "dask==2024.7.1\n", "datascience==0.17.6\n", - "db-dtypes==1.1.1\n", + "db-dtypes==1.2.0\n", "dbus-python==1.2.18\n", "debugpy==1.6.6\n", "decorator==4.4.2\n", "defusedxml==0.7.1\n", - "distributed==2023.8.1\n", + "distributed==2024.7.1\n", "distro==1.7.0\n", "dlib==19.24.2\n", "dm-tree==0.1.8\n", + "docstring_parser==0.16\n", "docutils==0.18.1\n", - "dopamine-rl==4.0.6\n", - "duckdb==0.8.1\n", - "earthengine-api==0.1.374\n", - "easydict==1.10\n", - "ecos==2.0.12\n", - "editdistance==0.6.2\n", + "dopamine_rl==4.0.9\n", + "duckdb==0.10.3\n", + "earthengine-api==0.1.415\n", + "easydict==1.13\n", + "ecos==2.0.14\n", + "editdistance==0.8.1\n", "eerepr==0.0.4\n", - "en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.6.0/en_core_web_sm-3.6.0-py3-none-any.whl#sha256=83276fc78a70045627144786b52e1f2728ad5e29e5e43916ec37ea9c26a11212\n", + "einops==0.8.0\n", + "en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.7.1/en_core_web_sm-3.7.1-py3-none-any.whl#sha256=86cc141f63942d4b2c5fcee06630fd6f904788d2f0ab005cce45aadb8fb73889\n", "entrypoints==0.4\n", "et-xmlfile==1.1.0\n", - "etils==1.5.0\n", + "etils==1.7.0\n", "etuples==0.3.9\n", - "exceptiongroup==1.1.3\n", - "fastai==2.7.12\n", - "fastcore==1.5.29\n", + "eval_type_backport==0.2.0\n", + "exceptiongroup==1.2.2\n", + "fastai==2.7.16\n", + "fastcore==1.5.55\n", "fastdownload==0.0.7\n", - "fastjsonschema==2.18.1\n", + "fastjsonschema==2.20.0\n", "fastprogress==1.0.3\n", "fastrlock==0.8.2\n", - "filelock==3.12.4\n", - "Fiona==1.9.4.post1\n", - "firebase-admin==5.3.0\n", + "filelock==3.15.4\n", + "fiona==1.9.6\n", + "firebase-admin==6.5.0\n", "Flask==2.2.5\n", - "flatbuffers==23.5.26\n", - "flax==0.7.4\n", - "folium==0.14.0\n", - "fonttools==4.43.1\n", - "frozendict==2.3.8\n", - "frozenlist==1.4.0\n", - "fsspec==2023.6.0\n", - "future==0.18.3\n", - "gast==0.4.0\n", - "gcsfs==2023.6.0\n", - "GDAL==3.4.3\n", - "gdown==4.6.6\n", - "geemap==0.28.2\n", - "gensim==4.3.2\n", + "flatbuffers==24.3.25\n", + "flax==0.8.4\n", + "folium==0.17.0\n", + "fonttools==4.53.1\n", + "frozendict==2.4.4\n", + "frozenlist==1.4.1\n", + "fsspec==2024.6.1\n", + "future==1.0.0\n", + "gast==0.6.0\n", + "gcsfs==2024.6.1\n", + "GDAL==3.6.4\n", + "gdown==5.1.0\n", + "geemap==0.33.1\n", + "gensim==4.3.3\n", "geocoder==1.38.1\n", "geographiclib==2.0\n", - "geopandas==0.13.2\n", - "geopy==2.3.0\n", + "geopandas==0.14.4\n", + "geopy==2.4.1\n", "ghp-import==2.1.0\n", "gin-config==0.5.0\n", "glob2==0.7\n", "google==2.0.3\n", - "google-api-core==2.11.1\n", - "google-api-python-client==2.84.0\n", - "google-auth==2.17.3\n", - "google-auth-httplib2==0.1.1\n", - "google-auth-oauthlib==1.0.0\n", - "google-cloud-bigquery==3.10.0\n", - "google-cloud-bigquery-connection==1.12.1\n", - "google-cloud-bigquery-storage==2.22.0\n", - "google-cloud-core==2.3.3\n", - "google-cloud-datastore==2.15.2\n", - "google-cloud-firestore==2.11.1\n", - "google-cloud-functions==1.13.3\n", - "google-cloud-language==2.9.1\n", + "google-ai-generativelanguage==0.6.6\n", + "google-api-core==2.19.1\n", + "google-api-python-client==2.137.0\n", + "google-auth==2.27.0\n", + "google-auth-httplib2==0.2.0\n", + "google-auth-oauthlib==1.2.1\n", + "google-cloud-aiplatform==1.59.0\n", + "google-cloud-bigquery==3.25.0\n", + "google-cloud-bigquery-connection==1.15.5\n", + "google-cloud-bigquery-storage==2.25.0\n", + "google-cloud-bigtable==2.25.0\n", + "google-cloud-core==2.4.1\n", + "google-cloud-datastore==2.19.0\n", + "google-cloud-firestore==2.16.1\n", + "google-cloud-functions==1.16.5\n", + "google-cloud-iam==2.15.2\n", + "google-cloud-language==2.13.4\n", + "google-cloud-pubsub==2.23.0\n", + "google-cloud-resource-manager==1.12.5\n", "google-cloud-storage==2.8.0\n", - "google-cloud-translate==3.11.3\n", - "google-colab @ file:///colabtools/dist/google-colab-1.0.0.tar.gz#sha256=1afa89808ae9af63a4b5104b6ece646351ad97cc78340573b461899938a5cee1\n", + "google-cloud-translate==3.15.5\n", + "google-colab @ file:///colabtools/dist/google_colab-1.0.0.tar.gz#sha256=19bba990637e61fae0ff172fb67f233ae81bf3a2b60385e2133c5e9a1eebd485\n", "google-crc32c==1.5.0\n", + "google-generativeai==0.7.2\n", "google-pasta==0.2.0\n", - "google-resumable-media==2.6.0\n", - "googleapis-common-protos==1.60.0\n", + "google-resumable-media==2.7.1\n", + "googleapis-common-protos==1.63.2\n", "googledrivedownloader==0.4\n", - "graphviz==0.20.1\n", - "greenlet==3.0.0\n", - "grpc-google-iam-v1==0.12.6\n", - "grpcio==1.59.0\n", + "graphviz==0.20.3\n", + "greenlet==3.0.3\n", + "grpc-google-iam-v1==0.13.1\n", + "grpcio==1.64.1\n", "grpcio-status==1.48.2\n", - "gspread==3.4.2\n", + "gspread==6.0.2\n", "gspread-dataframe==3.3.1\n", "gym==0.25.2\n", "gym-notices==0.0.8\n", - "h5netcdf==1.2.0\n", - "h5py==3.9.0\n", - "holidays==0.34\n", - "holoviews==1.17.1\n", + "h5netcdf==1.3.0\n", + "h5py==3.11.0\n", + "holidays==0.54\n", + "holoviews==1.18.3\n", "html5lib==1.1\n", "httpimport==1.3.1\n", "httplib2==0.22.0\n", - "humanize==4.7.0\n", + "huggingface-hub==0.23.5\n", + "humanize==4.10.0\n", "hyperopt==0.2.7\n", - "idna==3.4\n", - "imageio==2.31.5\n", - "imageio-ffmpeg==0.4.9\n", + "ibis-framework==8.0.0\n", + "idna==3.7\n", + "imageio==2.34.2\n", + "imageio-ffmpeg==0.5.1\n", "imagesize==1.4.1\n", - "imbalanced-learn==0.10.1\n", + "imbalanced-learn==0.12.3\n", "imgaug==0.4.0\n", - "importlib-metadata==6.8.0\n", - "importlib-resources==6.1.0\n", + "immutabledict==4.2.0\n", + "importlib_metadata==8.2.0\n", + "importlib_resources==6.4.0\n", "imutils==0.5.4\n", - "inflect==7.0.0\n", + "inflect==7.3.1\n", "iniconfig==2.0.0\n", - "intel-openmp==2023.2.0\n", + "intel-cmplr-lib-ur==2024.2.0\n", + "intel-openmp==2024.2.0\n", "ipyevents==2.0.2\n", "ipyfilechooser==0.6.0\n", "ipykernel==5.5.6\n", - "ipyleaflet==0.17.4\n", + "ipyleaflet==0.18.2\n", + "ipyparallel==8.8.0\n", "ipython==7.34.0\n", "ipython-genutils==0.2.0\n", "ipython-sql==0.5.0\n", "ipytree==0.2.2\n", "ipywidgets==7.7.1\n", - "itsdangerous==2.1.2\n", - "jarvis-tools==2023.9.20\n", - "jax==0.4.16\n", - "jaxlib @ https://storage.googleapis.com/jax-releases/cuda11/jaxlib-0.4.16+cuda11.cudnn86-cp310-cp310-manylinux2014_x86_64.whl#sha256=78b3a9acfda4bfaae8a1dc112995d56454020f5c02dba4d24c40c906332efd4a\n", + "itsdangerous==2.2.0\n", + "jarvis-tools==2024.5.10\n", + "jarvis_leaderboard==2024.4.26\n", + "jax==0.4.26\n", + "jaxlib @ https://storage.googleapis.com/jax-releases/cuda12/jaxlib-0.4.26+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl#sha256=813cf1fe3e7ca4dbf5327d6e7b4fc8521e92d8bba073ee645ae0d5d036a25750\n", "jeepney==0.7.1\n", + "jellyfish==1.1.0\n", "jieba==0.42.1\n", - "Jinja2==3.1.2\n", - "joblib==1.3.2\n", - "jsonpickle==3.0.2\n", - "jsonschema==4.19.1\n", - "jsonschema-specifications==2023.7.1\n", + "Jinja2==3.1.4\n", + "joblib==1.4.2\n", + "jsonpickle==3.2.2\n", + "jsonschema==4.23.0\n", + "jsonschema-specifications==2023.12.1\n", "jupyter-client==6.1.12\n", "jupyter-console==6.1.0\n", "jupyter-server==1.24.0\n", - "jupyter_core==5.4.0\n", - "jupyterlab-pygments==0.2.2\n", - "jupyterlab-widgets==3.0.9\n", - "kaggle==1.5.16\n", - "keras==2.13.1\n", + "jupyter_core==5.7.2\n", + "jupyterlab_pygments==0.3.0\n", + "jupyterlab_widgets==3.0.11\n", + "kaggle==1.6.17\n", + "kagglehub==0.2.9\n", + "keras==3.4.1\n", "keyring==23.5.0\n", "kiwisolver==1.4.5\n", - "langcodes==3.3.0\n", + "langcodes==3.4.0\n", + "language_data==1.2.0\n", "launchpadlib==1.10.16\n", "lazr.restfulclient==0.14.4\n", "lazr.uri==1.0.6\n", - "lazy_loader==0.3\n", - "libclang==16.0.6\n", - "librosa==0.10.1\n", - "lightgbm==4.0.0\n", - "linkify-it-py==2.0.2\n", - "lit==17.0.2\n", - "llvmlite==0.39.1\n", + "lazy_loader==0.4\n", + "libclang==18.1.1\n", + "librosa==0.10.2.post1\n", + "lightgbm==4.4.0\n", + "linkify-it-py==2.0.3\n", + "llvmlite==0.43.0\n", "locket==1.0.0\n", "logical-unification==0.4.6\n", - "lxml==4.9.3\n", - "malloy==2023.1056\n", - "Markdown==3.5\n", + "lxml==4.9.4\n", + "malloy==2024.1089\n", + "marisa-trie==1.2.0\n", + "Markdown==3.6\n", "markdown-it-py==3.0.0\n", - "MarkupSafe==2.1.3\n", + "MarkupSafe==2.1.5\n", "matplotlib==3.7.1\n", - "matplotlib-inline==0.1.6\n", - "matplotlib-venn==0.11.9\n", - "mdit-py-plugins==0.4.0\n", + "matplotlib-inline==0.1.7\n", + "matplotlib-venn==0.11.10\n", + "mdit-py-plugins==0.4.1\n", "mdurl==0.1.2\n", "mergedeep==1.3.4\n", "miniKanren==1.0.3\n", "missingno==0.5.2\n", "mistune==0.8.4\n", "mizani==0.9.3\n", - "mkdocs==1.5.3\n", - "mkdocs-material==9.4.6\n", - "mkdocs-material-extensions==1.2\n", - "mkl==2023.2.0\n", - "ml-dtypes==0.3.1\n", - "mlxtend==0.22.0\n", - "more-itertools==10.1.0\n", + "mkdocs==1.6.0\n", + "mkdocs-get-deps==0.2.0\n", + "mkdocs-material==9.5.31\n", + "mkdocs-material-extensions==1.3.1\n", + "mkl==2024.2.0\n", + "ml-dtypes==0.4.0\n", + "mlxtend==0.23.1\n", + "more-itertools==10.3.0\n", "moviepy==1.0.3\n", "mpmath==1.3.0\n", - "msgpack==1.0.7\n", - "multidict==6.0.4\n", + "msgpack==1.0.8\n", + "multidict==6.0.5\n", "multipledispatch==1.0.0\n", "multitasking==0.0.11\n", "murmurhash==1.0.10\n", "music21==9.1.0\n", + "namex==0.0.8\n", "natsort==8.4.0\n", - "nbclassic==1.0.0\n", - "nbclient==0.8.0\n", + "nbclassic==1.1.0\n", + "nbclient==0.10.0\n", "nbconvert==6.5.4\n", - "nbformat==5.9.2\n", - "nest-asyncio==1.5.8\n", - "networkx==3.1\n", - "nibabel==4.0.2\n", + "nbformat==5.10.4\n", + "nest-asyncio==1.6.0\n", + "networkx==3.3\n", + "nibabel==5.0.1\n", "nltk==3.8.1\n", "notebook==6.5.5\n", - "notebook_shim==0.2.3\n", - "numba==0.56.4\n", - "numexpr==2.8.7\n", - "numpy==1.23.5\n", + "notebook_shim==0.2.4\n", + "numba==0.60.0\n", + "numexpr==2.10.1\n", + "numpy==1.26.4\n", + "nvtx==0.2.10\n", "oauth2client==4.1.3\n", "oauthlib==3.2.2\n", - "opencv-contrib-python==4.8.0.76\n", - "opencv-python==4.8.0.76\n", - "opencv-python-headless==4.8.1.78\n", - "openpyxl==3.1.2\n", + "opencv-contrib-python==4.10.0.84\n", + "opencv-python==4.10.0.84\n", + "opencv-python-headless==4.10.0.84\n", + "openpyxl==3.1.5\n", "opt-einsum==3.3.0\n", - "optax==0.1.7\n", - "orbax-checkpoint==0.4.1\n", - "osqp==0.6.2.post8\n", - "packaging==23.2\n", + "optax==0.2.2\n", + "optree==0.12.1\n", + "orbax-checkpoint==0.5.23\n", + "osqp==0.6.7.post0\n", + "packaging==24.1\n", "paginate==0.5.6\n", - "pandas==1.5.3\n", + "pandas==2.1.4\n", "pandas-datareader==0.10.0\n", - "pandas-gbq==0.17.9\n", - "pandas-stubs==1.5.3.230304\n", - "pandocfilters==1.5.0\n", - "panel==1.2.3\n", - "param==1.13.0\n", - "parso==0.8.3\n", - "partd==1.4.1\n", + "pandas-gbq==0.19.2\n", + "pandas-stubs==2.1.4.231227\n", + "pandocfilters==1.5.1\n", + "panel==1.4.5\n", + "param==2.1.1\n", + "parso==0.8.4\n", + "parsy==2.1\n", + "partd==1.4.2\n", "pathlib==1.0.1\n", - "pathspec==0.11.2\n", - "pathy==0.10.2\n", - "patsy==0.5.3\n", - "peewee==3.16.3\n", - "pexpect==4.8.0\n", + "pathspec==0.12.1\n", + "patsy==0.5.6\n", + "peewee==3.17.6\n", + "pexpect==4.9.0\n", "pickleshare==0.7.5\n", "Pillow==9.4.0\n", - "pip-tools==6.13.0\n", - "platformdirs==3.11.0\n", + "pip-tools==7.4.1\n", + "platformdirs==4.2.2\n", "plotly==5.15.0\n", - "plotnine==0.12.3\n", - "pluggy==1.3.0\n", - "polars==0.17.3\n", - "pooch==1.7.0\n", + "plotnine==0.12.4\n", + "pluggy==1.5.0\n", + "polars==0.20.2\n", + "pooch==1.8.2\n", "portpicker==1.5.2\n", - "prefetch-generator==1.0.3\n", + "prefetch_generator==1.0.3\n", "preshed==3.0.9\n", - "prettytable==3.9.0\n", + "prettytable==3.10.2\n", "proglog==0.1.10\n", "progressbar2==4.2.0\n", - "prometheus-client==0.17.1\n", + "prometheus_client==0.20.0\n", "promise==2.3\n", - "prompt-toolkit==3.0.39\n", + "prompt_toolkit==3.0.47\n", "prophet==1.1.5\n", - "proto-plus==1.22.3\n", + "proto-plus==1.24.0\n", "protobuf==3.20.3\n", "psutil==5.9.5\n", "psycopg2==2.9.9\n", "ptyprocess==0.7.0\n", "py-cpuinfo==9.0.0\n", "py4j==0.10.9.7\n", - "pyarrow==9.0.0\n", - "pyasn1==0.5.0\n", - "pyasn1-modules==0.3.0\n", - "pycocotools==2.0.7\n", - "pycparser==2.21\n", - "pyct==0.5.0\n", - "pydantic==1.10.13\n", + "pyarrow==14.0.2\n", + "pyarrow-hotfix==0.6\n", + "pyasn1==0.6.0\n", + "pyasn1_modules==0.4.0\n", + "pycocotools==2.0.8\n", + "pycparser==2.22\n", + "pydantic==2.8.2\n", + "pydantic_core==2.20.1\n", "pydata-google-auth==1.8.2\n", "pydot==1.4.2\n", "pydot-ng==2.0.0\n", "pydotplus==2.0.2\n", "PyDrive==1.3.1\n", "PyDrive2==1.6.3\n", - "pyerfa==2.0.0.3\n", - "pygame==2.5.2\n", + "pyerfa==2.0.1.4\n", + "pygame==2.6.0\n", "Pygments==2.16.1\n", "PyGObject==3.42.1\n", - "PyJWT==2.3.0\n", - "pymc==5.7.2\n", - "pymdown-extensions==10.3\n", + "PyJWT==2.9.0\n", + "pymc==5.10.4\n", + "pymdown-extensions==10.9\n", "pymystem3==0.2.0\n", + "pynvjitlink-cu12==0.3.0\n", "PyOpenGL==3.1.7\n", - "pyOpenSSL==23.2.0\n", - "pyparsing==3.1.1\n", - "pyperclip==1.8.2\n", + "pyOpenSSL==24.2.1\n", + "pyparsing==3.1.2\n", + "pyperclip==1.9.0\n", "pyproj==3.6.1\n", - "pyproject_hooks==1.0.0\n", + "pyproject_hooks==1.1.0\n", "pyshp==2.3.1\n", "PySocks==1.7.1\n", - "pytensor==2.14.2\n", - "pytest==7.4.2\n", - "python-apt==0.0.0\n", - "python-box==7.1.1\n", + "pytensor==2.18.6\n", + "pytest==7.4.4\n", + "python-apt==2.4.0\n", + "python-box==7.2.0\n", "python-dateutil==2.8.2\n", "python-louvain==0.16\n", - "python-slugify==8.0.1\n", - "python-utils==3.8.1\n", - "pytz==2023.3.post1\n", - "pyviz_comms==3.0.0\n", - "PyWavelets==1.4.1\n", - "PyYAML==6.0.1\n", + "python-slugify==8.0.4\n", + "python-utils==3.8.2\n", + "pytz==2024.1\n", + "pyviz_comms==3.0.3\n", + "PyYAML==6.0.2\n", "pyyaml_env_tag==0.1\n", - "pyzmq==23.2.1\n", - "qdldl==0.1.7.post0\n", - "qudida==0.0.4\n", + "pyzmq==24.0.1\n", + "qdldl==0.1.7.post4\n", "ratelim==0.1.6\n", - "referencing==0.30.2\n", - "regex==2023.6.3\n", - "requests==2.31.0\n", + "referencing==0.35.1\n", + "regex==2024.5.15\n", + "requests==2.32.3\n", "requests-oauthlib==1.3.1\n", - "requirements-parser==0.5.0\n", - "rich==13.6.0\n", - "rpds-py==0.10.4\n", + "requirements-parser==0.9.0\n", + "rich==13.7.1\n", + "rmm-cu12==24.4.0\n", + "rouge==1.0.1\n", + "rpds-py==0.20.0\n", "rpy2==3.4.2\n", "rsa==4.9\n", - "scikit-image==0.19.3\n", - "scikit-learn==1.2.2\n", - "scipy==1.11.3\n", - "scooby==0.7.4\n", - "scs==3.2.3\n", - "seaborn==0.12.2\n", + "safetensors==0.4.4\n", + "scikit-image==0.23.2\n", + "scikit-learn==1.3.2\n", + "scipy==1.13.1\n", + "scooby==0.10.0\n", + "scs==3.2.6\n", + "seaborn==0.13.1\n", "SecretStorage==3.3.1\n", - "Send2Trash==1.8.2\n", - "shapely==2.0.1\n", + "Send2Trash==1.8.3\n", + "sentencepiece==0.1.99\n", + "shapely==2.0.5\n", + "shellingham==1.5.4\n", + "simple_parsing==0.1.5\n", "six==1.16.0\n", "sklearn-pandas==2.2.0\n", - "smart-open==6.4.0\n", - "sniffio==1.3.0\n", + "smart-open==7.0.4\n", + "sniffio==1.3.1\n", "snowballstemmer==2.2.0\n", + "snowflake-connector-python==3.12.0\n", "sortedcontainers==2.4.0\n", "soundfile==0.12.1\n", "soupsieve==2.5\n", - "soxr==0.3.7\n", - "spacy==3.6.1\n", + "soxr==0.4.0\n", + "spacy==3.7.5\n", "spacy-legacy==3.0.12\n", "spacy-loggers==1.0.5\n", - "spglib==2.1.0\n", + "spglib==2.5.0\n", "Sphinx==5.0.2\n", - "sphinxcontrib-applehelp==1.0.7\n", - "sphinxcontrib-devhelp==1.0.5\n", - "sphinxcontrib-htmlhelp==2.0.4\n", + "sphinxcontrib-applehelp==2.0.0\n", + "sphinxcontrib-devhelp==2.0.0\n", + "sphinxcontrib-htmlhelp==2.1.0\n", "sphinxcontrib-jsmath==1.0.1\n", - "sphinxcontrib-qthelp==1.0.6\n", - "sphinxcontrib-serializinghtml==1.1.9\n", - "SQLAlchemy==2.0.21\n", - "sqlparse==0.4.4\n", + "sphinxcontrib-qthelp==2.0.0\n", + "sphinxcontrib-serializinghtml==2.0.0\n", + "SQLAlchemy==2.0.32\n", + "sqlglot==20.11.0\n", + "sqlparse==0.5.1\n", "srsly==2.4.8\n", - "stanio==0.3.0\n", - "statsmodels==0.14.0\n", - "sympy==1.12\n", + "stanio==0.5.1\n", + "statsmodels==0.14.2\n", + "StrEnum==0.4.15\n", + "sympy==1.13.1\n", "tables==3.8.0\n", "tabulate==0.9.0\n", - "tbb==2021.10.0\n", - "tblib==2.0.0\n", - "tenacity==8.2.3\n", - "tensorboard==2.13.0\n", - "tensorboard-data-server==0.7.1\n", - "tensorflow==2.13.0\n", - "tensorflow-datasets==4.9.3\n", - "tensorflow-estimator==2.13.0\n", - "tensorflow-gcs-config==2.13.0\n", - "tensorflow-hub==0.15.0\n", - "tensorflow-io-gcs-filesystem==0.34.0\n", - "tensorflow-metadata==1.14.0\n", - "tensorflow-probability==0.20.1\n", - "tensorstore==0.1.45\n", - "termcolor==2.3.0\n", - "terminado==0.17.1\n", + "tbb==2021.13.0\n", + "tblib==3.0.0\n", + "tenacity==9.0.0\n", + "tensorboard==2.17.0\n", + "tensorboard-data-server==0.7.2\n", + "tensorflow==2.17.0\n", + "tensorflow-datasets==4.9.6\n", + "tensorflow-hub==0.16.1\n", + "tensorflow-io-gcs-filesystem==0.37.1\n", + "tensorflow-metadata==1.15.0\n", + "tensorflow-probability==0.24.0\n", + "tensorstore==0.1.64\n", + "termcolor==2.4.0\n", + "terminado==0.18.1\n", "text-unidecode==1.3\n", "textblob==0.17.1\n", "tf-slim==1.1.0\n", - "thinc==8.1.12\n", - "threadpoolctl==3.2.0\n", - "tifffile==2023.9.26\n", - "tinycss2==1.2.1\n", + "tf_keras==2.17.0\n", + "thinc==8.2.5\n", + "threadpoolctl==3.5.0\n", + "tifffile==2024.7.24\n", + "tinycss2==1.3.0\n", + "tokenizers==0.19.1\n", "toml==0.10.2\n", "tomli==2.0.1\n", - "toolz==0.12.0\n", - "torch @ https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp310-cp310-linux_x86_64.whl#sha256=a7a49d459bf4862f64f7bc1a68beccf8881c2fa9f3e0569608e16ba6f85ebf7b\n", - "torchaudio @ https://download.pytorch.org/whl/cu118/torchaudio-2.0.2%2Bcu118-cp310-cp310-linux_x86_64.whl#sha256=26692645ea061a005c57ec581a2d0425210ac6ba9f923edf11cc9b0ef3a111e9\n", - "torchdata==0.6.1\n", + "tomlkit==0.13.0\n", + "toolz==0.12.1\n", + "torch @ https://download.pytorch.org/whl/cu121/torch-2.3.1%2Bcu121-cp310-cp310-linux_x86_64.whl#sha256=f0deb5d2f932a68ed54625ba140eddbf2af22be978ee19b9b63c986add6425b2\n", + "torchaudio @ https://download.pytorch.org/whl/cu121/torchaudio-2.3.1%2Bcu121-cp310-cp310-linux_x86_64.whl#sha256=0b423f4ae3356f11f6723e8c77208ac3f9361a4f941e4cc08d86c32c137594bc\n", "torchsummary==1.5.1\n", - "torchtext==0.15.2\n", - "torchvision @ https://download.pytorch.org/whl/cu118/torchvision-0.15.2%2Bcu118-cp310-cp310-linux_x86_64.whl#sha256=19ca4ab5d6179bbe53cff79df1a855ee6533c2861ddc7389f68349d8b9f8302a\n", - "tornado==6.3.2\n", - "tqdm==4.66.1\n", + "torchtext==0.18.0\n", + "torchvision @ https://download.pytorch.org/whl/cu121/torchvision-0.18.1%2Bcu121-cp310-cp310-linux_x86_64.whl#sha256=e95ba5a2c616939281e01babf11664d6d1725e81bba57ef81f81c3e57e4d4151\n", + "tornado==6.3.3\n", + "tqdm==4.66.5\n", "traitlets==5.7.1\n", "traittypes==0.2.1\n", - "triton==2.0.0\n", - "tweepy==4.13.0\n", - "typer==0.9.0\n", - "types-pytz==2023.3.1.1\n", - "types-setuptools==68.2.0.0\n", - "typing_extensions==4.5.0\n", - "tzlocal==5.1\n", - "uc-micro-py==1.0.2\n", + "transformers==4.42.4\n", + "triton==2.3.1\n", + "tweepy==4.14.0\n", + "typeguard==4.3.0\n", + "typer==0.12.3\n", + "types-pytz==2024.1.0.20240417\n", + "types-setuptools==71.1.0.20240806\n", + "typing_extensions==4.12.2\n", + "tzdata==2024.1\n", + "tzlocal==5.2\n", + "uc-micro-py==1.0.3\n", "uritemplate==4.1.1\n", - "urllib3==2.0.6\n", + "urllib3==2.0.7\n", "vega-datasets==0.9.0\n", "wadllib==1.3.6\n", - "wasabi==1.1.2\n", - "watchdog==3.0.0\n", - "wcwidth==0.2.8\n", - "webcolors==1.13\n", + "wasabi==1.1.3\n", + "watchdog==4.0.2\n", + "wcwidth==0.2.13\n", + "weasel==0.4.1\n", + "webcolors==24.6.0\n", "webencodings==0.5.1\n", - "websocket-client==1.6.4\n", - "Werkzeug==3.0.0\n", - "widgetsnbextension==3.6.6\n", - "wordcloud==1.9.2\n", - "wrapt==1.15.0\n", - "xarray==2023.7.0\n", - "xarray-einstats==0.6.0\n", - "xgboost==2.0.0\n", + "websocket-client==1.8.0\n", + "Werkzeug==3.0.3\n", + "widgetsnbextension==3.6.8\n", + "wordcloud==1.9.3\n", + "wrapt==1.16.0\n", + "xarray==2024.6.0\n", + "xarray-einstats==0.7.0\n", + "xgboost==2.1.1\n", "xlrd==2.0.1\n", "xmltodict==0.13.0\n", - "xyzservices==2023.10.0\n", - "yarl==1.9.2\n", + "xyzservices==2024.6.0\n", + "yarl==1.9.4\n", "yellowbrick==1.5\n", - "yfinance==0.2.31\n", + "yfinance==0.2.41\n", "zict==3.0.0\n", - "zipp==3.17.0\n" + "zipp==3.19.2\n" ] } ]