diff --git a/Kepler_initial.ipynb b/Kepler_initial.ipynb
new file mode 100644
index 0000000..2ce2429
--- /dev/null
+++ b/Kepler_initial.ipynb
@@ -0,0 +1,946 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.3"
+ },
+ "colab": {
+ "name": "Kepler_initial.ipynb",
+ "provenance": [],
+ "collapsed_sections": [],
+ "include_colab_link": true
+ },
+ "widgets": {
+ "application/vnd.jupyter.widget-state+json": {
+ "3746d2432acd4d109f411cb79f9d2556": {
+ "model_module": "keplergl-jupyter",
+ "model_name": "KeplerGlModal",
+ "state": {
+ "_view_name": "KeplerGlView",
+ "_dom_classes": [],
+ "_model_name": "KeplerGlModal",
+ "config": {},
+ "_view_module": "keplergl-jupyter",
+ "_model_module_version": "^0.2.1",
+ "value": "Hello World!",
+ "_view_count": null,
+ "_view_module_version": "^0.2.1",
+ "data": {
+ "data_1": {
+ "index": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ],
+ "data": [
+ [
+ 1,
+ null,
+ null,
+ "Manauj Shukla",
+ 23,
+ "Male",
+ "9823152651",
+ "Talegaon",
+ "411057",
+ "Red",
+ "",
+ "",
+ 18.7375763,
+ 73.67466259999999
+ ],
+ [
+ 2,
+ null,
+ null,
+ "Kabir Wadhwa",
+ 21,
+ "Male",
+ "9876543210",
+ "Talegaon",
+ "411057",
+ "Red",
+ "",
+ "",
+ 18.7375763,
+ 73.67466259999999
+ ],
+ [
+ 3,
+ null,
+ null,
+ "Tanmay Shetty",
+ 21,
+ "Male",
+ "8877665544",
+ "Mumbai",
+ "411058",
+ "Red",
+ "",
+ "",
+ 19.0759837,
+ 72.8776559
+ ],
+ [
+ 4,
+ null,
+ null,
+ "Mukesh Kale",
+ 21,
+ "Male",
+ "1122334455",
+ "Mumbai",
+ "411058",
+ "Red",
+ "",
+ "",
+ 19.0759837,
+ 72.8776559
+ ],
+ [
+ 5,
+ null,
+ null,
+ "Neha Waghmare",
+ 42,
+ "Female",
+ "8425941636",
+ "Goa",
+ "411057",
+ "Red",
+ "",
+ "",
+ 15.2993265,
+ 74.12399599999999
+ ],
+ [
+ 6,
+ null,
+ null,
+ "Rhea Sharma",
+ 33,
+ "Female",
+ "9819586685",
+ "Goa",
+ "411058",
+ "Red",
+ "",
+ "",
+ 15.2993265,
+ 74.12399599999999
+ ]
+ ],
+ "columns": [
+ "ICMR_ID",
+ "HC_ID",
+ "HS_ID",
+ "NAME",
+ "AGE",
+ "GENDER",
+ "MOBILE_NO",
+ "ADDRESS",
+ "PINCODE",
+ "STATE",
+ "CONTACT",
+ "FORM_FILLED",
+ "LAT",
+ "LONG"
+ ]
+ }
+ },
+ "layout": "IPY_MODEL_b9ddc473cbb444a99dee0feb7cf3bacb",
+ "height": 500,
+ "_model_module": "keplergl-jupyter"
+ }
+ }
+ }
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "biU5FFmITsYP",
+ "outputId": "edca7f08-d02b-4a3f-b9f5-7a5136b7a6c6",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ }
+ },
+ "source": [
+ "pip install pymysql"
+ ],
+ "execution_count": 23,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: pymysql in /usr/local/lib/python3.6/dist-packages (0.10.1)\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "U_2N4mNXWQmw",
+ "outputId": "9015ad39-928e-4a0b-ff9e-876030ccbf00",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ }
+ },
+ "source": [
+ "pip install keplergl"
+ ],
+ "execution_count": 24,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Collecting keplergl\n",
+ "\u001b[?25l Downloading https://files.pythonhosted.org/packages/2f/a0/ea13a2cc4071fddc91a6ea530d0349e4b943a4a8839209a7facecee37db3/keplergl-0.2.1.tar.gz (7.7MB)\n",
+ "\u001b[K |████████████████████████████████| 7.7MB 3.3MB/s \n",
+ "\u001b[?25hRequirement already satisfied: ipywidgets<8,>=7.0.0 in /usr/local/lib/python3.6/dist-packages (from keplergl) (7.5.1)\n",
+ "Collecting traittypes>=0.2.1\n",
+ " Downloading https://files.pythonhosted.org/packages/9c/d1/8d5bd662703cc1764d986f6908a608777305946fa634d34c470cd4a1e729/traittypes-0.2.1-py2.py3-none-any.whl\n",
+ "Collecting geopandas>=0.5.0\n",
+ "\u001b[?25l Downloading https://files.pythonhosted.org/packages/f7/a4/e66aafbefcbb717813bf3a355c8c4fc3ed04ea1dd7feb2920f2f4f868921/geopandas-0.8.1-py2.py3-none-any.whl (962kB)\n",
+ "\u001b[K |████████████████████████████████| 972kB 43.4MB/s \n",
+ "\u001b[?25hRequirement already satisfied: pandas>=0.23.0 in /usr/local/lib/python3.6/dist-packages (from keplergl) (1.1.2)\n",
+ "Requirement already satisfied: Shapely>=1.6.4.post2 in /usr/local/lib/python3.6/dist-packages (from keplergl) (1.7.1)\n",
+ "Requirement already satisfied: traitlets>=4.3.1 in /usr/local/lib/python3.6/dist-packages (from ipywidgets<8,>=7.0.0->keplergl) (4.3.3)\n",
+ "Requirement already satisfied: ipython>=4.0.0; python_version >= \"3.3\" in /usr/local/lib/python3.6/dist-packages (from ipywidgets<8,>=7.0.0->keplergl) (5.5.0)\n",
+ "Requirement already satisfied: ipykernel>=4.5.1 in /usr/local/lib/python3.6/dist-packages (from ipywidgets<8,>=7.0.0->keplergl) (4.10.1)\n",
+ "Requirement already satisfied: nbformat>=4.2.0 in /usr/local/lib/python3.6/dist-packages (from ipywidgets<8,>=7.0.0->keplergl) (5.0.7)\n",
+ "Requirement already satisfied: widgetsnbextension~=3.5.0 in /usr/local/lib/python3.6/dist-packages (from ipywidgets<8,>=7.0.0->keplergl) (3.5.1)\n",
+ "Collecting pyproj>=2.2.0\n",
+ "\u001b[?25l Downloading https://files.pythonhosted.org/packages/e5/c3/071e080230ac4b6c64f1a2e2f9161c9737a2bc7b683d2c90b024825000c0/pyproj-2.6.1.post1-cp36-cp36m-manylinux2010_x86_64.whl (10.9MB)\n",
+ "\u001b[K |████████████████████████████████| 10.9MB 44.6MB/s \n",
+ "\u001b[?25hCollecting fiona\n",
+ "\u001b[?25l Downloading https://files.pythonhosted.org/packages/36/8b/e8b2c11bed5373c8e98edb85ce891b09aa1f4210fd451d0fb3696b7695a2/Fiona-1.8.17-cp36-cp36m-manylinux1_x86_64.whl (14.8MB)\n",
+ "\u001b[K |████████████████████████████████| 14.8MB 179kB/s \n",
+ "\u001b[?25hRequirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.23.0->keplergl) (2.8.1)\n",
+ "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.23.0->keplergl) (2018.9)\n",
+ "Requirement already satisfied: numpy>=1.15.4 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.23.0->keplergl) (1.18.5)\n",
+ "Requirement already satisfied: ipython-genutils in /usr/local/lib/python3.6/dist-packages (from traitlets>=4.3.1->ipywidgets<8,>=7.0.0->keplergl) (0.2.0)\n",
+ "Requirement already satisfied: decorator in /usr/local/lib/python3.6/dist-packages (from traitlets>=4.3.1->ipywidgets<8,>=7.0.0->keplergl) (4.4.2)\n",
+ "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from traitlets>=4.3.1->ipywidgets<8,>=7.0.0->keplergl) (1.15.0)\n",
+ "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.6/dist-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (50.3.0)\n",
+ "Requirement already satisfied: simplegeneric>0.8 in /usr/local/lib/python3.6/dist-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (0.8.1)\n",
+ "Requirement already satisfied: pygments in /usr/local/lib/python3.6/dist-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (2.6.1)\n",
+ "Requirement already satisfied: pickleshare in /usr/local/lib/python3.6/dist-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (0.7.5)\n",
+ "Requirement already satisfied: pexpect; sys_platform != \"win32\" in /usr/local/lib/python3.6/dist-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (4.8.0)\n",
+ "Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /usr/local/lib/python3.6/dist-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (1.0.18)\n",
+ "Requirement already satisfied: tornado>=4.0 in /usr/local/lib/python3.6/dist-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.0.0->keplergl) (5.1.1)\n",
+ "Requirement already satisfied: jupyter-client in /usr/local/lib/python3.6/dist-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.0.0->keplergl) (5.3.5)\n",
+ "Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /usr/local/lib/python3.6/dist-packages (from nbformat>=4.2.0->ipywidgets<8,>=7.0.0->keplergl) (2.6.0)\n",
+ "Requirement already satisfied: jupyter-core in /usr/local/lib/python3.6/dist-packages (from nbformat>=4.2.0->ipywidgets<8,>=7.0.0->keplergl) (4.6.3)\n",
+ "Requirement already satisfied: notebook>=4.4.1 in /usr/local/lib/python3.6/dist-packages (from widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (5.3.1)\n",
+ "Requirement already satisfied: attrs>=17 in /usr/local/lib/python3.6/dist-packages (from fiona->geopandas>=0.5.0->keplergl) (20.2.0)\n",
+ "Collecting munch\n",
+ " Downloading https://files.pythonhosted.org/packages/cc/ab/85d8da5c9a45e072301beb37ad7f833cd344e04c817d97e0cc75681d248f/munch-2.5.0-py2.py3-none-any.whl\n",
+ "Collecting click-plugins>=1.0\n",
+ " Downloading https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.whl\n",
+ "Collecting cligj>=0.5\n",
+ " Downloading https://files.pythonhosted.org/packages/e4/be/30a58b4b0733850280d01f8bd132591b4668ed5c7046761098d665ac2174/cligj-0.5.0-py3-none-any.whl\n",
+ "Requirement already satisfied: click<8,>=4.0 in /usr/local/lib/python3.6/dist-packages (from fiona->geopandas>=0.5.0->keplergl) (7.1.2)\n",
+ "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.6/dist-packages (from pexpect; sys_platform != \"win32\"->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (0.6.0)\n",
+ "Requirement already satisfied: wcwidth in /usr/local/lib/python3.6/dist-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets<8,>=7.0.0->keplergl) (0.2.5)\n",
+ "Requirement already satisfied: pyzmq>=13 in /usr/local/lib/python3.6/dist-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets<8,>=7.0.0->keplergl) (19.0.2)\n",
+ "Requirement already satisfied: terminado>=0.8.1 in /usr/local/lib/python3.6/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (0.9.1)\n",
+ "Requirement already satisfied: nbconvert in /usr/local/lib/python3.6/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (5.6.1)\n",
+ "Requirement already satisfied: jinja2 in /usr/local/lib/python3.6/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (2.11.2)\n",
+ "Requirement already satisfied: Send2Trash in /usr/local/lib/python3.6/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (1.5.0)\n",
+ "Requirement already satisfied: testpath in /usr/local/lib/python3.6/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (0.4.4)\n",
+ "Requirement already satisfied: defusedxml in /usr/local/lib/python3.6/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (0.6.0)\n",
+ "Requirement already satisfied: bleach in /usr/local/lib/python3.6/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (3.2.1)\n",
+ "Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.6/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (0.8.4)\n",
+ "Requirement already satisfied: entrypoints>=0.2.2 in /usr/local/lib/python3.6/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (0.3)\n",
+ "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.6/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (1.4.2)\n",
+ "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.6/dist-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (1.1.1)\n",
+ "Requirement already satisfied: webencodings in /usr/local/lib/python3.6/dist-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (0.5.1)\n",
+ "Requirement already satisfied: packaging in /usr/local/lib/python3.6/dist-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (20.4)\n",
+ "Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.6/dist-packages (from packaging->bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets<8,>=7.0.0->keplergl) (2.4.7)\n",
+ "Building wheels for collected packages: keplergl\n",
+ " Building wheel for keplergl (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
+ " Created wheel for keplergl: filename=keplergl-0.2.1-py2.py3-none-any.whl size=15429182 sha256=2ac9d165f4dc6e31a2025c73611a697b5bc41a184bdd66891b6ed1cdaf97fcff\n",
+ " Stored in directory: /root/.cache/pip/wheels/3e/e6/48/c3a586961aa525425f865874271dae42f3807e1b5893c0dbb5\n",
+ "Successfully built keplergl\n",
+ "Installing collected packages: traittypes, pyproj, munch, click-plugins, cligj, fiona, geopandas, keplergl\n",
+ "Successfully installed click-plugins-1.1.1 cligj-0.5.0 fiona-1.8.17 geopandas-0.8.1 keplergl-0.2.1 munch-2.5.0 pyproj-2.6.1.post1 traittypes-0.2.1\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "m4NClr7-WKZG",
+ "outputId": "a86cc070-75dc-4b82-f93f-969dce95e3e0",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 142
+ }
+ },
+ "source": [
+ "pip install googlemaps"
+ ],
+ "execution_count": 25,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: googlemaps in /usr/local/lib/python3.6/dist-packages (4.4.2)\n",
+ "Requirement already satisfied: requests<3.0,>=2.20.0 in /usr/local/lib/python3.6/dist-packages (from googlemaps) (2.23.0)\n",
+ "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3.0,>=2.20.0->googlemaps) (1.24.3)\n",
+ "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3.0,>=2.20.0->googlemaps) (2020.6.20)\n",
+ "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3.0,>=2.20.0->googlemaps) (2.10)\n",
+ "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3.0,>=2.20.0->googlemaps) (3.0.4)\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "36n4_mtWTStQ",
+ "outputId": "5e6a890a-ec61-4140-ab23-985c5ce67db4",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 225
+ }
+ },
+ "source": [
+ "import pandas as pd\n",
+ "import pymysql\n",
+ "\n",
+ "conn = pymysql.connect(host = \"com-linweb464.srv.combell-ops.net\", user = \"ID328147_demo\", password=\"hello@3214\",db=\"ID328147_demo\")\n",
+ "#print('connected')\n",
+ "\n",
+ "dbCursor = conn.cursor()\n",
+ "\n",
+ "dbCursor.execute(\"SELECT * FROM patients\")\n",
+ "#print('executed')\n",
+ "\n",
+ "table_rows = dbCursor.fetchall()\n",
+ "\n",
+ "df = pd.DataFrame(data = table_rows, columns=['ICMR_ID','HC_ID','HS_ID','NAME','AGE','GENDER','MOBILE_NO','ADDRESS','PINCODE','STATE','CONTACT','FORM_FILLED'])\n",
+ "df"
+ ],
+ "execution_count": 26,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ICMR_ID | \n",
+ " HC_ID | \n",
+ " HS_ID | \n",
+ " NAME | \n",
+ " AGE | \n",
+ " GENDER | \n",
+ " MOBILE_NO | \n",
+ " ADDRESS | \n",
+ " PINCODE | \n",
+ " STATE | \n",
+ " CONTACT | \n",
+ " FORM_FILLED | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " None | \n",
+ " None | \n",
+ " Manauj Shukla | \n",
+ " 23 | \n",
+ " Male | \n",
+ " 9823152651 | \n",
+ " Talegaon | \n",
+ " 411057 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 2 | \n",
+ " None | \n",
+ " None | \n",
+ " Kabir Wadhwa | \n",
+ " 21 | \n",
+ " Male | \n",
+ " 9876543210 | \n",
+ " Talegaon | \n",
+ " 411057 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " None | \n",
+ " None | \n",
+ " Tanmay Shetty | \n",
+ " 21 | \n",
+ " Male | \n",
+ " 8877665544 | \n",
+ " Mumbai | \n",
+ " 411058 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4 | \n",
+ " None | \n",
+ " None | \n",
+ " Mukesh Kale | \n",
+ " 21 | \n",
+ " Male | \n",
+ " 1122334455 | \n",
+ " Mumbai | \n",
+ " 411058 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5 | \n",
+ " None | \n",
+ " None | \n",
+ " Neha Waghmare | \n",
+ " 42 | \n",
+ " Female | \n",
+ " 8425941636 | \n",
+ " Goa | \n",
+ " 411057 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 6 | \n",
+ " None | \n",
+ " None | \n",
+ " Rhea Sharma | \n",
+ " 33 | \n",
+ " Female | \n",
+ " 9819586685 | \n",
+ " Goa | \n",
+ " 411058 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ICMR_ID HC_ID HS_ID NAME ... PINCODE STATE CONTACT FORM_FILLED\n",
+ "0 1 None None Manauj Shukla ... 411057 Red \n",
+ "1 2 None None Kabir Wadhwa ... 411057 Red \n",
+ "2 3 None None Tanmay Shetty ... 411058 Red \n",
+ "3 4 None None Mukesh Kale ... 411058 Red \n",
+ "4 5 None None Neha Waghmare ... 411057 Red \n",
+ "5 6 None None Rhea Sharma ... 411058 Red \n",
+ "\n",
+ "[6 rows x 12 columns]"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 26
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "JXdJfIvbTSta"
+ },
+ "source": [
+ "from googlemaps import Client as GoogleMaps"
+ ],
+ "execution_count": 27,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "V6CEJGMATStg"
+ },
+ "source": [
+ "gmaps = GoogleMaps('AIzaSyB5roJvGx-u49wYK6niNSC2e44N0JyvQes')"
+ ],
+ "execution_count": 28,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "TRcUOVMBTStm"
+ },
+ "source": [
+ "df['LAT'] = \"\"\n",
+ "df['LONG'] = \"\""
+ ],
+ "execution_count": 29,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "Ugxy4vPMTStr",
+ "outputId": "1813de6b-0f90-4a08-c09b-01dc9c24831b",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 401
+ }
+ },
+ "source": [
+ "for x in range(len(df)):\n",
+ " try:\n",
+ " #time.sleep(1) #to add delay in case of large DFs\n",
+ " geocode_result = gmaps.geocode(df['ADDRESS'][x])\n",
+ " df['LAT'][x] = geocode_result[0]['geometry']['location'] ['lat']\n",
+ " df['LONG'][x] = geocode_result[0]['geometry']['location']['lng']\n",
+ " except IndexError:\n",
+ " print(\"Address was wrong...\")\n",
+ " except Exception as e:\n",
+ " print(\"Unexpected error occurred.\", e )\n",
+ "df"
+ ],
+ "execution_count": 30,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:5: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " \"\"\"\n",
+ "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:6: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " \n"
+ ],
+ "name": "stderr"
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ICMR_ID | \n",
+ " HC_ID | \n",
+ " HS_ID | \n",
+ " NAME | \n",
+ " AGE | \n",
+ " GENDER | \n",
+ " MOBILE_NO | \n",
+ " ADDRESS | \n",
+ " PINCODE | \n",
+ " STATE | \n",
+ " CONTACT | \n",
+ " FORM_FILLED | \n",
+ " LAT | \n",
+ " LONG | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " None | \n",
+ " None | \n",
+ " Manauj Shukla | \n",
+ " 23 | \n",
+ " Male | \n",
+ " 9823152651 | \n",
+ " Talegaon | \n",
+ " 411057 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ " 18.7376 | \n",
+ " 73.6747 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 2 | \n",
+ " None | \n",
+ " None | \n",
+ " Kabir Wadhwa | \n",
+ " 21 | \n",
+ " Male | \n",
+ " 9876543210 | \n",
+ " Talegaon | \n",
+ " 411057 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ " 18.7376 | \n",
+ " 73.6747 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " None | \n",
+ " None | \n",
+ " Tanmay Shetty | \n",
+ " 21 | \n",
+ " Male | \n",
+ " 8877665544 | \n",
+ " Mumbai | \n",
+ " 411058 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ " 19.076 | \n",
+ " 72.8777 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4 | \n",
+ " None | \n",
+ " None | \n",
+ " Mukesh Kale | \n",
+ " 21 | \n",
+ " Male | \n",
+ " 1122334455 | \n",
+ " Mumbai | \n",
+ " 411058 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ " 19.076 | \n",
+ " 72.8777 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5 | \n",
+ " None | \n",
+ " None | \n",
+ " Neha Waghmare | \n",
+ " 42 | \n",
+ " Female | \n",
+ " 8425941636 | \n",
+ " Goa | \n",
+ " 411057 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ " 15.2993 | \n",
+ " 74.124 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 6 | \n",
+ " None | \n",
+ " None | \n",
+ " Rhea Sharma | \n",
+ " 33 | \n",
+ " Female | \n",
+ " 9819586685 | \n",
+ " Goa | \n",
+ " 411058 | \n",
+ " Red | \n",
+ " | \n",
+ " | \n",
+ " 15.2993 | \n",
+ " 74.124 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ICMR_ID HC_ID HS_ID NAME ... CONTACT FORM_FILLED LAT LONG\n",
+ "0 1 None None Manauj Shukla ... 18.7376 73.6747\n",
+ "1 2 None None Kabir Wadhwa ... 18.7376 73.6747\n",
+ "2 3 None None Tanmay Shetty ... 19.076 72.8777\n",
+ "3 4 None None Mukesh Kale ... 19.076 72.8777\n",
+ "4 5 None None Neha Waghmare ... 15.2993 74.124\n",
+ "5 6 None None Rhea Sharma ... 15.2993 74.124\n",
+ "\n",
+ "[6 rows x 14 columns]"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 30
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "M9f7Haz2TStx"
+ },
+ "source": [
+ "from keplergl import KeplerGl"
+ ],
+ "execution_count": 31,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "scrolled": true,
+ "id": "A8LXnIECTSt2",
+ "outputId": "a5292e32-7d36-4005-f6b8-0d42fd7f3df4",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34,
+ "referenced_widgets": [
+ "3746d2432acd4d109f411cb79f9d2556"
+ ]
+ }
+ },
+ "source": [
+ "basemap1 = KeplerGl(height=500)\n",
+ "basemap1.add_data(data=df, name='data_1')\n",
+ "basemap1"
+ ],
+ "execution_count": 32,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "User Guide: https://docs.kepler.gl/docs/keplergl-jupyter\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "3746d2432acd4d109f411cb79f9d2556",
+ "version_minor": 0,
+ "version_major": 2
+ },
+ "text/plain": [
+ "KeplerGl(data={'data_1': {'index': [0, 1, 2, 3, 4, 5], 'columns': ['ICMR_ID', 'HC_ID', 'HS_ID', 'NAME', 'AGE',…"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "zRTNT3GyTSt7",
+ "outputId": "7e4a626b-1dc7-42f4-f6fa-afda0b7ac855",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ }
+ },
+ "source": [
+ "basemap1.save_to_html(file_name='map1.html')"
+ ],
+ "execution_count": 33,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Map saved to map1.html!\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "O_du36o3TSuA"
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": 33,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "RsIvEWG7XCJ8",
+ "outputId": "61241960-a090-4537-fb41-501a7dd9d968",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 367
+ }
+ },
+ "source": [
+ "import urllib.request\n",
+ "with urllib.request.urlopen(\"/map1.html\") as url:\n",
+ " s = url.read()\n",
+ " print (s)"
+ ],
+ "execution_count": 46,
+ "outputs": [
+ {
+ "output_type": "error",
+ "ename": "ValueError",
+ "evalue": "ignored",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0murllib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0murllib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0murlopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"/map1.html\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0ms\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/usr/lib/python3.6/urllib/request.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(url, data, timeout, cafile, capath, cadefault, context)\u001b[0m\n\u001b[1;32m 221\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[0mopener\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_opener\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 223\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mopener\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 224\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 225\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0minstall_opener\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopener\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/usr/lib/python3.6/urllib/request.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[1;32m 509\u001b[0m \u001b[0;31m# accept a URL or a Request object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 510\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfullurl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 511\u001b[0;31m \u001b[0mreq\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mRequest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfullurl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 512\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 513\u001b[0m \u001b[0mreq\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfullurl\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/usr/lib/python3.6/urllib/request.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, url, data, headers, origin_req_host, unverifiable, method)\u001b[0m\n\u001b[1;32m 327\u001b[0m \u001b[0morigin_req_host\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0munverifiable\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 328\u001b[0m method=None):\n\u001b[0;32m--> 329\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfull_url\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 330\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mheaders\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 331\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munredirected_hdrs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/usr/lib/python3.6/urllib/request.py\u001b[0m in \u001b[0;36mfull_url\u001b[0;34m(self, url)\u001b[0m\n\u001b[1;32m 353\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_full_url\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0munwrap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_full_url\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfragment\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msplittag\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_full_url\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 355\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_parse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 356\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 357\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mfull_url\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdeleter\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32m/usr/lib/python3.6/urllib/request.py\u001b[0m in \u001b[0;36m_parse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 382\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrest\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msplittype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_full_url\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 383\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtype\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 384\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"unknown url type: %r\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfull_url\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 385\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhost\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mselector\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msplithost\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrest\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 386\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhost\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;31mValueError\u001b[0m: unknown url type: '/map1.html'"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "DFkdVcB-YZVa",
+ "outputId": "f9f0333a-8b5d-48a4-fcae-ee58ae48b33d",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 0
+ }
+ },
+ "source": [
+ "import IPython\n",
+ "IPython.display.HTML(filename='/content/map1.html')"
+ ],
+ "execution_count": 52,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/html": [
+ "Kepler.gl"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 52
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/googlemeet.py b/googlemeet.py
new file mode 100644
index 0000000..d0d65f3
--- /dev/null
+++ b/googlemeet.py
@@ -0,0 +1,35 @@
+import os
+import time
+import autopy
+import webbrowser
+import mouse
+import keyboard
+from time import sleep
+from selenium import webdriver
+
+link = input("Enter the Google Meet Link of the lecture -> ")
+start = input("Enter the time when the lecture will start as (Format:- HH:MM:SS)(24 hour format) -> ")
+stop = input("Enter the time when the lecture will stop as (Format:- HH:MM:SS)(24 hour format) -> ")
+
+br=webdriver.Ie(executable_path=r"C:/Users/sid33/node_modules/iedriver/lib/iedriver/IEDriverServer.exe")
+
+Current_time = time.strftime("%H:%M:%S")
+
+while (Current_time != start):
+ print ("Waiting, the current time is " + Current_time +" :-( " )
+ Current_time = time.strftime("%H:%M:%S")
+ time.sleep(1)
+if (Current_time == start):
+ print ("You are now attending the Google Meet lecture :D")
+ br.get(link)
+ time.sleep(12)
+ keyboard.press_and_release('Ctrl + e, Ctrl + d')
+ autopy.mouse.move(1150,420)
+ mouse.click('left')
+ while (Current_time != stop):
+ print ("You are attending the lecture, current time is " + Current_time +" :-) " )
+ Current_time = time.strftime("%H:%M:%S")
+ time.sleep(1)
+ if (Current_time == stop):
+ print("You have successfully attended the Google Meet Lecture ^_^")
+ br.quit()
\ No newline at end of file