{"id":19083270,"url":"https://github.com/psingh12354/crash-course-on-python","last_synced_at":"2026-01-31T02:02:19.869Z","repository":{"id":185587910,"uuid":"280802955","full_name":"Psingh12354/Crash-Course-on-Python","owner":"Psingh12354","description":"Coursera ","archived":false,"fork":false,"pushed_at":"2020-07-19T06:08:06.000Z","size":83,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-10T20:25:15.953Z","etag":null,"topics":["coursera","crash-course-on-python","final-project"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Psingh12354.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-07-19T06:02:09.000Z","updated_at":"2023-07-13T18:08:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc6fc61c-19d6-4762-8f00-7dfdc825c463","html_url":"https://github.com/Psingh12354/Crash-Course-on-Python","commit_stats":null,"previous_names":["psingh12354/crash-course-on-python"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Psingh12354/Crash-Course-on-Python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Psingh12354%2FCrash-Course-on-Python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Psingh12354%2FCrash-Course-on-Python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Psingh12354%2FCrash-Course-on-Python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Psingh12354%2FCrash-Course-on-Python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Psingh12354","download_url":"https://codeload.github.com/Psingh12354/Crash-Course-on-Python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Psingh12354%2FCrash-Course-on-Python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28926630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T22:32:35.345Z","status":"online","status_checked_at":"2026-01-31T02:00:09.179Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coursera","crash-course-on-python","final-project"],"created_at":"2024-11-09T02:46:46.219Z","updated_at":"2026-01-31T02:02:19.854Z","avatar_url":"https://github.com/Psingh12354.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"   # _Crash Course On Python_\n\n   # Final Project - Word Cloud\n   \nFor this project, you'll create a \"word cloud\" from a text by writing a script. This script needs to process the text, remove punctuation, ignore case and words that do not contain all alphabets, count the frequencies, and ignore uninteresting or irrelevant words. A dictionary is the output of the ```calculate_frequencies``` function. The ```wordcloud``` module will then generate the image from your dictionary.\n\nFor the input text of your script, you will need to provide a file that contains text only. For the text itself, you can copy and paste the contents of a website you like. Or you can use a site like Project Gutenberg to find books that are available online. You could see what word clouds you can get from famous books, like a Shakespeare play or a novel by Jane Austen. Save this as a .txt file somewhere on your computer.\n\nNow you will need to upload your input file here so that your script will be able to process it. To do the upload, you will need an uploader widget. Run the following cell to perform all the installs and imports for your word cloud script and uploader widget. It may take a minute for all of this to run and there will be a lot of output messages. But, be patient. Once you get the following final line of output, the code is done executing. Then you can continue on with the rest of the instructions for this notebook.\n\n### Enabling notebook extension fileupload/extension...\n### - Validating: OK\n\n```\nHere are all the installs and imports you will need for your word cloud script and uploader widget\n\n!pip install wordcloud\n!pip install fileupload\n!pip install ipywidgets\n!jupyter nbextension install --py --user fileupload\n!jupyter nbextension enable --py fileupload\n\nimport wordcloud\nimport numpy as np\nfrom matplotlib import pyplot as plt\nfrom IPython.display import display\nimport fileupload\nimport io\nimport sys\n```\n\n```\nRequirement already satisfied: wordcloud in /opt/conda/lib/python3.6/site-packages (1.7.0)\nRequirement already satisfied: pillow in /opt/conda/lib/python3.6/site-packages (from wordcloud) (5.4.1)\nRequirement already satisfied: numpy\u003e=1.6.1 in /opt/conda/lib/python3.6/site-packages (from wordcloud) (1.15.4)\nRequirement already satisfied: matplotlib in /opt/conda/lib/python3.6/site-packages (from wordcloud) (3.0.3)\nRequirement already satisfied: cycler\u003e=0.10 in /opt/conda/lib/python3.6/site-packages (from matplotlib-\u003ewordcloud) (0.10.0)\nRequirement already satisfied: kiwisolver\u003e=1.0.1 in /opt/conda/lib/python3.6/site-packages (from matplotlib-\u003ewordcloud) (1.0.1)\nRequirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,\u003e=2.0.1 in /opt/conda/lib/python3.6/site-packages (from matplotlib-\u003ewordcloud) (2.3.1)\nRequirement already satisfied: python-dateutil\u003e=2.1 in /opt/conda/lib/python3.6/site-packages (from matplotlib-\u003ewordcloud) (2.8.0)\nRequirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from cycler\u003e=0.10-\u003ematplotlib-\u003ewordcloud) (1.12.0)\nRequirement already satisfied: setuptools in /opt/conda/lib/python3.6/site-packages (from kiwisolver\u003e=1.0.1-\u003ematplotlib-\u003ewordcloud) (40.8.0)\nRequirement already satisfied: fileupload in /opt/conda/lib/python3.6/site-packages (0.1.5)\nRequirement already satisfied: ipywidgets\u003e=5.1 in /opt/conda/lib/python3.6/site-packages (from fileupload) (7.4.2)\nRequirement already satisfied: traitlets\u003e=4.2 in /opt/conda/lib/python3.6/site-packages (from fileupload) (4.3.2)\nRequirement already satisfied: notebook\u003e=4.2 in /opt/conda/lib/python3.6/site-packages (from fileupload) (5.7.5)\nRequirement already satisfied: ipykernel\u003e=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets\u003e=5.1-\u003efileupload) (5.1.0)\nRequirement already satisfied: ipython\u003e=4.0.0; python_version \u003e= \"3.3\" in /opt/conda/lib/python3.6/site-packages (from ipywidgets\u003e=5.1-\u003efileupload) (7.4.0)\nRequirement already satisfied: widgetsnbextension~=3.4.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets\u003e=5.1-\u003efileupload) (3.4.2)\nRequirement already satisfied: nbformat\u003e=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets\u003e=5.1-\u003efileupload) (4.4.0)\nRequirement already satisfied: ipython_genutils in /opt/conda/lib/python3.6/site-packages (from traitlets\u003e=4.2-\u003efileupload) (0.2.0)\nRequirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets\u003e=4.2-\u003efileupload) (1.12.0)\nRequirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets\u003e=4.2-\u003efileupload) (4.3.2)\nRequirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (2.10)\nRequirement already satisfied: prometheus-client in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (0.6.0)\nRequirement already satisfied: Send2Trash in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (1.5.0)\nRequirement already satisfied: terminado\u003e=0.8.1 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (0.8.1)\nRequirement already satisfied: jupyter-client\u003e=5.2.0 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (5.2.4)\nRequirement already satisfied: pyzmq\u003e=17 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (18.0.1)\nRequirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (5.4.1)\nRequirement already satisfied: tornado\u003c7,\u003e=4.1 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (6.0.2)\nRequirement already satisfied: jupyter-core\u003e=4.4.0 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.2-\u003efileupload) (4.4.0)\nRequirement already satisfied: setuptools\u003e=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (40.8.0)\nRequirement already satisfied: jedi\u003e=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (0.13.3)\nRequirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (0.7.5)\nRequirement already satisfied: prompt_toolkit\u003c2.1.0,\u003e=2.0.0 in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (2.0.9)\nRequirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (2.3.1)\nRequirement already satisfied: backcall in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (0.1.0)\nRequirement already satisfied: pexpect in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (4.6.0)\nRequirement already satisfied: jsonschema!=2.5.0,\u003e=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat\u003e=4.2.0-\u003eipywidgets\u003e=5.1-\u003efileupload) (3.0.1)\nRequirement already satisfied: MarkupSafe\u003e=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2-\u003enotebook\u003e=4.2-\u003efileupload) (1.1.1)\nRequirement already satisfied: python-dateutil\u003e=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client\u003e=5.2.0-\u003enotebook\u003e=4.2-\u003efileupload) (2.8.0)\nRequirement already satisfied: mistune\u003e=0.8.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.2-\u003efileupload) (0.8.4)\nRequirement already satisfied: entrypoints\u003e=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.2-\u003efileupload) (0.3)\nRequirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.2-\u003efileupload) (3.1.0)\nRequirement already satisfied: pandocfilters\u003e=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.2-\u003efileupload) (1.4.2)\nRequirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.2-\u003efileupload) (0.4.2)\nRequirement already satisfied: defusedxml in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.2-\u003efileupload) (0.5.0)\nRequirement already satisfied: parso\u003e=0.3.0 in /opt/conda/lib/python3.6/site-packages (from jedi\u003e=0.10-\u003eipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (0.3.4)\nRequirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt_toolkit\u003c2.1.0,\u003e=2.0.0-\u003eipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (0.1.7)\nRequirement already satisfied: ptyprocess\u003e=0.5 in /opt/conda/lib/python3.6/site-packages (from pexpect-\u003eipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets\u003e=5.1-\u003efileupload) (0.6.0)\nRequirement already satisfied: attrs\u003e=17.4.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,\u003e=2.4-\u003enbformat\u003e=4.2.0-\u003eipywidgets\u003e=5.1-\u003efileupload) (19.1.0)\nRequirement already satisfied: pyrsistent\u003e=0.14.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,\u003e=2.4-\u003enbformat\u003e=4.2.0-\u003eipywidgets\u003e=5.1-\u003efileupload) (0.14.11)\nRequirement already satisfied: webencodings in /opt/conda/lib/python3.6/site-packages (from bleach-\u003enbconvert-\u003enotebook\u003e=4.2-\u003efileupload) (0.5.1)\nRequirement already satisfied: ipywidgets in /opt/conda/lib/python3.6/site-packages (7.4.2)\nRequirement already satisfied: ipython\u003e=4.0.0; python_version \u003e= \"3.3\" in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (7.4.0)\nRequirement already satisfied: widgetsnbextension~=3.4.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (3.4.2)\nRequirement already satisfied: ipykernel\u003e=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (5.1.0)\nRequirement already satisfied: traitlets\u003e=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (4.3.2)\nRequirement already satisfied: nbformat\u003e=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (4.4.0)\nRequirement already satisfied: setuptools\u003e=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (40.8.0)\nRequirement already satisfied: jedi\u003e=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (0.13.3)\nRequirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (4.3.2)\nRequirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (0.7.5)\nRequirement already satisfied: prompt_toolkit\u003c2.1.0,\u003e=2.0.0 in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (2.0.9)\nRequirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (2.3.1)\nRequirement already satisfied: backcall in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (0.1.0)\nRequirement already satisfied: pexpect in /opt/conda/lib/python3.6/site-packages (from ipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (4.6.0)\nRequirement already satisfied: notebook\u003e=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.4.0-\u003eipywidgets) (5.7.5)\nRequirement already satisfied: tornado\u003e=4.2 in /opt/conda/lib/python3.6/site-packages (from ipykernel\u003e=4.5.1-\u003eipywidgets) (6.0.2)\nRequirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel\u003e=4.5.1-\u003eipywidgets) (5.2.4)\nRequirement already satisfied: ipython_genutils in /opt/conda/lib/python3.6/site-packages (from traitlets\u003e=4.3.1-\u003eipywidgets) (0.2.0)\nRequirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets\u003e=4.3.1-\u003eipywidgets) (1.12.0)\nRequirement already satisfied: jsonschema!=2.5.0,\u003e=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat\u003e=4.2.0-\u003eipywidgets) (3.0.1)\nRequirement already satisfied: jupyter_core in /opt/conda/lib/python3.6/site-packages (from nbformat\u003e=4.2.0-\u003eipywidgets) (4.4.0)\nRequirement already satisfied: parso\u003e=0.3.0 in /opt/conda/lib/python3.6/site-packages (from jedi\u003e=0.10-\u003eipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (0.3.4)\nRequirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt_toolkit\u003c2.1.0,\u003e=2.0.0-\u003eipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (0.1.7)\nRequirement already satisfied: ptyprocess\u003e=0.5 in /opt/conda/lib/python3.6/site-packages (from pexpect-\u003eipython\u003e=4.0.0; python_version \u003e= \"3.3\"-\u003eipywidgets) (0.6.0)\nRequirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (2.10)\nRequirement already satisfied: prometheus-client in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (0.6.0)\nRequirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (5.4.1)\nRequirement already satisfied: pyzmq\u003e=17 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (18.0.1)\nRequirement already satisfied: Send2Trash in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (1.5.0)\nRequirement already satisfied: terminado\u003e=0.8.1 in /opt/conda/lib/python3.6/site-packages (from notebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (0.8.1)\nRequirement already satisfied: python-dateutil\u003e=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client-\u003eipykernel\u003e=4.5.1-\u003eipywidgets) (2.8.0)\nRequirement already satisfied: attrs\u003e=17.4.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,\u003e=2.4-\u003enbformat\u003e=4.2.0-\u003eipywidgets) (19.1.0)\nRequirement already satisfied: pyrsistent\u003e=0.14.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,\u003e=2.4-\u003enbformat\u003e=4.2.0-\u003eipywidgets) (0.14.11)\nRequirement already satisfied: MarkupSafe\u003e=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (1.1.1)\nRequirement already satisfied: mistune\u003e=0.8.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (0.8.4)\nRequirement already satisfied: entrypoints\u003e=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (0.3)\nRequirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (3.1.0)\nRequirement already satisfied: pandocfilters\u003e=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (1.4.2)\nRequirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (0.4.2)\nRequirement already satisfied: defusedxml in /opt/conda/lib/python3.6/site-packages (from nbconvert-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (0.5.0)\nRequirement already satisfied: webencodings in /opt/conda/lib/python3.6/site-packages (from bleach-\u003enbconvert-\u003enotebook\u003e=4.4.1-\u003ewidgetsnbextension~=3.4.0-\u003eipywidgets) (0.5.1)\nInstalling /opt/conda/lib/python3.6/site-packages/fileupload/static -\u003e fileupload\nUp to date: /home/jovyan/.local/share/jupyter/nbextensions/fileupload/extension.js\nUp to date: /home/jovyan/.local/share/jupyter/nbextensions/fileupload/widget.js\nUp to date: /home/jovyan/.local/share/jupyter/nbextensions/fileupload/fileupload/widget.js\n- Validating: OK\n\n    To initialize this nbextension in the browser every time the notebook (or other app) loads:\n    \n          jupyter nbextension enable fileupload --user --py\n    \nEnabling notebook extension fileupload/extension...\n      - Validating: OK\n```\nWhew! That was a lot. All of the installs and imports for your word cloud script and uploader widget have been completed.\n\n**IMPORTANT!** If this was your first time running the above cell containing the installs and imports, you will need save this notebook now. Then under the File menu above, select Close and Halt. When the notebook has completely shut down, reopen it. This is the only way the necessary changes will take affect.\n\nTo upload your text file, run the following cell that contains all the code for a custom uploader widget. Once you run this cell, a \"Browse\" button should appear below it. Click this button and navigate the window to locate your saved text file.\n\n```\n# This is the uploader widget\n\ndef _upload():\n\n    _upload_widget = fileupload.FileUploadWidget()\n\n    def _cb(change):\n        global file_contents\n        decoded = io.StringIO(change['owner'].data.decode('utf-8'))\n        filename = change['owner'].filename\n        print('Uploaded `{}` ({:.2f} kB)'.format(\n            filename, len(decoded.read()) / 2 **10))\n        file_contents = decoded.getvalue()\n\n    _upload_widget.observe(_cb, names='data')\n    display(_upload_widget)\n\n_upload()\n```\nFileUploadWidget(label='Browse', _dom_classes=('widget_item', 'btn-group'))\nUploaded `file_contents.txt.txt` (1.28 kB)\n\nThe uploader widget saved the contents of your uploaded file into a string object named _file_contents_ that your word cloud script can process. This was a lot of preliminary work, but you are now ready to begin your script.\n\nWrite a function in the cell below that iterates through the words in _file_contents_, removes punctuation, and counts the frequency of each word. Oh, and be sure to make it ignore word case, words that do not contain all alphabets and boring words like \"and\" or \"the\". Then use it in the _generate_from_frequencies_ function to generate your very own word cloud!\n\n**Hint:** Try storing the results of your iteration in a dictionary before passing them into wordcloud via the generate_from_frequencies function.\n\n```\ndef calculate_frequencies(file_contents):\n    # Here is a list of punctuations and uninteresting words you can use to process your text\n    punctuations = '''!()-[]{};:'\"\\,\u003c\u003e./?@#$%^\u0026*_~'''\n    uninteresting_words = [\"the\", \"a\", \"to\", \"if\", \"is\", \"it\", \"of\", \"and\", \"or\", \"an\", \"as\", \"i\", \"me\", \"my\", \\\n    \"we\", \"our\", \"ours\", \"you\", \"your\", \"yours\", \"he\", \"she\", \"him\", \"his\", \"her\", \"hers\", \"its\", \"they\", \"them\", \\\n    \"their\", \"what\", \"which\", \"who\", \"whom\", \"this\", \"that\", \"am\", \"are\", \"was\", \"were\", \"be\", \"been\", \"being\", \\\n    \"have\", \"has\", \"had\", \"do\", \"does\", \"did\", \"but\", \"at\", \"by\", \"with\", \"from\", \"here\", \"when\", \"where\", \"how\", \\\n    \"all\", \"any\", \"both\", \"each\", \"few\", \"more\", \"some\", \"such\", \"no\", \"nor\", \"too\", \"very\", \"can\", \"will\", \"just\"]\n\n  # LEARNER CODE START HERE\n    dic={}\n    file=file_contents.split(\" \")\n    for word in file:\n        str1=\"\".join(ch for ch in word if ch.isalnum())\n        if str1.lower() not in uninteresting_words:\n            if str1.lower() not in dic:\n                dic[str1.lower()]=1\n            else:\n                dic[str1.lower()]+=1\n           \n            \n    #wordcloud\n    cloud = wordcloud.WordCloud()\n    cloud.generate_from_frequencies(dic)\n    return cloud.to_array()\n    ```\n    If you have done everything correctly, your word cloud image should appear after running the cell below. Fingers crossed!\n    \n    ```\n    # Display your wordcloud image\n\nmyimage = calculate_frequencies(file_contents)\nplt.imshow(myimage, interpolation = 'nearest')\nplt.axis('off')\nplt.show()\n\n```\n![](gith.png)\n\nIf your word cloud image did not appear, go back and rework your ```calculate_frequencies``` function until you get the desired output. Definitely check that you passed your frequecy count dictionary into the ```generate_from_frequencies``` function of ```wordcloud```. Once you have correctly displayed your word cloud image, you are all done with this project. Nice work!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsingh12354%2Fcrash-course-on-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpsingh12354%2Fcrash-course-on-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsingh12354%2Fcrash-course-on-python/lists"}