diff --git a/data_transfer/.ipynb_checkpoints/Add Container Inventory to Directus-checkpoint.ipynb b/data_transfer/.ipynb_checkpoints/Add Container Inventory to Directus-checkpoint.ipynb new file mode 100644 index 0000000..e41de1a --- /dev/null +++ b/data_transfer/.ipynb_checkpoints/Add Container Inventory to Directus-checkpoint.ipynb @@ -0,0 +1,127 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "2bec1b04-f1ab-4165-a4ea-cc890cc9e5ec", + "metadata": {}, + "outputs": [], + "source": [ + "!python -m pip install gql" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dca88210-18db-45ee-9949-7010b92dbae7", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import os\n", + "import pprint\n", + "\n", + "import requests\n", + "from gql import Client, gql\n", + "from gql.transport.requests import RequestsHTTPTransport\n", + "\n", + "cwd = os.getcwd()\n", + "print(cwd)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7374f89e-23f8-407d-967b-c76e7d6d93a2", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "with open(\"/home/jovyan/code/directus/docker.json\") as f:\n", + " scrubbed_records = json.load(f)\n", + "\n", + "# print(scrubbed_records[0])\n", + "item = scrubbed_records[0]\n", + "name = item[\"Name\"]\n", + "image = item[\"Config\"][\"Image\"]\n", + "# print(name)\n", + "# print(image)\n", + "image = image.replace(\":latest\", \"\")\n", + "name = name.replace(\"/\", \"\")\n", + "print(name)\n", + "print(image)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2b300a9-f7c0-4863-9696-29e92e6cedc8", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "for x in scrubbed_records:\n", + " # pprint.pprint(x)\n", + " item = x\n", + " name = item[\"Name\"]\n", + " image = item[\"Config\"][\"Image\"]\n", + " image = image.replace(\":latest\", \"\")\n", + " name = name.replace(\"/\", \"\")\n", + " print(name)\n", + " print(image)\n", + " input_set = {\"id\": name, \"image\": image, \"name\": name, \"raw\": item}\n", + "\n", + " my_headers = {\n", + " \"Authorization\": os.getenv(directus_token),\n", + " \"Content-Type\": \"application/json\",\n", + " }\n", + " response = requests.post(\n", + " \"https://cms.donavanaldrich.com/items/containers\",\n", + " headers=my_headers,\n", + " json=(input_set),\n", + " )\n", + " print(response.json())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.4 64-bit", + "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.10.4" + }, + "toc-autonumbering": false, + "toc-showcode": false, + "toc-showtags": false, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data_transfer/.ipynb_checkpoints/Add Homebrew Inventory to Directusa-checkpoint.ipynb b/data_transfer/.ipynb_checkpoints/Add Homebrew Inventory to Directusa-checkpoint.ipynb new file mode 100644 index 0000000..d5a3c4c --- /dev/null +++ b/data_transfer/.ipynb_checkpoints/Add Homebrew Inventory to Directusa-checkpoint.ipynb @@ -0,0 +1,326 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "2bec1b04-f1ab-4165-a4ea-cc890cc9e5ec", + "metadata": {}, + "outputs": [], + "source": [ + "!python -m pip install gql" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7374f89e-23f8-407d-967b-c76e7d6d93a2", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "import csv\n", + "\n", + "with open(\"/home/jovyan/code/directus/homebrew.txt\") as f:\n", + " reader = csv.reader(f)\n", + " for row in reader:\n", + " item = row[0]\n", + " print(item)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0367eee-e052-4184-b016-8ecb0dd1aa32", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "for x in scrubbed_records:\n", + " # pprint.pprint(x)\n", + " image = image.replace(\":latest\", \"\")\n", + " name = name.replace(\"/\", \"\")\n", + " data = x" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2b300a9-f7c0-4863-9696-29e92e6cedc8", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "for x in scrubbed_records:\n", + " item = x\n", + " name = item[\"Name\"]\n", + " image = item[\"Config\"][\"Image\"]\n", + " image = image.replace(\":latest\", \"\")\n", + " name = name.replace(\"/\", \"\")\n", + " print(name)\n", + " print(image)\n", + " input_set = {\"id\": name, \"image\": image, \"name\": name, \"raw\": item}\n", + "\n", + " my_headers = {\n", + " \"Authorization\": \"os.env(directus_token)\",\n", + " \"Content-Type\": \"application/json\",\n", + " }\n", + " response = requests.post(\n", + " \"https://cms.donavanaldrich.com/items/containers\",\n", + " headers=my_headers,\n", + " json=(input_set),\n", + " )\n", + " print(response.json())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4dc5471-3df9-4d52-865e-ca9202d472a3", + "metadata": {}, + "outputs": [], + "source": [ + "# https://formulae.brew.sh/api/cask.json" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "74566291-5fb8-455a-b674-03c0733c6700", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'appcast': None,\n", + " 'artifacts': [['0 A.D..app'],\n", + " {'signal': {},\n", + " 'trash': '~/Library/Saved Application '\n", + " 'State/com.wildfiregames.0ad.savedState'}],\n", + " 'auto_updates': None,\n", + " 'caveats': None,\n", + " 'conflicts_with': None,\n", + " 'container': None,\n", + " 'depends_on': {'macos': {'>=': ['10.12']}},\n", + " 'desc': 'Real-time strategy game',\n", + " 'full_token': '0-ad',\n", + " 'homepage': 'https://play0ad.com/',\n", + " 'installed': None,\n", + " 'name': ['0 A.D.'],\n", + " 'outdated': False,\n", + " 'sha256': 'd1a2073dee3435d8a78bf289206248c9ed6be5e17f4ba1ac8412caf6d0eae0b0',\n", + " 'tap': 'homebrew/cask',\n", + " 'token': '0-ad',\n", + " 'url': 'https://releases.wildfiregames.com/0ad-0.0.25b-alpha-osx64.dmg',\n", + " 'version': '0.0.25b-alpha',\n", + " 'versions': {}}\n" + ] + } + ], + "source": [ + "import json\n", + "import os\n", + "import pprint\n", + "\n", + "import requests\n", + "\n", + "my_headers = {\"Content-Type\": \"application/json\"}\n", + "raw_casks = requests.get(\"https://formulae.brew.sh/api/cask.json\")\n", + "\n", + "casks = raw_casks.json()\n", + "\n", + "# pprint.pprint(casks[0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b3f64e7-019a-4c21-9de2-5c84bd22640f", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "for cask in casks:\n", + " name = cask[\"name\"][0]\n", + " desc = cask[\"desc\"]\n", + " homepage = cask[\"homepage\"]\n", + " url = cask[\"url\"]\n", + " tap = cask[\"tap\"]\n", + " full_name = cask[\"full_token\"]\n", + " print(full_token)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "1d6f86f0-91ab-4773-aba3-ace57852f9e4", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'raw' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_9736/2986828884.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mcategory\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"cask\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0minput_set\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m\"id\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mfull_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"description\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mdesc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"homepage\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mhomepage\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"tap\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mtap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"raw\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mraw\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"category\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mcategory\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 13\u001b[0m response = requests.post(\n\u001b[1;32m 14\u001b[0m \u001b[0;34m\"https://cms.donavanaldrich.com/items/all_homebrews\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'raw' is not defined" + ] + } + ], + "source": [ + "my_headers = {\"Authorization\": \"os.env(directus_token)\", \"Content-Type\": \"application/json\"}\n", + "\n", + "for cask in casks:\n", + " name = cask[\"name\"][0]\n", + " desc = cask[\"desc\"]\n", + " homepage = cask[\"homepage\"]\n", + " url = cask[\"url\"]\n", + " tap = cask[\"tap\"]\n", + " full_name = cask[\"full_token\"]\n", + " category = \"cask\"\n", + " # raw\n", + "\n", + " input_set = {\n", + " \"id\": full_name,\n", + " \"description\": desc,\n", + " \"homepage\": homepage,\n", + " \"tap\": tap,\n", + " \"raw\": cask,\n", + " \"category\": category,\n", + " }\n", + " response = requests.post(\n", + " \"https://cms.donavanaldrich.com/items/all_homebrews\",\n", + " headers=my_headers,\n", + " json=(input_set),\n", + " )\n", + " print(response.json())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ecab5d16-91a5-4a3d-9772-516410b8ce76", + "metadata": {}, + "outputs": [], + "source": [ + "# https://formulae.brew.sh/api/formula.json" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "762b9c4d-dbfb-45dc-a24f-ca1a3a3bbbcf", + "metadata": {}, + "outputs": [], + "source": [ + "my_headers = {\"Content-Type\": \"application/json\"}\n", + "raw_brews = requests.get(\"https://formulae.brew.sh/api/formula.json\")\n", + "\n", + "brews = raw_brews.json()\n", + "\n", + "pprint.pprint(brews[0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9bb9a11e-4343-421c-820d-ef927e02532f", + "metadata": {}, + "outputs": [], + "source": [ + "for brew in brews:\n", + " name = brew[\"name\"]\n", + " desc = brew[\"desc\"]\n", + " homepage = brew[\"homepage\"]\n", + " url = brew[\"urls\"][\"stable\"][\"url\"]\n", + " tap = brew[\"tap\"]\n", + " full_name = brew[\"full_name\"]\n", + " print(urls)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9630a738-10ef-40a0-b666-097b0ab02c06", + "metadata": {}, + "outputs": [], + "source": [ + "my_headers = {\"Authorization\": \"os.env(directus_token)\", \"Content-Type\": \"application/json\"}\n", + "\n", + "for brew in brews:\n", + " name = brew[\"name\"]\n", + " desc = brew[\"desc\"]\n", + " homepage = brew[\"homepage\"]\n", + " url = brew[\"urls\"][\"stable\"][\"url\"]\n", + " tap = brew[\"tap\"]\n", + " full_name = brew[\"full_name\"]\n", + " category = \"brew\"\n", + "\n", + " input_set = {\n", + " \"id\": full_name,\n", + " \"description\": desc,\n", + " \"homepage\": homepage,\n", + " \"tap\": tap,\n", + " \"raw\": brew,\n", + " \"category\": category,\n", + " }\n", + " response = requests.post(\n", + " \"https://cms.donavanaldrich.com/items/all_homebrews\",\n", + " headers=my_headers,\n", + " json=(input_set),\n", + " )\n", + " print(response.json())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b835d52d-88bd-49f5-a1e3-d2b3c56e4fb2", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + }, + "toc-autonumbering": false, + "toc-showcode": false, + "toc-showtags": false, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data_transfer/.ipynb_checkpoints/Add Inventories to wiki-checkpoint.ipynb b/data_transfer/.ipynb_checkpoints/Add Inventories to wiki-checkpoint.ipynb new file mode 100644 index 0000000..ce3b285 --- /dev/null +++ b/data_transfer/.ipynb_checkpoints/Add Inventories to wiki-checkpoint.ipynb @@ -0,0 +1,324 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "2bec1b04-f1ab-4165-a4ea-cc890cc9e5ec", + "metadata": {}, + "outputs": [], + "source": [ + "pip install gql" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dca88210-18db-45ee-9949-7010b92dbae7", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import os\n", + "import pprint\n", + "\n", + "import requests\n", + "from gql import Client, gql\n", + "from gql.transport.requests import RequestsHTTPTransport\n", + "\n", + "cwd = os.getcwd()\n", + "print(cwd)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "7374f89e-23f8-407d-967b-c76e7d6d93a2", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "active_workflow\n", + "automaticmode/active_workflow\n" + ] + } + ], + "source": [ + "data_json = os.env(PATH)\n", + "\n", + "\n", + "with open(data_json) as f:\n", + " scrubbed_records = json.load(f)\n", + "\n", + "# print(scrubbed_records[0])\n", + "item = scrubbed_records[0]\n", + "name = item[\"Name\"]\n", + "image = item[\"Config\"][\"Image\"]\n", + "# print(name)\n", + "# print(image)\n", + "image = image.replace(\":latest\", \"\")\n", + "name = name.replace(\"/\", \"\")\n", + "print(name)\n", + "print(image)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0367eee-e052-4184-b016-8ecb0dd1aa32", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "for x in scrubbed_records:\n", + " # pprint.pprint(x)\n", + " image = image.replace(\":latest\", \"\")\n", + " name = name.replace(\"/\", \"\")\n", + " data = x" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2b300a9-f7c0-4863-9696-29e92e6cedc8", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "for x in scrubbed_records:\n", + " # pprint.pprint(x)\n", + " item = x\n", + " name = item[\"Name\"]\n", + " image = item[\"Config\"][\"Image\"]\n", + " image = image.replace(\":latest\", \"\")\n", + " name = name.replace(\"/\", \"\")\n", + " print(name)\n", + " print(image)\n", + " input_set = {\"id\": name, \"image\": image, \"name\": name, \"raw\": item}\n", + "\n", + " my_headers = {\"Authorization\": \"os.env(directus_token)\", \"Content-Type\": \"application/json\"}\n", + " response = requests.post(\n", + " \"https://cms.donavanaldrich.com/items/containers\",\n", + " headers=my_headers,\n", + " json=(input_set),\n", + " )\n", + " print(response.json())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "927fe89f-9660-4681-884b-f258fc669b88", + "metadata": {}, + "outputs": [], + "source": [ + "pip install gql[all] aiohttp\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "a4dc5471-3df9-4d52-865e-ca9202d472a3", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'RequestsHTTPTransport' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_7244/3689489481.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m sample_transport = RequestsHTTPTransport(\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"http://directus:8055/graphql\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0muse_json\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\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 headers={\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\"Content-type\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m\"application/json\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'RequestsHTTPTransport' is not defined" + ] + } + ], + "source": [ + "\n", + "sample_transport = RequestsHTTPTransport(\n", + " url=\"http://directus:8055/graphql\",\n", + " use_json=True,\n", + " headers={\n", + " \"Content-type\": \"application/json\",\n", + " \"Authorization\": \"os.env(directus_token)\",\n", + " },\n", + " verify=True,\n", + " retries=3,\n", + ")\n", + "\n", + "client = Client(\n", + " transport=sample_transport,\n", + " fetch_schema_from_transport=True,\n", + ")\n", + "\n", + "query = gql(\n", + " '''\n", + " query {\n", + " pages {\n", + " single(id: 3) {\n", + " id\n", + " path\n", + " locale\n", + " title\n", + " description\n", + " contentType\n", + " isPublished\n", + " isPrivate\n", + " privateNS\n", + " createdAt\n", + " updatedAt\n", + " }\n", + " }\n", + " }\n", + "'''\n", + ")\n", + "\n", + "# params = { \"title\": article_attributes_data-posted-on }\n", + "\n", + "result = client.execute(query, variable_values=params)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48935cc6-c7c7-43f7-9fb7-c34bd457c903", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "import asyncio\n", + "\n", + "from gql import gql, Client\n", + "from gql.transport.aiohttp import AIOHTTPTransport\n", + "\n", + "transport = AIOHTTPTransport(\n", + " url=\"http://wiki:3000/graphql\",\n", + " headers={\n", + " \"Content-type\": \"application/json\",\n", + " \"Authorization\": \"os.env(directus_token)\",\n", + " },\n", + ")\n", + "\n", + "# Create a GraphQL client using the defined transport\n", + "# client = Client(transport=transport, fetch_schema_from_transport=True)\n", + "client = Client(transport=transport, fetch_schema_from_transport=False)\n", + "# client = Client(transport=transport, fetch_schema_from_transport=True)\n", + "\n", + "query = gql(\n", + " '''\n", + " query pageList {\n", + " pages {\n", + " list(locale: \"en\") {\n", + " id\n", + " path\n", + " locale\n", + " title\n", + " description\n", + " contentType\n", + " isPublished\n", + " isPrivate\n", + " privateNS\n", + " createdAt\n", + " updatedAt\n", + " tags\n", + " }\n", + " }\n", + " }\n", + "'''\n", + ")\n", + "\n", + "\n", + "\n", + "# result = await session.execute(query)\n", + "# print(result)\n", + "result = await client.execute_async(query)\n", + "print(result)\n", + "\n", + " \n", + "# asyncio.run(main())\n", + "# Execute the query on the transport\n", + "# result = await client.execute_async(query)\n", + "# print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cfe2738f-7b10-45e2-bb31-38e8820b1ed6", + "metadata": {}, + "outputs": [], + "source": [ + "from gql import gql, Client\n", + "from gql.transport.aiohttp import AIOHTTPTransport\n", + "\n", + "# Select your transport with a defined url endpoint\n", + "transport = AIOHTTPTransport(url=\"https://countries.trevorblades.com/\")\n", + "\n", + "# Create a GraphQL client using the defined transport\n", + "client = Client(transport=transport, fetch_schema_from_transport=True)\n", + "\n", + "# Provide a GraphQL query\n", + "query = gql(\n", + " \"\"\"\n", + " query getContinents {\n", + " continents {\n", + " code\n", + " name\n", + " }\n", + " }\n", + "\"\"\"\n", + ")\n", + "\n", + "# Execute the query on the transport\n", + "result = client.execute(query)\n", + "print(result)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.8.9 64-bit", + "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.10.4" + }, + "toc-autonumbering": false, + "toc-showcode": false, + "toc-showtags": false, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data_transfer/.ipynb_checkpoints/Add Linkace Inventory to Directus-checkpoint.ipynb b/data_transfer/.ipynb_checkpoints/Add Linkace Inventory to Directus-checkpoint.ipynb new file mode 100644 index 0000000..aae6543 --- /dev/null +++ b/data_transfer/.ipynb_checkpoints/Add Linkace Inventory to Directus-checkpoint.ipynb @@ -0,0 +1,198 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5a2a0654", + "metadata": {}, + "source": [ + "curl --request GET \\\n", + " --url https://demo.linkace.org/api/v1/links \\\n", + " --header 'Authorization: Bearer undefined' \\\n", + " --header 'Content-Type: application/json' \\\n", + " --header 'accept: application/json'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60990b52", + "metadata": {}, + "outputs": [], + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "ebef409e-ddc1-4cc4-bd4d-a4839ba62d66", + "metadata": {}, + "source": [ + "## Pull links from Linkace" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "02d6d963-538a-47c1-957f-06c7ea7c7497", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import os\n", + "import pprint\n", + "import urllib.parse\n", + "import sys\n", + "import requests\n", + "\n", + "my_headers = {\n", + " \"Authorization\": os.env(LINKACE_TOKEN),\n", + " \"Content-Type\": \"application/json\",\n", + " \"Accept\": \"application/json\",\n", + "}\n", + "\n", + "response = requests.get(\n", + " \"http://linkace/api/v1/links\",\n", + " headers=my_headers,\n", + ")\n", + "\n", + "initial = response.json()\n", + "\n", + "last = initial['last_page']\n", + "\n", + "links = []\n", + "\n", + "for x in range(1, last + 1):\n", + " response = requests.get(\n", + " \"http://linkace/api/v1/links?page=\" + str(x),\n", + " headers=my_headers,\n", + " )\n", + " result = response.json()\n", + " data = result['data']\n", + " links = links + data\n", + " \n", + "out_file = open(\"links.json\", \"w\")\n", + "json.dump(links, out_file, indent = 2)\n", + "out_file.close()" + ] + }, + { + "cell_type": "markdown", + "id": "e6a27401-cc7d-4ffe-834d-2f051dce7025", + "metadata": {}, + "source": [ + "## Update Links in Directus" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f2b300a9-f7c0-4863-9696-29e92e6cedc8", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "ename": "JSONDecodeError", + "evalue": "[Errno Expecting value] : 0", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mJSONDecodeError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/conda/lib/python3.9/site-packages/requests/models.py:910\u001b[0m, in \u001b[0;36mResponse.json\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 909\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 910\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcomplexjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtext\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 911\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m JSONDecodeError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 912\u001b[0m \u001b[38;5;66;03m# Catch JSON-related errors and raise as requests.JSONDecodeError\u001b[39;00m\n\u001b[1;32m 913\u001b[0m \u001b[38;5;66;03m# This aliases json.JSONDecodeError and simplejson.JSONDecodeError\u001b[39;00m\n", + "File \u001b[0;32m/opt/conda/lib/python3.9/json/__init__.py:346\u001b[0m, in \u001b[0;36mloads\u001b[0;34m(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[1;32m 343\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[1;32m 344\u001b[0m parse_int \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m parse_float \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[1;32m 345\u001b[0m parse_constant \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_pairs_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m kw):\n\u001b[0;32m--> 346\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_default_decoder\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdecode\u001b[49m\u001b[43m(\u001b[49m\u001b[43ms\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 347\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "File \u001b[0;32m/opt/conda/lib/python3.9/json/decoder.py:337\u001b[0m, in \u001b[0;36mJSONDecoder.decode\u001b[0;34m(self, s, _w)\u001b[0m\n\u001b[1;32m 333\u001b[0m \u001b[38;5;124;03m\"\"\"Return the Python representation of ``s`` (a ``str`` instance\u001b[39;00m\n\u001b[1;32m 334\u001b[0m \u001b[38;5;124;03mcontaining a JSON document).\u001b[39;00m\n\u001b[1;32m 335\u001b[0m \n\u001b[1;32m 336\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m--> 337\u001b[0m obj, end \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraw_decode\u001b[49m\u001b[43m(\u001b[49m\u001b[43ms\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43midx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_w\u001b[49m\u001b[43m(\u001b[49m\u001b[43ms\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mend\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 338\u001b[0m end \u001b[38;5;241m=\u001b[39m _w(s, end)\u001b[38;5;241m.\u001b[39mend()\n", + "File \u001b[0;32m/opt/conda/lib/python3.9/json/decoder.py:355\u001b[0m, in \u001b[0;36mJSONDecoder.raw_decode\u001b[0;34m(self, s, idx)\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mStopIteration\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m--> 355\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m JSONDecodeError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExpecting value\u001b[39m\u001b[38;5;124m\"\u001b[39m, s, err\u001b[38;5;241m.\u001b[39mvalue) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28mNone\u001b[39m\n\u001b[1;32m 356\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m obj, end\n", + "\u001b[0;31mJSONDecodeError\u001b[0m: Expecting value: line 1 column 1 (char 0)", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mJSONDecodeError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [7]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 8\u001b[0m headers \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 9\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAuthorization\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mos.env(directus_token)\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 10\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mContent-Type\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mapplication/json\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 11\u001b[0m }\n\u001b[1;32m 12\u001b[0m response \u001b[38;5;241m=\u001b[39m requests\u001b[38;5;241m.\u001b[39mpatch(\n\u001b[1;32m 13\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttp://directus:8055/items/bookmarks/\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39m \u001b[38;5;28mstr\u001b[39m(myid),\n\u001b[1;32m 14\u001b[0m headers\u001b[38;5;241m=\u001b[39mheaders,\n\u001b[1;32m 15\u001b[0m json\u001b[38;5;241m=\u001b[39m(link),\n\u001b[1;32m 16\u001b[0m )\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mjson\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m)\n", + "File \u001b[0;32m/opt/conda/lib/python3.9/site-packages/requests/models.py:917\u001b[0m, in \u001b[0;36mResponse.json\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 915\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m RequestsJSONDecodeError(e\u001b[38;5;241m.\u001b[39mmessage)\n\u001b[1;32m 916\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 917\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m RequestsJSONDecodeError(e\u001b[38;5;241m.\u001b[39mmsg, e\u001b[38;5;241m.\u001b[39mdoc, e\u001b[38;5;241m.\u001b[39mpos)\n", + "\u001b[0;31mJSONDecodeError\u001b[0m: [Errno Expecting value] : 0" + ] + } + ], + "source": [ + "for link in links:\n", + " url = link['url']\n", + " myid = link.pop(\"id\")\n", + " parsed_url = urllib.parse.urlparse(url)\n", + " domain = parsed_url.netloc\n", + " pdom = domain.replace(\"www.\", \"\")\n", + " link['domain'] = pdom\n", + " headers = {\n", + " \"Authorization\": \"os.env(directus_token)\",\n", + " \"Content-Type\": \"application/json\",\n", + " }\n", + " response = requests.patch(\n", + " \"http://directus:8055/items/bookmarks/\" + str(myid),\n", + " headers=headers,\n", + " json=(link),\n", + " )\n", + " print(response.json())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b9d5bb9f-be1e-4db2-b0a3-d0d179e6b6a6", + "metadata": {}, + "outputs": [], + "source": [ + "import urllib.parse\n", + "import sys\n", + "\n", + "link = links[1]\n", + "url = link['url']\n", + "myid = link.pop(\"id\")\n", + "print(link)\n", + "parsed_url = urllib.parse.urlparse(url)\n", + "domain = parsed_url.netloc\n", + "pdom = domain.replace(\"www.\", \"\")\n", + "print(pdom)\n", + "link['domain'] = pdom\n", + "\n", + "\n", + "print(link)\n", + "\n", + "print(myid)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.5" + }, + "toc-autonumbering": false, + "toc-showcode": false, + "toc-showtags": false, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data_transfer/.ipynb_checkpoints/Directus query-checkpoint.ipynb b/data_transfer/.ipynb_checkpoints/Directus query-checkpoint.ipynb new file mode 100644 index 0000000..fb2abe4 --- /dev/null +++ b/data_transfer/.ipynb_checkpoints/Directus query-checkpoint.ipynb @@ -0,0 +1,86 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "927fe89f-9660-4681-884b-f258fc669b88", + "metadata": {}, + "outputs": [], + "source": [ + "pip install gql[all] aiohttp" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4dc5471-3df9-4d52-865e-ca9202d472a3", + "metadata": {}, + "outputs": [], + "source": [ + "import asyncio\n", + "\n", + "from gql import Client, gql\n", + "from gql.transport.aiohttp import AIOHTTPTransport\n", + "\n", + "transport = AIOHTTPTransport(\n", + " url=\"http://directus:8055/graphql\",\n", + " headers={\n", + " \"Content-type\": \"application/json\",\n", + " \"Authorization\": \"os.env(directus_token)\",\n", + " },\n", + ")\n", + "\n", + "client = Client(transport=transport, fetch_schema_from_transport=False)\n", + "\n", + "query = gql(\n", + " \"\"\"\n", + " query {\n", + " pages {\n", + " id\n", + " }\n", + " }\n", + "\"\"\"\n", + ")\n", + "\n", + "result = await client.execute_async(query)\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f9429bdb-d291-49ce-8191-9977b3624f97", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data_transfer/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/data_transfer/.ipynb_checkpoints/Untitled-checkpoint.ipynb new file mode 100644 index 0000000..065a319 --- /dev/null +++ b/data_transfer/.ipynb_checkpoints/Untitled-checkpoint.ipynb @@ -0,0 +1,114 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "2b593a01", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import os\n", + "import pprint\n", + "import urllib.parse\n", + "import sys\n", + "import requests\n", + "\n", + "my_headers = {\n", + " \"Content-Type\": \"application/json\",\n", + " \"Accept\": \"application/json\",\n", + "}\n", + "\n", + "\n", + "url = \"https://donavanaldrich.com/api/metrics/netdata/charts\"\n", + "\n", + "response = requests.get(url, headers=my_headers)\n", + "\n", + "print(response.text)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "61edf606", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/bin/bash: curl: command not found\r\n" + ] + } + ], + "source": [ + "!curl 'https://donavanaldrich.com/api/metrics/netdata/charts'\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "5b29fb25", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]\n", + "Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease \u001b[0m\n", + "Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]\n", + "Get:4 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [1,472 kB]\n", + "Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB][33m\u001b[33m\n", + "Get:6 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [2,099 kB]\n", + "Get:7 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [889 kB]m\u001b[33m\n", + "Get:8 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1,183 kB]\n", + "Get:9 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [1,583 kB]\n", + "Get:10 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [2,555 kB]\n", + "Get:11 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [27.4 kB]\n", + "Get:12 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages [55.1 kB]\n", + "Fetched 10.2 MB in 2s (5,367 kB/s)3m \u001b[0m\u001b[33m\u001b[33m\n", + "Reading package lists... Done\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "7 packages can be upgraded. Run 'apt list --upgradable' to see them.\n", + "/bin/bash: suo: command not found\n" + ] + } + ], + "source": [ + "!sudo apt update && sudo apt upgrade -y" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1f7c6a9d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data_transfer/Add Container Inventory to Directus.ipynb b/data_transfer/Add Container Inventory to Directus.ipynb index e41de1a..d3575d6 100644 --- a/data_transfer/Add Container Inventory to Directus.ipynb +++ b/data_transfer/Add Container Inventory to Directus.ipynb @@ -90,7 +90,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.10.4 64-bit", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -104,7 +104,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.5" }, "toc-autonumbering": false, "toc-showcode": false, diff --git a/data_transfer/Add Homebrew Inventory to Directusa.ipynb b/data_transfer/Add Homebrew Inventory to Directusa.ipynb index d5a3c4c..1511de8 100644 --- a/data_transfer/Add Homebrew Inventory to Directusa.ipynb +++ b/data_transfer/Add Homebrew Inventory to Directusa.ipynb @@ -2,23 +2,48 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "2bec1b04-f1ab-4165-a4ea-cc890cc9e5ec", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: gql in /opt/conda/lib/python3.10/site-packages (3.4.0)\n", + "Requirement already satisfied: graphql-core<3.3,>=3.2 in /opt/conda/lib/python3.10/site-packages (from gql) (3.2.1)\n", + "Requirement already satisfied: backoff<3.0,>=1.11.1 in /opt/conda/lib/python3.10/site-packages (from gql) (2.1.2)\n", + "Requirement already satisfied: yarl<2.0,>=1.6 in /opt/conda/lib/python3.10/site-packages (from gql) (1.7.2)\n", + "Requirement already satisfied: multidict>=4.0 in /opt/conda/lib/python3.10/site-packages (from yarl<2.0,>=1.6->gql) (6.0.2)\n", + "Requirement already satisfied: idna>=2.0 in /opt/conda/lib/python3.10/site-packages (from yarl<2.0,>=1.6->gql) (3.3)\n" + ] + } + ], "source": [ "!python -m pip install gql" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "7374f89e-23f8-407d-967b-c76e7d6d93a2", "metadata": { "scrolled": true, "tags": [] }, - "outputs": [], + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: '/home/jovyan/code/directus/homebrew.txt'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [2]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mcsv\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/home/jovyan/code/directus/homebrew.txt\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[1;32m 4\u001b[0m reader \u001b[38;5;241m=\u001b[39m csv\u001b[38;5;241m.\u001b[39mreader(f)\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m row \u001b[38;5;129;01min\u001b[39;00m reader:\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '/home/jovyan/code/directus/homebrew.txt'" + ] + } + ], "source": [ "import csv\n", "\n", @@ -308,7 +333,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.10.5" }, "toc-autonumbering": false, "toc-showcode": false, diff --git a/data_transfer/Add Inventories to wiki.ipynb b/data_transfer/Add Inventories to wiki.ipynb index ce3b285..76e63d3 100644 --- a/data_transfer/Add Inventories to wiki.ipynb +++ b/data_transfer/Add Inventories to wiki.ipynb @@ -10,6 +10,127 @@ "pip install gql" ] }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9201c264-4622-4adc-b945-46f915fc221c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Building jupyterlab assets (production, minimized)\n", + "An error occurred.\n", + "PermissionError: [Errno 1] Operation not permitted: '/opt/conda/share/jupyter/lab/staging/index.js'\n", + "See the log file for details: /tmp/jupyterlab-debug-dk1kbsy9.log\n" + ] + } + ], + "source": [ + "!jupyter labextension install jupyterlab-tailwind-theme" + ] + }, { "cell_type": "code", "execution_count": null, @@ -287,7 +408,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.9 64-bit", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -301,7 +422,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.5" }, "toc-autonumbering": false, "toc-showcode": false, diff --git a/data_transfer/Add Linkace Inventory to Directus.ipynb b/data_transfer/Add Linkace Inventory to Directus.ipynb index 9d8b60f..221ecf4 100644 --- a/data_transfer/Add Linkace Inventory to Directus.ipynb +++ b/data_transfer/Add Linkace Inventory to Directus.ipynb @@ -32,10 +32,22 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "id": "02d6d963-538a-47c1-957f-06c7ea7c7497", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'os' has no attribute 'env'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [1]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mrequests\u001b[39;00m\n\u001b[1;32m 8\u001b[0m my_headers \u001b[38;5;241m=\u001b[39m {\n\u001b[0;32m----> 9\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAuthorization\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menv\u001b[49m(LINKACE_TOKEN),\n\u001b[1;32m 10\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mContent-Type\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mapplication/json\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 11\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAccept\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mapplication/json\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 12\u001b[0m }\n\u001b[1;32m 14\u001b[0m response \u001b[38;5;241m=\u001b[39m requests\u001b[38;5;241m.\u001b[39mget(\n\u001b[1;32m 15\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttp://linkace/api/v1/links\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 16\u001b[0m headers\u001b[38;5;241m=\u001b[39mmy_headers,\n\u001b[1;32m 17\u001b[0m )\n\u001b[1;32m 19\u001b[0m initial \u001b[38;5;241m=\u001b[39m response\u001b[38;5;241m.\u001b[39mjson()\n", + "\u001b[0;31mAttributeError\u001b[0m: module 'os' has no attribute 'env'" + ] + } + ], "source": [ "import json\n", "import os\n", @@ -161,7 +173,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.9 64-bit", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -175,7 +187,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.5" }, "toc-autonumbering": false, "toc-showcode": false, diff --git a/data_transfer/Directus query.ipynb b/data_transfer/Directus query.ipynb index fb2abe4..d7b73d0 100644 --- a/data_transfer/Directus query.ipynb +++ b/data_transfer/Directus query.ipynb @@ -71,7 +71,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.10.5" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/data_transfer/Untitled.ipynb b/data_transfer/Untitled.ipynb new file mode 100644 index 0000000..9123449 --- /dev/null +++ b/data_transfer/Untitled.ipynb @@ -0,0 +1,130 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "e3fe9fc8", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import os\n", + "import pprint\n", + "import urllib.parse\n", + "import sys\n", + "import requests\n", + "\n", + "my_headers = {\n", + " \"Content-Type\": \"application/json\",\n", + " \"Accept\": \"application/json\",\n", + "}\n", + "\n", + "\n", + "url = \"https://donavanaldrich.com/api/metrics/netdata/charts\"\n", + "\n", + "response = requests.get(url, headers=my_headers)\n", + "\n", + "print(response.text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a59e77d5", + "metadata": {}, + "outputs": [], + "source": [ + "!curl 'https://donavanaldrich.com/api/metrics/netdata/charts'\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6745302c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease\n", + "Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease\n", + "Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease\n", + "Hit:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease\n", + "Reading package lists... Done\u001b[33m\u001b[33m\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "All packages are up to date.\n", + "Reading package lists... Done\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "Calculating upgrade... Done\n", + "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.\n", + "Reading package lists... Done\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "The following additional packages will be installed:\n", + " libcurl4\n", + "The following NEW packages will be installed:\n", + " curl libcurl4\n", + "0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.\n", + "Need to get 396 kB of archives.\n", + "After this operation, 1,121 kB of additional disk space will be used.\n", + "Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libcurl4 amd64 7.68.0-1ubuntu2.12 [235 kB]\n", + "Get:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.12 [161 kB]\n", + "Fetched 396 kB in 0s (812 kB/s)[0m\u001b[33m\n", + "debconf: delaying package configuration, since apt-utils is not installed\n", + "\n", + "\u001b7\u001b[0;23r\u001b8\u001b[1A\u001b[1;31mE: \u001b[0mCan not write log (Is /dev/pts mounted?) - open (1: Operation not permitted)\u001b[0m\n", + "Selecting previously unselected package libcurl4:amd64.\n", + "(Reading database ... 147435 files and directories currently installed.)\n", + "Preparing to unpack .../libcurl4_7.68.0-1ubuntu2.12_amd64.deb ...\n", + "\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 0%]\u001b[49m\u001b[39m [..........................................................] \u001b8\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 11%]\u001b[49m\u001b[39m [######....................................................] \u001b8Unpacking libcurl4:amd64 (7.68.0-1ubuntu2.12) ...\n", + "\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 22%]\u001b[49m\u001b[39m [############..............................................] \u001b8Selecting previously unselected package curl.\n", + "Preparing to unpack .../curl_7.68.0-1ubuntu2.12_amd64.deb ...\n", + "\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 33%]\u001b[49m\u001b[39m [###################.......................................] \u001b8Unpacking curl (7.68.0-1ubuntu2.12) ...\n", + "\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 44%]\u001b[49m\u001b[39m [#########################.................................] \u001b8\u001b[1;31mE: \u001b[0mCan not write log (Is /dev/pts mounted?) - open (1: Operation not permitted)\u001b[0m\n", + "Setting up libcurl4:amd64 (7.68.0-1ubuntu2.12) ...\n", + "\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 56%]\u001b[49m\u001b[39m [################################..........................] \u001b8\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 67%]\u001b[49m\u001b[39m [######################################....................] \u001b8Setting up curl (7.68.0-1ubuntu2.12) ...\n", + "\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 78%]\u001b[49m\u001b[39m [#############################################.............] \u001b8\u001b7\u001b[24;0f\u001b[42m\u001b[30mProgress: [ 89%]\u001b[49m\u001b[39m [###################################################.......] \u001b8Processing triggers for libc-bin (2.31-0ubuntu9.9) ...\n", + "\n", + "\u001b7\u001b[0;24r\u001b8\u001b[1A\u001b[J" + ] + } + ], + "source": [ + "!sudo apt update && sudo apt upgrade -y && sudo apt install curl -y" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54f37a3a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data_transfer/Wiki-js query.ipynb b/data_transfer/Wiki-js query.ipynb index bbbb944..2d2a3e4 100644 --- a/data_transfer/Wiki-js query.ipynb +++ b/data_transfer/Wiki-js query.ipynb @@ -108,7 +108,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.9" + "version": "3.10.6" }, "vscode": { "interpreter": { diff --git a/data_transfer/directus.py b/data_transfer/directus.py new file mode 100644 index 0000000..70a1302 --- /dev/null +++ b/data_transfer/directus.py @@ -0,0 +1,47 @@ +import requests, logging + +class Directus: + def __init__(self, url:str): + self.url = self._validate_url(url) + + def get_item(self, id:int|str, collection_name:str) -> dict: + r = requests.get(f'{self.url}/content/{collection_name}') + try: + item:dict = r.json() + return item + except ValueError: + logging.error('fail to get item') + return + + def get_file(self): + pass + + def import_file(self, url:str, title:str=None) -> dict: + """Uses the automatic import of directus + Args: + url (str): url from wich directus should import a files + Returns: + dict: returns the message from directus + """ + payload: dict = { + 'url': url, + 'data': {} + } + if title: + payload['data']['title'] = title + + r = requests.post( + url = self.url + '/files/import', + json = payload + ) + try: + return r.json() + except: + return {'message':'no response from directus (means "OK")'} + + def _validate_url(self, url:str): + https:str = 'https://' + http:str = 'http://' + url = url[:-1] if url[-1] == '/' else url + url = https + url if https not in url else url.replace(http, https) + return url diff --git a/documentation/gotenberg_config.ipynb b/documentation/gotenberg_config.ipynb new file mode 100644 index 0000000..5dc2673 --- /dev/null +++ b/documentation/gotenberg_config.ipynb @@ -0,0 +1,603 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "zsh:1: command not found: brew\n", + "mkdir: cannot create directory ‘temp/gotenberg’: No such file or directory\n", + "zsh:1: command not found: fetch\n", + "Defaulting to user installation because normal site-packages is not writeable\n", + "Requirement already satisfied: markdown in /home/donaldrich/.local/lib/python3.10/site-packages (3.4.1)\n", + "Note: you may need to restart the kernel to use updated packages.\n", + "Defaulting to user installation because normal site-packages is not writeable\n", + "Requirement already satisfied: python-frontmatter in /home/donaldrich/.local/lib/python3.10/site-packages (1.0.0)\n", + "Requirement already satisfied: PyYAML in /home/donaldrich/.local/lib/python3.10/site-packages (from python-frontmatter) (5.1)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "!brew install fetch\n", + "!mkdir temp/gotenberg\n", + "!fetch --branch=main --source-path=/docs --repo=https://github.com/gotenberg/gotenberg.dev temp/gotenberg\n", + "%pip install markdown\n", + "%pip install python-frontmatter" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create Book if it doesn't exist\n" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"name\":\"python-cheatsheet\",\"description\":\"python-cheatsheet\",\"created_by\":1,\"updated_by\":1,\"owned_by\":1,\"slug\":\"python-cheatsheet\",\"updated_at\":\"2022-08-10T00:14:32.000000Z\",\"created_at\":\"2022-08-10T00:14:32.000000Z\",\"id\":3}\n" + ] + } + ], + "source": [ + "import requests\n", + "import os\n", + "\n", + "url = \"https://donavanaldrich.com/api/bookstack/books\"\n", + "\n", + "payload = {\n", + " \"name\":\n", + " \"python-cheatsheet\",\n", + " \"description\":\n", + " \"python-cheatsheet\",\n", + " \"tags\": [{\n", + " \"name\": \"Platform\",\n", + " \"value\": \"Python\"\n", + " }, {\n", + " \"name\": \"Category\",\n", + " \"value\": \"Code\"\n", + " }, {\n", + " \"name\": \"Type\",\n", + " \"value\": \"Cheatsheet\"\n", + " }]\n", + "}\n", + "headers = {\n", + " \"X-API-KEY\": os.getenv(X_API_KEY),\n", + " \"Authorization\": os.getenv(BOOKSTACK_API_TOKEN)\n", + "}\n", + "\n", + "response = requests.request(\"POST\", url, json=payload, headers=headers)\n", + "\n", + "print(response.text)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create Chapters\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### List folders to map to chapters\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['cheatsheet', 'modules', 'builtin']\n" + ] + } + ], + "source": [ + "import os\n", + "\n", + "dir = os.listdir(\"../temp/python-cheatsheets\")\n", + "\n", + "print(dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "18\n", + "19\n", + "20\n" + ] + } + ], + "source": [ + "import requests\n", + "\n", + "chapters = ['cheatsheet', 'modules', 'builtin']\n", + "\n", + "url = \"https://donavanaldrich.com/api/bookstack/chapters\"\n", + "\n", + "for chapter_name in chapters:\n", + "\n", + " payload = {\n", + " \"book_id\": 2,\n", + " \"name\": chapter_name,\n", + " \"description\": chapter_name,\n", + " \"tags\": [{\n", + " \"name\": \"chapter\",\n", + " \"value\": chapter_name\n", + " }]\n", + " }\n", + " headers = {\n", + " \"X-API-KEY\": os.getenv(X_API_KEY),\n", + " \"Authorization\": os.getenv(BOOKSTACK_API_TOKEN)\n", + " }\n", + "\n", + " response = requests.request(\"POST\", url, json=payload, headers=headers)\n", + " response_json = response.json()\n", + " chapter_id = response_json['id']\n", + " print(chapter_id)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Add Pages\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'X_API_KEY' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/home/donaldrich/projects/secrets/jupyter-notebooks/documentation/python-cheatsheet.ipynb Cell 9\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m chapters \u001b[39m=\u001b[39m [\u001b[39m'\u001b[39m\u001b[39mcheatsheet\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mmodules\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mbuiltin\u001b[39m\u001b[39m'\u001b[39m]\n\u001b[1;32m 7\u001b[0m \u001b[39m# The Python interpreter has a number of functions and types built into it that are always available.\u001b[39;00m\n\u001b[1;32m 8\u001b[0m \u001b[39m# Standard Library\u001b[39;00m\n\u001b[1;32m 9\u001b[0m headers \u001b[39m=\u001b[39m {\n\u001b[0;32m---> 10\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mX-API-KEY\u001b[39m\u001b[39m\"\u001b[39m: os\u001b[39m.\u001b[39mgetenv(X_API_KEY),\n\u001b[1;32m 11\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mAuthorization\u001b[39m\u001b[39m\"\u001b[39m: os\u001b[39m.\u001b[39mgetenv(BOOKSTACK_API_TOKEN)\n\u001b[1;32m 12\u001b[0m }\n\u001b[1;32m 14\u001b[0m url \u001b[39m=\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mhttps://donavanaldrich.com/api/bookstack/books\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 16\u001b[0m payload \u001b[39m=\u001b[39m {\n\u001b[1;32m 17\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mname\u001b[39m\u001b[39m\"\u001b[39m:\n\u001b[1;32m 18\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mpython-cheatsheet\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 30\u001b[0m }]\n\u001b[1;32m 31\u001b[0m }\n", + "\u001b[0;31mNameError\u001b[0m: name 'X_API_KEY' is not defined" + ] + } + ], + "source": [ + "from pathlib import Path\n", + "import requests\n", + "import frontmatter\n", + "\n", + "chapters = ['cheatsheet', 'modules', 'builtin']\n", + "\n", + "headers = {\n", + " \"X-API-KEY\": os.getenv(X_API_KEY),\n", + " \"Authorization\": os.getenv(BOOKSTACK_API_TOKEN)\n", + "}\n", + "\n", + "url = \"https://donavanaldrich.com/api/bookstack/books\"\n", + "\n", + "payload = {\n", + " \"name\":\n", + " \"python-cheatsheet\",\n", + " \"description\":\n", + " \"python-cheatsheet\",\n", + " \"tags\": [{\n", + " \"name\": \"Platform\",\n", + " \"value\": \"Python\"\n", + " }, {\n", + " \"name\": \"Category\",\n", + " \"value\": \"Code\"\n", + " }, {\n", + " \"name\": \"Type\",\n", + " \"value\": \"Cheatsheet\"\n", + " }]\n", + "}\n", + "\n", + "response = requests.request(\"POST\", url, json=payload, headers=headers)\n", + "response_json = response.json()\n", + "book_id = response_json['id']\n", + "\n", + "# book_id = xs\n", + "#\n", + "for chapter in chapters:\n", + " payload = {\n", + " \"book_id\": book_id,\n", + " \"name\": chapter,\n", + " \"description\": chapter,\n", + " \"tags\": [{\n", + " \"name\": \"chapter\",\n", + " \"value\": chapter\n", + " }]\n", + " }\n", + " url = \"https://donavanaldrich.com/api/bookstack/chapters\"\n", + " response = requests.request(\"POST\", url, json=payload, headers=headers)\n", + " response_json = response.json()\n", + " chapter_id = response_json['id']\n", + " print(chapter_id)\n", + "\n", + " for page in Path('../temp/python-cheatsheets/' + chapter).iterdir():\n", + " url = \"https://donavanaldrich.com/api/bookstack/pages\"\n", + " with open(page, 'r') as f:\n", + " metadata, content = frontmatter.parse(f.read())\n", + " try:\n", + " page_name = metadata['title']\n", + " except:\n", + " page_name = str(page)\n", + " payload = {\n", + " \"book_id\": book_id,\n", + " \"chapter_id\": chapter_id,\n", + " \"name\": page_name,\n", + " \"markdown\": content,\n", + " \"tags\": [{\n", + " \"name\": \"chapter\",\n", + " \"value\": chapter\n", + " }]\n", + " }\n", + " response = requests.request(\"POST\",\n", + " url,\n", + " json=payload,\n", + " headers=headers)\n", + "\n", + " # print(response.text)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Development/Sandboxing\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# Python Debugging\n", + "\n", + "\n", + " \n", + " Finding and resolving bugs\n", + " \n", + " \n", + " In computer programming and software development, debugging is the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems.\n", + " \n", + "\n", + "\n", + "## Raising Exceptions\n", + "\n", + "Exceptions are raised with a raise statement. In code, a raise statement consists of the following:\n", + "\n", + "- The `raise` keyword\n", + "- A call to the `Exception()` function\n", + "- A string with a helpful error message passed to the `Exception()` function\n", + "\n", + "```python\n", + ">>> raise Exception('This is the error message.')\n", + "# Traceback (most recent call last):\n", + "# File \"\", line 1, in \n", + "# raise Exception('This is the error message.')\n", + "# Exception: This is the error message.\n", + "```\n", + "\n", + "Typically, it’s the code that calls the function, not the function itself, that knows how to handle an exception. So, you will commonly see a raise statement inside a function and the `try` and `except` statements in the code calling the function.\n", + "\n", + "```python\n", + ">>> def box_print(symbol, width, height):\n", + "... if len(symbol) != 1:\n", + "... raise Exception('Symbol must be a single character string.')\n", + "... if width <= 2:\n", + "... raise Exception('Width must be greater than 2.')\n", + "... if height <= 2:\n", + "... raise Exception('Height must be greater than 2.')\n", + "... print(symbol * width)\n", + "... for i in range(height - 2):\n", + "... print(symbol + (' ' * (width - 2)) + symbol)\n", + "... print(symbol * width)\n", + "...\n", + ">>> for sym, w, h in (('*', 4, 4), ('O', 20, 5), ('x', 1, 3), ('ZZ', 3, 3)):\n", + "... try:\n", + "... box_print(sym, w, h)\n", + "... except Exception as err:\n", + "... print('An exception happened: ' + str(err))\n", + "...\n", + "# ****\n", + "# * *\n", + "# * *\n", + "# ****\n", + "# OOOOOOOOOOOOOOOOOOOO\n", + "# O O\n", + "# O O\n", + "# O O\n", + "# OOOOOOOOOOOOOOOOOOOO\n", + "# An exception happened: Width must be greater than 2.\n", + "# An exception happened: Symbol must be a single character string.\n", + "```\n", + "\n", + "Read more about [Exception Handling](/cheatsheet/exception-handling).\n", + "\n", + "## Getting the Traceback as a string\n", + "\n", + "The `traceback` is displayed by Python whenever a raised exception goes unhandled. But can also obtain it as a string by calling traceback.format_exc(). This function is useful if you want the information from an exception’s traceback but also want an except statement to gracefully handle the exception. You will need to import Python’s traceback module before calling this function.\n", + "\n", + "```python\n", + ">>> import traceback\n", + "\n", + ">>> try:\n", + "... raise Exception('This is the error message.')\n", + ">>> except:\n", + "... with open('errorInfo.txt', 'w') as error_file:\n", + "... error_file.write(traceback.format_exc())\n", + "... print('The traceback info was written to errorInfo.txt.')\n", + "...\n", + "# 116\n", + "# The traceback info was written to errorInfo.txt.\n", + "```\n", + "\n", + "The 116 is the return value from the `write()` method, since 116 characters were written to the file. The `traceback` text was written to errorInfo.txt.\n", + "\n", + " Traceback (most recent call last):\n", + " File \"\", line 2, in \n", + " Exception: This is the error message.\n", + "\n", + "## Assertions\n", + "\n", + "An assertion is a sanity check to make sure your code isn’t doing something obviously wrong. These sanity checks are performed by `assert` statements. If the sanity check fails, then an `AssertionError` exception is raised. In code, an `assert` statement consists of the following:\n", + "\n", + "- The `assert` keyword\n", + "- A condition (that is, an expression that evaluates to `True` or `False`)\n", + "- A comma\n", + "- A `string` to display when the condition is `False`\n", + "\n", + "```python\n", + ">>> pod_bay_door_status = 'open'\n", + ">>> assert pod_bay_door_status == 'open', 'The pod bay doors need to be \"open\".'\n", + "\n", + ">>> pod_bay_door_status = 'I\\'m sorry, Dave. I\\'m afraid I can\\'t do that.'\n", + ">>> assert pod_bay_door_status == 'open', 'The pod bay doors need to be \"open\".'\n", + "# Traceback (most recent call last):\n", + "# File \"\", line 1, in \n", + "# assert pod_bay_door_status == 'open', 'The pod bay doors need to be \"open\".'\n", + "# AssertionError: The pod bay doors need to be \"open\".\n", + "```\n", + "\n", + "In plain English, an assert statement says, “I assert that this condition holds true, and if not, there is a bug somewhere in the program.” Unlike exceptions, your code should not handle assert statements with try and except; if an assert fails, your program should crash. By failing fast like this, you shorten the time between the original cause of the bug and when you first notice the bug. This will reduce the amount of code you will have to check before finding the code that’s causing the bug.\n", + "\n", + "### Disabling Assertions\n", + "\n", + "Assertions can be disabled by passing the `-O` option when running Python.\n", + "\n", + "## Logging\n", + "\n", + "To enable the `logging` module to display log messages on your screen as your program runs, copy the following to the top of your program:\n", + "\n", + "```python\n", + ">>> import logging\n", + ">>> logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s- %(message)s')\n", + "```\n", + "\n", + "Say you wrote a function to calculate the factorial of a number. In mathematics, factorial 4 is 1 × 2 × 3 × 4, or 24. Factorial 7 is 1 × 2 × 3 × 4 × 5 × 6 × 7, or 5,040. Open a new file editor window and enter the following code. It has a bug in it, but you will also enter several log messages to help yourself figure out what is going wrong. Save the program as factorialLog.py.\n", + "\n", + "```python\n", + ">>> import logging\n", + ">>> logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s- %(message)s')\n", + ">>> logging.debug('Start of program')\n", + "\n", + ">>> def factorial(n):\n", + "... logging.debug('Start of factorial(%s)' % (n))\n", + "... total = 1\n", + "... for i in range(1, n + 1):\n", + "... total *= i\n", + "... logging.debug('i is ' + str(i) + ', total is ' + str(total))\n", + "... logging.debug('End of factorial(%s)' % (n))\n", + "... return total\n", + "...\n", + ">>> print(factorial(5))\n", + ">>> logging.debug('End of program')\n", + "# 2015-05-23 16:20:12,664 - DEBUG - Start of program\n", + "# 2015-05-23 16:20:12,664 - DEBUG - Start of factorial(5)\n", + "# 2015-05-23 16:20:12,665 - DEBUG - i is 0, total is 0\n", + "# 2015-05-23 16:20:12,668 - DEBUG - i is 1, total is 0\n", + "# 2015-05-23 16:20:12,670 - DEBUG - i is 2, total is 0\n", + "# 2015-05-23 16:20:12,673 - DEBUG - i is 3, total is 0\n", + "# 2015-05-23 16:20:12,675 - DEBUG - i is 4, total is 0\n", + "# 2015-05-23 16:20:12,678 - DEBUG - i is 5, total is 0\n", + "# 2015-05-23 16:20:12,680 - DEBUG - End of factorial(5)\n", + "# 0\n", + "# 2015-05-23 16:20:12,684 - DEBUG - End of program\n", + "```\n", + "\n", + "## Logging Levels\n", + "\n", + "Logging levels provide a way to categorize your log messages by importance. There are five logging levels, described in Table 10-1 from least to most important. Messages can be logged at each level using a different logging function.\n", + "\n", + "| Level | Logging Function | Description |\n", + "| ---------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------ |\n", + "| `DEBUG` | `logging.debug()` | The lowest level. Used for small details. Usually you care about these messages only when diagnosing problems. |\n", + "| `INFO` | `logging.info()` | Used to record information on general events in your program or confirm that things are working at their point in the program. |\n", + "| `WARNING` | `logging.warning()` | Used to indicate a potential problem that doesn’t prevent the program from working but might do so in the future. |\n", + "| `ERROR` | `logging.error()` | Used to record an error that caused the program to fail to do something. |\n", + "| `CRITICAL` | `logging.critical()` | The highest level. Used to indicate a fatal error that has caused or is about to cause the program to stop running entirely. |\n", + "\n", + "## Disabling Logging\n", + "\n", + "After you’ve debugged your program, you probably don’t want all these log messages cluttering the screen. The logging.disable() function disables these so that you don’t have to go into your program and remove all the logging calls by hand.\n", + "\n", + "```python\n", + ">>> import logging\n", + "\n", + ">>> logging.basicConfig(level=logging.INFO, format=' %(asctime)s -%(levelname)s - %(message)s')\n", + ">>> logging.critical('Critical error! Critical error!')\n", + "# 2015-05-22 11:10:48,054 - CRITICAL - Critical error! Critical error!\n", + "\n", + ">>> logging.disable(logging.CRITICAL)\n", + ">>> logging.critical('Critical error! Critical error!')\n", + ">>> logging.error('Error! Error!')\n", + "```\n", + "\n", + "## Logging to a File\n", + "\n", + "Instead of displaying the log messages to the screen, you can write them to a text file. The `logging.basicConfig()` function takes a filename keyword argument, like so:\n", + "\n", + "```python\n", + ">>> import logging\n", + ">>> logging.basicConfig(filename='myProgramLog.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')\n", + "```\n" + ] + } + ], + "source": [ + "# for page in Path('../temp/python-cheatsheets/' + chapter).iterdir():\n", + "page = '../temp/python-cheatsheets/cheatsheet/debugging.md'\n", + "url = \"https://donavanaldrich.com/api/bookstack/pages\"\n", + "\n", + "with open(page, 'r') as f:\n", + " # text = f.read()\n", + " # post = frontmatter.load(page)\n", + " metadata, content = frontmatter.parse(f.read())\n", + "print(content)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reference\n", + "\n", + "### Payloads\n", + "\n", + "#### book\n", + "\n", + "```json\n", + "{\n", + " \"name\": \"python-cheatsheet\",\n", + " \"description\": \"python-cheatsheet\",\n", + " \"tags\": [\n", + " { \"name\": \"Platform\", \"value\": \"Python\" },\n", + " { \"name\": \"Category\", \"value\": \"Code\" },\n", + " { \"name\": \"Type\", \"value\": \"Cheatsheet\" }\n", + " ]\n", + "}\n", + "```\n", + "\n", + "#### Chapter\n", + "\n", + "```json\n", + "{\n", + " \"book_id\": 1,\n", + " \"name\": \"My fantastic new chapter\",\n", + " \"description\": \"This is a great new chapter that I've created via the API\",\n", + " \"tags\": [\n", + " { \"name\": \"Category\", \"value\": \"Top Content\" },\n", + " { \"name\": \"Rating\", \"value\": \"Highest\" }\n", + " ]\n", + "}\n", + "```\n", + "\n", + "#### Page\n", + "\n", + "```json\n", + "{\n", + " \"book_id\": 1,\n", + " \"name\": \"My API Page\",\n", + " \"markdown\": \"

my new API page

\",\n", + " \"tags\": [\n", + " { \"name\": \"Category\", \"value\": \"Not Bad Content\" },\n", + " { \"name\": \"Rating\", \"value\": \"Average\" }\n", + " ]\n", + "}\n", + "```\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'frontmatter' has no attribute 'load'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/home/donaldrich/projects/secrets/jupyter-notebooks/documentation/python-cheatsheet.ipynb Cell 19\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m file_parts \u001b[39m=\u001b[39m frontmatter\u001b[39m.\u001b[39mload(filepath)\n\u001b[1;32m 8\u001b[0m \u001b[39mreturn\u001b[39;00m {\n\u001b[1;32m 9\u001b[0m \u001b[39m# 'html': markdown_parser.convert(file_parts.content),\u001b[39;00m\n\u001b[1;32m 10\u001b[0m \u001b[39m'\u001b[39m\u001b[39mmetadata\u001b[39m\u001b[39m'\u001b[39m: file_parts\u001b[39m.\u001b[39mmetadata\n\u001b[1;32m 11\u001b[0m }\n\u001b[0;32m---> 13\u001b[0m parse_markdown(\u001b[39m'\u001b[39;49m\u001b[39m../temp/python-cheatsheets/cheatsheet/debugging.md\u001b[39;49m\u001b[39m'\u001b[39;49m)\n", + "\u001b[1;32m/home/donaldrich/projects/secrets/jupyter-notebooks/documentation/python-cheatsheet.ipynb Cell 19\u001b[0m in \u001b[0;36mparse_markdown\u001b[0;34m(filepath)\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mparse_markdown\u001b[39m(filepath):\n\u001b[1;32m 5\u001b[0m \u001b[39m# markdown_parser = markdown.Markdown(extensions=markdown_extensions)\u001b[39;00m\n\u001b[0;32m----> 6\u001b[0m file_parts \u001b[39m=\u001b[39m frontmatter\u001b[39m.\u001b[39;49mload(filepath)\n\u001b[1;32m 8\u001b[0m \u001b[39mreturn\u001b[39;00m {\n\u001b[1;32m 9\u001b[0m \u001b[39m# 'html': markdown_parser.convert(file_parts.content),\u001b[39;00m\n\u001b[1;32m 10\u001b[0m \u001b[39m'\u001b[39m\u001b[39mmetadata\u001b[39m\u001b[39m'\u001b[39m: file_parts\u001b[39m.\u001b[39mmetadata\n\u001b[1;32m 11\u001b[0m }\n", + "\u001b[0;31mAttributeError\u001b[0m: module 'frontmatter' has no attribute 'load'" + ] + } + ], + "source": [ + "import frontmatter # https://pypi.org/project/python-frontmatter/\n", + "import markdown\n", + "\n", + "\n", + "def parse_markdown(filepath):\n", + " # markdown_parser = markdown.Markdown(extensions=markdown_extensions)\n", + " file_parts = frontmatter.load(filepath)\n", + "\n", + " return {\n", + " # 'html': markdown_parser.convert(file_parts.content),\n", + " 'metadata': file_parts.metadata\n", + " }\n", + "\n", + "\n", + "parse_markdown('../temp/python-cheatsheets/cheatsheet/debugging.md')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.8.9 64-bit", + "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.10.4" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/documentation/python-cheatsheet.ipynb b/documentation/python-cheatsheet.ipynb index fd05793..aefb161 100644 --- a/documentation/python-cheatsheet.ipynb +++ b/documentation/python-cheatsheet.ipynb @@ -626,7 +626,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.8.9" }, "orig_nbformat": 4, "vscode": { diff --git a/documentation/weasyprint.ipynb b/documentation/weasyprint.ipynb index 33a696d..2f52ed3 100644 --- a/documentation/weasyprint.ipynb +++ b/documentation/weasyprint.ipynb @@ -106,7 +106,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.6" }, "vscode": { "interpreter": { diff --git a/http/furl/furl.ipynb b/http/furl/furl.ipynb index 3040da8..78d164a 100644 --- a/http/furl/furl.ipynb +++ b/http/furl/furl.ipynb @@ -210,42 +210,33 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{'fragment': {'encoded': 'scheme-username-password-host-port-network-location-and-origin',\n", - " 'path': {'encoded': 'scheme-username-password-host-port-network-location-and-origin',\n", - " 'isabsolute': False,\n", - " 'isdir': False,\n", - " 'isfile': True,\n", - " 'segments': ['scheme-username-password-host-port-network-location-and-origin']},\n", - " 'query': {'encoded': '', 'params': []},\n", - " 'separator': True},\n", - " 'host': 'github.com',\n", - " 'host_encoded': 'github.com',\n", - " 'netloc': 'github.com',\n", - " 'origin': 'https://github.com',\n", - " 'password': None,\n", - " 'path': {'encoded': '/gruns/furl',\n", - " 'isabsolute': True,\n", - " 'isdir': False,\n", - " 'isfile': True,\n", - " 'segments': ['gruns', 'furl']},\n", - " 'port': 443,\n", - " 'query': {'encoded': '', 'params': []},\n", - " 'scheme': 'https',\n", - " 'url': 'https://github.com/gruns/furl#scheme-username-password-host-port-network-location-and-origin',\n", - " 'username': None}\n" + "('{\"url\": '\n", + " '\"https://github.com/gruns/furl#scheme-username-password-host-port-network-location-and-origin\", '\n", + " '\"scheme\": \"https\", \"username\": null, \"password\": null, \"host\": \"github.com\", '\n", + " '\"host_encoded\": \"github.com\", \"port\": 443, \"netloc\": \"github.com\", \"origin\": '\n", + " '\"https://github.com\", \"path\": {\"encoded\": \"/gruns/furl\", \"isdir\": false, '\n", + " '\"isfile\": true, \"segments\": [\"gruns\", \"furl\"], \"isabsolute\": true}, \"query\": '\n", + " '{\"encoded\": \"\", \"params\": []}, \"fragment\": {\"encoded\": '\n", + " '\"scheme-username-password-host-port-network-location-and-origin\", '\n", + " '\"separator\": true, \"path\": {\"encoded\": '\n", + " '\"scheme-username-password-host-port-network-location-and-origin\", \"isdir\": '\n", + " 'false, \"isfile\": true, \"segments\": '\n", + " '[\"scheme-username-password-host-port-network-location-and-origin\"], '\n", + " '\"isabsolute\": false}, \"query\": {\"encoded\": \"\", \"params\": []}}}')\n" ] } ], "source": [ "from furl import furl\n", "import pprint\n", + "import json\n", "\n", "url = 'https://github.com/gruns/furl#scheme-username-password-host-port-network-location-and-origin'\n", "\n", @@ -253,13 +244,15 @@ "\n", "result = f.asdict()\n", "\n", - "pprint.pprint(result)" + "json = json.dumps(result)\n", + "\n", + "pprint.pprint(json)" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.10 64-bit", + "display_name": "Python 3.8.9 64-bit", "language": "python", "name": "python3" }, @@ -273,7 +266,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.6" }, "orig_nbformat": 4, "vscode": { diff --git a/monitor/netdata.ipynb b/monitor/netdata.ipynb new file mode 100644 index 0000000..a61c261 --- /dev/null +++ b/monitor/netdata.ipynb @@ -0,0 +1,366 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "46bb56f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + "\t\"version\": \"v1.36.0-68-nightly\",\n", + "\t\"uid\": \"ed87c22c-0d2c-11ed-a4da-0242ac63007a\",\n", + "\t\"mirrored_hosts\": [\n", + "\t\t\"donavanaldrich.com\"\n", + "\t],\n", + "\t\"mirrored_hosts_status\": [\n", + "\t\t{ \"guid\": \"ed87c22c-0d2c-11ed-a4da-0242ac63007a\", \"hostname\": \"donavanaldrich.com\", \"reachable\": true, \"hops\": 0, \"claim_id\": null, \"node_id\": null }\n", + "\t],\n", + "\t\"alarms\": {\n", + "\t\t\"normal\": 375,\n", + "\t\t\"warning\": 3,\n", + "\t\t\"critical\": 3\n", + "\t},\n", + "\t\"os_name\": \"Ubuntu\",\n", + "\t\"os_id\": \"ubuntu\",\n", + "\t\"os_id_like\": \"debian\",\n", + "\t\"os_version\": \"22.04.1 LTS (Jammy Jellyfish)\",\n", + "\t\"os_version_id\": \"22.04\",\n", + "\t\"os_detection\": \"/host/etc/os-release\",\n", + "\t\"cores_total\": \"8\",\n", + "\t\"total_disk_space\": \"558345748480\",\n", + "\t\"cpu_freq\": \"3400000000\",\n", + "\t\"ram_total\": \"28741951488\",\n", + "\t\"container_os_name\": \"Alpine Linux\",\n", + "\t\"container_os_id\": \"alpine\",\n", + "\t\"container_os_id_like\": \"unknown\",\n", + "\t\"container_os_version\": \"unknown\",\n", + "\t\"container_os_version_id\": \"3.16.2\",\n", + "\t\"container_os_detection\": \"/etc/os-release\",\n", + "\t\"is_k8s_node\": \"false\",\n", + "\t\"kernel_name\": \"Linux\",\n", + "\t\"kernel_version\": \"5.15.0-46-generic\",\n", + "\t\"architecture\": \"x86_64\",\n", + "\t\"virtualization\": \"kvm\",\n", + "\t\"virt_detection\": \"lscpu\",\n", + "\t\"container\": \"docker\",\n", + "\t\"container_detection\": \"dockerenv\",\n", + "\t\"cloud_provider_type\": \"unknown\",\n", + "\t\"cloud_instance_type\": \"unknown\",\n", + "\t\"cloud_instance_region\": \"unknown\",\n", + "\t\"host_labels\": {\n", + "\t\t\"_cloud_provider_type\":\"unknown\",\n", + "\t\t\"_cloud_instance_type\":\"unknown\",\n", + "\t\t\"_cloud_instance_region\":\"unknown\",\n", + "\t\t\"_os_name\":\"Ubuntu\",\n", + "\t\t\"_os_version\":\"22.04.1 LTS (Jammy Jellyfish)\",\n", + "\t\t\"_kernel_version\":\"5.15.0-46-generic\",\n", + "\t\t\"_system_cores\":\"8\",\n", + "\t\t\"_system_cpu_freq\":\"3400000000\",\n", + "\t\t\"_system_ram_total\":\"28741951488\",\n", + "\t\t\"_system_disk_space\":\"558345748480\",\n", + "\t\t\"_architecture\":\"x86_64\",\n", + "\t\t\"_virtualization\":\"kvm\",\n", + "\t\t\"_container\":\"docker\",\n", + "\t\t\"_container_detection\":\"dockerenv\",\n", + "\t\t\"_virt_detection\":\"lscpu\",\n", + "\t\t\"_is_k8s_node\":\"false\",\n", + "\t\t\"_aclk_available\":\"true\",\n", + "\t\t\"_mqtt_version\":\"5\",\n", + "\t\t\"_aclk_proxy\":\"none\",\n", + "\t\t\"_aclk_ng_new_cloud_protocol\":\"true\",\n", + "\t\t\"_is_parent\":\"false\"\n", + "\t},\n", + "\t\"collectors\": [\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/netstat\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"cgroups.plugin\",\n", + "\t\t\t\"module\": \"/sys/fs/cgroup\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"go.d\",\n", + "\t\t\t\"module\": \"prometheus\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/diskstats\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"cgroups.plugin\",\n", + "\t\t\t\"module\": \"systemd\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"netdata\",\n", + "\t\t\t\"module\": \"stats\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"netdata\",\n", + "\t\t\t\"module\": \"ml\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/snmp\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"go.d\",\n", + "\t\t\t\"module\": \"dns_query\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"go.d\",\n", + "\t\t\t\"module\": \"portcheck\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"go.d\",\n", + "\t\t\t\"module\": \"httpcheck\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"apps.plugin\",\n", + "\t\t\t\"module\": \"\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"ipc\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/stat/nf_conntrack\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/softnet_stat\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/snmp6\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/sockstat6\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/sockstat\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/net/dev\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/meminfo\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/vmstat\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/softirqs\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/interrupts\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"diskspace.plugin\",\n", + "\t\t\t\"module\": \"\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/pressure\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/sys/kernel/random/entropy_avail\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/loadavg\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"timex.plugin\",\n", + "\t\t\t\"module\": \"\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/uptime\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"proc.plugin\",\n", + "\t\t\t\"module\": \"/proc/stat\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"go.d\",\n", + "\t\t\t\"module\": \"redis\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"tc.plugin\",\n", + "\t\t\t\"module\": \"\"\n", + "\t\t},\n", + "\t\t{\n", + "\t\t\t\"plugin\": \"idlejitter.plugin\",\n", + "\t\t\t\"module\": \"\"\n", + "\t\t}\n", + "\t],\n", + "\t\"cloud-enabled\": true,\n", + "\t\"cloud-available\": true,\n", + "\t\"agent-claimed\": false,\n", + "\t\"aclk-available\": false,\n", + "\t\"memory-mode\": \"dbengine\",\n", + "\t\"multidb-disk-quota\": 256,\n", + "\t\"page-cache-size\": 32,\n", + "\t\"stream-enabled\": false,\n", + "\t\"stream-compression\": true,\n", + "\t\"hosts-available\": null,\n", + "\t\"https-enabled\": true,\n", + "\t\"buildinfo\": \"dbengine|Native HTTPS|Netdata Cloud|TLS Host Verification|Machine Learning|Stream Compression|protobuf|JSON-C|libcrypto|libm|zlib|apps|cgroup Network Tracking|IPMI|perf|slabinfo|MongoDB|Prometheus Remote Write\",\n", + "\t\"release-channel\": \"nightly\",\n", + "\t\"web-enabled\": true,\n", + "\t\"notification-methods\": null,\n", + "\t\"exporting-enabled\": null,\n", + "\t\"exporting-connectors\": null,\n", + "\t\"allmetrics-prometheus-used\": null,\n", + "\t\"allmetrics-shell-used\": null,\n", + "\t\"allmetrics-json-used\": null,\n", + "\t\"dashboard-used\": null,\n", + "\t\"charts-count\": null,\n", + "\t\"metrics-count\": null,\n", + "\t\"ml-info\": {\n", + "\t\t\"charts-to-skip\": \"anomaly_detection.* netdata.*\",\n", + "\t\t\"diff-n\": 1,\n", + "\t\t\"dimension-anomaly-score-threshold\": 0.99,\n", + "\t\t\"dimension-rate-threshold\": 0.05,\n", + "\t\t\"enabled\": true,\n", + "\t\t\"host-anomaly-rate-threshold\": 0.01,\n", + "\t\t\"hosts-to-skip\": \"!*\",\n", + "\t\t\"idle-window-size\": 30.0,\n", + "\t\t\"lag-n\": 5,\n", + "\t\t\"max-kmeans-iters\": 1000,\n", + "\t\t\"max-train-samples\": 14400,\n", + "\t\t\"max-window-size\": 600.0,\n", + "\t\t\"min-train-samples\": 900,\n", + "\t\t\"min-window-size\": 30.0,\n", + "\t\t\"random-sampling-ratio\": 0.2,\n", + "\t\t\"smooth-n\": 3,\n", + "\t\t\"train-every\": 3600,\n", + "\t\t\"version\": 1,\n", + "\t\t\"window-rate-threshold\": 0.25\n", + "}\n", + "}\n" + ] + } + ], + "source": [ + "import json\n", + "import os\n", + "import pprint\n", + "import urllib.parse\n", + "import sys\n", + "import requests\n", + "\n", + "my_headers = {\n", + " \"Content-Type\": \"application/json\",\n", + " \"Accept\": \"application/json\",\n", + "}\n", + "\n", + "\n", + "url = \"https://donavanaldrich.com/api/metrics/netdata/info\"\n", + "\n", + "response = requests.get(url, headers=my_headers)\n", + "\n", + "print(response.text)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7e31eaf2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "netdata dashboard
You must enable JavaScript in order to use Netdata!
You can do this in your browser settings.

Netdata

Real-time performance monitoring, in the greatest possible detail

Drag charts to pan. Shift + wheel on them, to zoom in and out. Double-click on them, to reset. Hover on them too!

XSS Protection

This dashboard is about to render data from server:

To protect your privacy, the dashboard will check all data transferred for cross site scripting (XSS).
This is CPU intensive, so your browser might be a bit slower.

If you trust the remote server, you can disable XSS protection.
In this case, any remote dashboard decoration code (javascript) will also run.

If you don't trust the remote server, you should keep the protection on.
The dashboard will run slower and remote dashboard decoration code will not run, but better be safe than sorry...

Print this netdata dashboard

netdata dashboards cannot be captured, since we are lazy loading and hiding all but the visible charts.
To capture the whole page with all the charts rendered, a new browser window will pop-up that will render all the charts at once. The new browser window will maintain the current pan and zoom settings of the charts. So, align the charts before proceeding.

This process will put some CPU and memory pressure on your browser.
For the netdata server, we will sequentially download all the charts, to avoid congesting network and server resources.
Please, do not print netdata dashboards on paper!

Print

Preparing dashboard for printing...

Please wait while we initialize and render all the charts on the dashboard.
The print dialog will appear as soon as we finish rendering the page.

Import a netdata snapshot

netdata can export and import dashboard snapshots. Any netdata can import the snapshot of any other netdata. The snapshots are not uploaded to a server. They are handled entirely by your web browser, on your computer.

Browse for a snapshot file (or drag it and drop it here), then click Import to render it.

Filename
Hostname
Origin URL
Charts Info
Snapshot Info
Time Range
Comments

Snapshot files contain both data and javascript code. Make sure you trust the files you import! Import

Export a snapshot

Select the desired resolution of the snapshot. This is the seconds of data per point.
 
 

 
Comments
 
Select snaphost resolution. This controls the size the snapshot file.

The generated snapshot will include all charts of this dashboard, for the visible timeframe, so align, pan and zoom the charts as needed. The scroll position of the dashboard will also be saved. The snapshot will be downloaded as a file, to your computer, that can be imported back into any netdata dashboard (no need to import it back on this server).

Snapshot files include all the information of the dashboard, including the URL of the origin server, its netdata unique ID, etc. So, if you share the snapshot file with third parties, they will be able to access the origin server, if this server is exposed on the internet.
Snapshots are handled entirely by the web browser. The netdata servers are not aware of them.

Export

netdata alarms

loading...
loading...
loading...

netdata dashboard options

These are browser settings. Each viewer has its own. They do not affect the operation of your netdata server.
Settings take effect immediately and are saved permanently to browser local storage (except the refresh on focus / always option).
To reset all options (including charts sizes) to their defaults, click here.
When to refresh the charts?
When set to On Focus, the charts will stop being updated if the page / tab does not have the focus of the user. When set to Always, the charts will always be refreshed. Set it to On Focus it to lower the CPU requirements of the browser (and extend the battery of laptops and tablets) when this page does not have your focus. Set to Always to work on another window (i.e. change the settings of something) and have the charts auto-refresh in this window.
Which dimensions to show?
When set to Non Zero, dimensions that have all their values (within the current view) set to zero will not be transferred from the netdata server (except if all dimensions of the chart are zero, in which case this setting does nothing - all dimensions are transferred and shown). When set to All, all dimensions will always be shown. Set it to Non Zero to lower the data transferred between netdata and your browser, lower the CPU requirements of your browser (fewer lines to draw) and increase the focus on the legends (fewer entries at the legends).
How to handle hidden charts?
When set to Destroy, charts that are not in the current viewport of the browser (are above, or below the visible area of the page), will be destroyed and re-created if and when they become visible again. When set to Hide, the not-visible charts will be just hidden, to simplify the DOM and speed up your browser. Set it to Destroy, to lower the memory requirements of your browser. Set it to Hide for faster restoration of charts on page scrolling.
Page scroll handling?
When set to Sync, charts will be examined for their visibility immediately after scrolling. On slow computers this may impact the smoothness of page scrolling. To update the page when scrolling ends, set it to Async. Set it to Sync for immediate chart updates when scrolling. Set it to Async for smoother page scrolling on slower computers.
Which chart refresh policy to use?
When set to parallel, visible charts are refreshed in parallel (all queries are sent to netdata server in parallel) and are rendered asynchronously. When set to sequential charts are refreshed one after another. Set it to parallel if your browser can cope with it (most modern browsers do), set it to sequential if you work on an older/slower computer.
Shall we re-sync chart refreshes?
When set to Resync, the dashboard will attempt to re-synchronize all the charts so that they are refreshed concurrently. When set to Best Effort, each chart may be refreshed with a little time difference to the others. Normally, the dashboard starts refreshing them in parallel, but depending on the speed of your computer and the network latencies, charts start having a slight time difference. Setting this to Resync will attempt to re-synchronize the charts on every update. Setting it to Best Effort may lower the pressure on your browser and the network.
Sync hover selection on all charts?
When enabled, a selection on one chart will automatically select the same time on all other visible charts and the legends of all visible charts will be updated to show the selected values. When disabled, only the chart getting the user's attention will be selected. Enable it to get better insights of the data. Disable it if you are on a very slow computer that cannot actually do it.
Where do you want to see the legend?
Netdata can place the legend in two positions: Below charts (the default) or to the Right of charts.
Switching this will reload the dashboard.
Which theme to use?
Netdata comes with two themes: Dark (the default) and White.
Switching this will reload the dashboard.
Do you need help?
Netdata can show some help in some areas to help you use the dashboard. If all these balloons bother you, disable them using this switch.
Switching this will reload the dashboard.
Enable data padding when panning and zooming?
When set to Pad the charts will be padded with more data, both before and after the visible area, thus giving the impression the whole database is loaded. This padding will happen only after the first pan or zoom operation on the chart (initially all charts have only the visible data). When set to Don't Pad only the visible data will be transferred from the netdata server, even after the first pan and zoom operation.
Enable Bézier lines on charts?
When set to Smooth the charts libraries that support it, will plot smooth curves instead of simple straight lines to connect the points.
Keep in mind dygraphs, the main charting library in netdata dashboards, can only smooth line charts. It cannot smooth area or stacked charts. When set to Rough, this setting can lower the CPU resources consumed by your browser.
These settings are applied gradually, as charts are updated. To force them, refresh the dashboard now.
Enable auto-scaling of select units?
When set to Scale Units the values shown will dynamically be scaled (e.g. 1000 kilobits will be shown as 1 megabit). Netdata can auto-scale these original units: kilobits/s, kilobytes/s, KB/s, KB, MB, and GB. When set to Fixed Units all the values will be rendered using the original units maintained by the netdata server.
Which units to use for temperatures?
Set the temperature units of the dashboard.
Convert seconds to time?
When set to Time, charts that present seconds will show DDd:HH:MM:SS. When set to Seconds, the raw number of seconds will be presented.

Update Check

Your netdata version: Unknown

Not checked yet. Please press the Check Now button.

For progress reports and key netdata updates: Join the Netdata Community
You can also follow netdata on twitter, follow netdata on facebook, or watch netdata on github.
Check Now

Sign In

Signing-in to netdata.cloud will synchronize the list of your netdata monitored nodes known at registry . This may include server hostnames, urls and identification GUIDs.

After you upgrade all your netdata servers, your private registry will not be needed any more.

Are you sure you want to proceed?

Sign In

Delete ?

You are about to delete, from your personal list of netdata servers, the following server:


Are you sure you want to do this?
Keep in mind, this server will be added back if and when you visit it again.
delete it

Switch Netdata Registry Identity

You can copy and paste the following ID to all your browsers (e.g. work and home).
All the browsers with the same ID will identify you, so please don't share this with others.
Either copy this ID and paste it to another browser, or paste here the ID you have taken from another browser.
Keep in mind that:
  • when you switch ID, your previous ID will be lost forever - this is irreversible.
  • both IDs (your old and the new) must list this netdata at their personal lists.
  • both IDs have to be known by the registry: .
  • to get a new ID, just clear your browser cookies.

Checking known URLs for this server...

Checks may fail if you are viewing an HTTPS page and the server to be checked is HTTP only.

" + ] + } + ], + "source": [ + "!curl 'http://192.168.1.101:19999'\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7680da8a", + "metadata": {}, + "outputs": [], + "source": [ + "!sudo apt update && sudo apt upgrade -y && sudo apt install curl -y" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4b64df4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/playground/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/playground/.ipynb_checkpoints/Untitled-checkpoint.ipynb new file mode 100644 index 0000000..b8b4f05 --- /dev/null +++ b/playground/.ipynb_checkpoints/Untitled-checkpoint.ipynb @@ -0,0 +1,357 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "b81d2b56-4aaa-4dbc-ada4-fe519b4d19bc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting ipyvizzu\n", + " Downloading ipyvizzu-0.12.1-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: jsonschema in /opt/conda/lib/python3.10/site-packages (from ipyvizzu) (4.7.2)\n", + "Requirement already satisfied: IPython in /opt/conda/lib/python3.10/site-packages (from ipyvizzu) (8.4.0)\n", + "Requirement already satisfied: pandas in /opt/conda/lib/python3.10/site-packages (from ipyvizzu) (1.4.3)\n", + "Requirement already satisfied: pygments>=2.4.0 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (2.12.0)\n", + "Requirement already satisfied: traitlets>=5 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (5.3.0)\n", + "Requirement already satisfied: matplotlib-inline in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.1.3)\n", + "Requirement already satisfied: jedi>=0.16 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.18.1)\n", + "Requirement already satisfied: decorator in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (5.1.1)\n", + "Requirement already satisfied: backcall in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.2.0)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (3.0.30)\n", + "Requirement already satisfied: pexpect>4.3 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (4.8.0)\n", + "Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (63.2.0)\n", + "Requirement already satisfied: stack-data in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.3.0)\n", + "Requirement already satisfied: pickleshare in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.7.5)\n", + "Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /opt/conda/lib/python3.10/site-packages (from jsonschema->ipyvizzu) (0.18.1)\n", + "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.10/site-packages (from jsonschema->ipyvizzu) (21.4.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.1 in /opt/conda/lib/python3.10/site-packages (from pandas->ipyvizzu) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /opt/conda/lib/python3.10/site-packages (from pandas->ipyvizzu) (2022.1)\n", + "Requirement already satisfied: numpy>=1.21.0 in /opt/conda/lib/python3.10/site-packages (from pandas->ipyvizzu) (1.22.4)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /opt/conda/lib/python3.10/site-packages (from jedi>=0.16->IPython->ipyvizzu) (0.8.3)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.10/site-packages (from pexpect>4.3->IPython->ipyvizzu) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.10/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->IPython->ipyvizzu) (0.2.5)\n", + "Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.10/site-packages (from python-dateutil>=2.8.1->pandas->ipyvizzu) (1.16.0)\n", + "Requirement already satisfied: pure-eval in /opt/conda/lib/python3.10/site-packages (from stack-data->IPython->ipyvizzu) (0.2.2)\n", + "Requirement already satisfied: asttokens in /opt/conda/lib/python3.10/site-packages (from stack-data->IPython->ipyvizzu) (2.0.5)\n", + "Requirement already satisfied: executing in /opt/conda/lib/python3.10/site-packages (from stack-data->IPython->ipyvizzu) (0.9.1)\n", + "Installing collected packages: ipyvizzu\n", + "Successfully installed ipyvizzu-0.12.1\n" + ] + } + ], + "source": [ + "!pip install ipyvizzu" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "0ee49520-1c68-4e04-bd27-9f6859bd94ff", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "if (window.IpyVizzu) { window.IpyVizzu.clearInhibitScroll(element); }" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "if (window.IpyVizzu) { window.IpyVizzu.clearInhibitScroll(element); }" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/bin/bash: curl: command not found\n" + ] + } + ], + "source": [ + "!curl -o trst.csv 'https://demo-live-data.highcharts.com/vs-load.csv'\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "cab06026-44ad-46fe-9ab6-6e3ad47d3767", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "if (window.IpyVizzu) { window.IpyVizzu.clearInhibitScroll(element); }" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "if (!window.IpyVizzu) {\n", + " class IpyVizzu \n", + " {\n", + " constructor()\n", + " {\n", + " IpyVizzu.inhibitScroll = false;\n", + " IpyVizzu.nbconvert = false;\n", + " document.addEventListener('wheel', (evt) => { IpyVizzu.inhibitScroll = true }, true);\n", + " document.addEventListener('keydown', (evt) => { IpyVizzu.inhibitScroll = true }, true);\n", + " document.addEventListener('touchstart', (evt) => { IpyVizzu.inhibitScroll = true }, true);\n", + "\n", + " this.elements = {};\n", + " this.charts = {};\n", + " \n", + " this.snapshots = {};\n", + " this.displays = {};\n", + "\n", + " this.events = {};\n", + " this.loaded = {};\n", + " this.libs = {};\n", + " }\n", + "\n", + " static clearInhibitScroll(element)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " IpyVizzu.inhibitScroll = false;\n", + " }\n", + "\n", + " createChart(element, chartId, vizzulib, divWidth, divHeight) {\n", + " this.elements[chartId] = document.createElement(\"div\");\n", + " this.elements[chartId].style.cssText = `width: ${divWidth}; height: ${divHeight};`;\n", + " this.loaded[chartId] = import(vizzulib);\n", + " this.charts[chartId] = this.loaded[chartId].then(Vizzu => {\n", + " this.libs[chartId] = Vizzu.default;\n", + " return new Vizzu.default(this.elements[chartId]).initializing\n", + " });\n", + " this._moveHere(chartId, element);\n", + " }\n", + "\n", + " animate(element, chartId, displayTarget, scrollEnabled, getChartTarget, chartAnimOpts)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " if (displayTarget === 'end') this._moveHere(chartId, element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " if (displayTarget === 'actual') this._moveHere(chartId, element);\n", + " this._scroll(chartId, scrollEnabled);\n", + " let chartTarget = getChartTarget(this.libs[chartId]);\n", + " if (typeof chartTarget === 'string') chartTarget = this.snapshots[chartTarget];\n", + " return chart.animate(chartTarget, chartAnimOpts);\n", + " });\n", + " }\n", + "\n", + " store(element, chartId, id)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " this.snapshots[id] = chart.store();\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " feature(element, chartId, name, enabled)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " chart.feature(name, enabled);\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " setEvent(element, chartId, id, event, handler)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " this.events[id] = handler;\n", + " chart.on(event, this.events[id]);\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " clearEvent(element, chartId, id, event)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " chart.off(event, this.events[id]);\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " log(element, chartId, chartProperty)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " console.log(chart[chartProperty])\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " _moveHere(chartId, element)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._display(this.elements[chartId], element);\n", + " element.append(this.elements[chartId]);\n", + " }\n", + "\n", + " _scroll(chartId, enabled)\n", + " {\n", + " if (!IpyVizzu.inhibitScroll && enabled) {\n", + " this.elements[chartId].scrollIntoView({ behavior: \"auto\", block: \"center\" });\n", + " }\n", + " }\n", + "\n", + " static _hide(element) {\n", + " document.getElementById(element.selector.substring(1)).parentNode.style.display = 'none';\n", + " }\n", + "\n", + " static _display(prevElement, element) {\n", + " if (prevElement.parentNode) {\n", + " prevElement.parentNode.style.display = \"none\";\n", + " }\n", + " document.getElementById(element.selector.substring(1)).parentNode.style.display = 'flex';\n", + " document.getElementById(element.selector.substring(1)).parentNode.style.margin = 'auto';\n", + " }\n", + " }\n", + "\n", + " window.IpyVizzu = IpyVizzu;\n", + " window.ipyvizzu = new window.IpyVizzu();\n", + "}" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.createChart(element, '37e72ef', 'https://cdn.jsdelivr.net/npm/vizzu@~0.5.0/dist/vizzu.min.js', '640px', '360px');" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"data\": {\"series\": [{\"name\": \"Count\", \"type\": \"measure\", \"values\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]}, {\"name\": \"PassengerId\", \"type\": \"measure\", \"values\": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 157.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 167.0, 168.0, 169.0, 170.0, 171.0, 172.0, 173.0, 174.0, 175.0, 176.0, 177.0, 178.0, 179.0, 180.0, 181.0, 182.0, 183.0, 184.0, 185.0, 186.0, 187.0, 188.0, 189.0, 190.0, 191.0, 192.0, 193.0, 194.0, 195.0, 196.0, 197.0, 198.0, 199.0, 200.0, 201.0, 202.0, 203.0, 204.0, 205.0, 206.0, 207.0, 208.0, 209.0, 210.0, 211.0, 212.0, 213.0, 214.0, 215.0, 216.0, 217.0, 218.0, 219.0, 220.0, 221.0, 222.0, 223.0, 224.0, 225.0, 226.0, 227.0, 228.0, 229.0, 230.0, 231.0, 232.0, 233.0, 234.0, 235.0, 236.0, 237.0, 238.0, 239.0, 240.0, 241.0, 242.0, 243.0, 244.0, 245.0, 246.0, 247.0, 248.0, 249.0, 250.0, 251.0, 252.0, 253.0, 254.0, 255.0, 256.0, 257.0, 258.0, 259.0, 260.0, 261.0, 262.0, 263.0, 264.0, 265.0, 266.0, 267.0, 268.0, 269.0, 270.0, 271.0, 272.0, 273.0, 274.0, 275.0, 276.0, 277.0, 278.0, 279.0, 280.0, 281.0, 282.0, 283.0, 284.0, 285.0, 286.0, 287.0, 288.0, 289.0, 290.0, 291.0, 292.0, 293.0, 294.0, 295.0, 296.0, 297.0, 298.0, 299.0, 300.0, 301.0, 302.0, 303.0, 304.0, 305.0, 306.0, 307.0, 308.0, 309.0, 310.0, 311.0, 312.0, 313.0, 314.0, 315.0, 316.0, 317.0, 318.0, 319.0, 320.0, 321.0, 322.0, 323.0, 324.0, 325.0, 326.0, 327.0, 328.0, 329.0, 330.0, 331.0, 332.0, 333.0, 334.0, 335.0, 336.0, 337.0, 338.0, 339.0, 340.0, 341.0, 342.0, 343.0, 344.0, 345.0, 346.0, 347.0, 348.0, 349.0, 350.0, 351.0, 352.0, 353.0, 354.0, 355.0, 356.0, 357.0, 358.0, 359.0, 360.0, 361.0, 362.0, 363.0, 364.0, 365.0, 366.0, 367.0, 368.0, 369.0, 370.0, 371.0, 372.0, 373.0, 374.0, 375.0, 376.0, 377.0, 378.0, 379.0, 380.0, 381.0, 382.0, 383.0, 384.0, 385.0, 386.0, 387.0, 388.0, 389.0, 390.0, 391.0, 392.0, 393.0, 394.0, 395.0, 396.0, 397.0, 398.0, 399.0, 400.0, 401.0, 402.0, 403.0, 404.0, 405.0, 406.0, 407.0, 408.0, 409.0, 410.0, 411.0, 412.0, 413.0, 414.0, 415.0, 416.0, 417.0, 418.0, 419.0, 420.0, 421.0, 422.0, 423.0, 424.0, 425.0, 426.0, 427.0, 428.0, 429.0, 430.0, 431.0, 432.0, 433.0, 434.0, 435.0, 436.0, 437.0, 438.0, 439.0, 440.0, 441.0, 442.0, 443.0, 444.0, 445.0, 446.0, 447.0, 448.0, 449.0, 450.0, 451.0, 452.0, 453.0, 454.0, 455.0, 456.0, 457.0, 458.0, 459.0, 460.0, 461.0, 462.0, 463.0, 464.0, 465.0, 466.0, 467.0, 468.0, 469.0, 470.0, 471.0, 472.0, 473.0, 474.0, 475.0, 476.0, 477.0, 478.0, 479.0, 480.0, 481.0, 482.0, 483.0, 484.0, 485.0, 486.0, 487.0, 488.0, 489.0, 490.0, 491.0, 492.0, 493.0, 494.0, 495.0, 496.0, 497.0, 498.0, 499.0, 500.0, 501.0, 502.0, 503.0, 504.0, 505.0, 506.0, 507.0, 508.0, 509.0, 510.0, 511.0, 512.0, 513.0, 514.0, 515.0, 516.0, 517.0, 518.0, 519.0, 520.0, 521.0, 522.0, 523.0, 524.0, 525.0, 526.0, 527.0, 528.0, 529.0, 530.0, 531.0, 532.0, 533.0, 534.0, 535.0, 536.0, 537.0, 538.0, 539.0, 540.0, 541.0, 542.0, 543.0, 544.0, 545.0, 546.0, 547.0, 548.0, 549.0, 550.0, 551.0, 552.0, 553.0, 554.0, 555.0, 556.0, 557.0, 558.0, 559.0, 560.0, 561.0, 562.0, 563.0, 564.0, 565.0, 566.0, 567.0, 568.0, 569.0, 570.0, 571.0, 572.0, 573.0, 574.0, 575.0, 576.0, 577.0, 578.0, 579.0, 580.0, 581.0, 582.0, 583.0, 584.0, 585.0, 586.0, 587.0, 588.0, 589.0, 590.0, 591.0, 592.0, 593.0, 594.0, 595.0, 596.0, 597.0, 598.0, 599.0, 600.0, 601.0, 602.0, 603.0, 604.0, 605.0, 606.0, 607.0, 608.0, 609.0, 610.0, 611.0, 612.0, 613.0, 614.0, 615.0, 616.0, 617.0, 618.0, 619.0, 620.0, 621.0, 622.0, 623.0, 624.0, 625.0, 626.0, 627.0, 628.0, 629.0, 630.0, 631.0, 632.0, 633.0, 634.0, 635.0, 636.0, 637.0, 638.0, 639.0, 640.0, 641.0, 642.0, 643.0, 644.0, 645.0, 646.0, 647.0, 648.0, 649.0, 650.0, 651.0, 652.0, 653.0, 654.0, 655.0, 656.0, 657.0, 658.0, 659.0, 660.0, 661.0, 662.0, 663.0, 664.0, 665.0, 666.0, 667.0, 668.0, 669.0, 670.0, 671.0, 672.0, 673.0, 674.0, 675.0, 676.0, 677.0, 678.0, 679.0, 680.0, 681.0, 682.0, 683.0, 684.0, 685.0, 686.0, 687.0, 688.0, 689.0, 690.0, 691.0, 692.0, 693.0, 694.0, 695.0, 696.0, 697.0, 698.0, 699.0, 700.0, 701.0, 702.0, 703.0, 704.0, 705.0, 706.0, 707.0, 708.0, 709.0, 710.0, 711.0, 712.0, 713.0, 714.0, 715.0, 716.0, 717.0, 718.0, 719.0, 720.0, 721.0, 722.0, 723.0, 724.0, 725.0, 726.0, 727.0, 728.0, 729.0, 730.0, 731.0, 732.0, 733.0, 734.0, 735.0, 736.0, 737.0, 738.0, 739.0, 740.0, 741.0, 742.0, 743.0, 744.0, 745.0, 746.0, 747.0, 748.0, 749.0, 750.0, 751.0, 752.0, 753.0, 754.0, 755.0, 756.0, 757.0, 758.0, 759.0, 760.0, 761.0, 762.0, 763.0, 764.0, 765.0, 766.0, 767.0, 768.0, 769.0, 770.0, 771.0, 772.0, 773.0, 774.0, 775.0, 776.0, 777.0, 778.0, 779.0, 780.0, 781.0, 782.0, 783.0, 784.0, 785.0, 786.0, 787.0, 788.0, 789.0, 790.0, 791.0, 792.0, 793.0, 794.0, 795.0, 796.0, 797.0, 798.0, 799.0, 800.0, 801.0, 802.0, 803.0, 804.0, 805.0, 806.0, 807.0, 808.0, 809.0, 810.0, 811.0, 812.0, 813.0, 814.0, 815.0, 816.0, 817.0, 818.0, 819.0, 820.0, 821.0, 822.0, 823.0, 824.0, 825.0, 826.0, 827.0, 828.0, 829.0, 830.0, 831.0, 832.0, 833.0, 834.0, 835.0, 836.0, 837.0, 838.0, 839.0, 840.0, 841.0, 842.0, 843.0, 844.0, 845.0, 846.0, 847.0, 848.0, 849.0, 850.0, 851.0, 852.0, 853.0, 854.0, 855.0, 856.0, 857.0, 858.0, 859.0, 860.0, 861.0, 862.0, 863.0, 864.0, 865.0, 866.0, 867.0, 868.0, 869.0, 870.0, 871.0, 872.0, 873.0, 874.0, 875.0, 876.0, 877.0, 878.0, 879.0, 880.0, 881.0, 882.0, 883.0, 884.0, 885.0, 886.0, 887.0, 888.0, 889.0, 890.0, 891.0]}, {\"name\": \"Survived\", \"type\": \"dimension\", \"values\": [\"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\"]}, {\"name\": \"Pclass\", \"type\": \"measure\", \"values\": [3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 1.0, 3.0, 2.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 1.0, 1.0, 2.0, 3.0, 2.0, 3.0, 3.0, 1.0, 1.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 2.0, 3.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 2.0, 1.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 2.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 2.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 2.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 1.0, 1.0, 2.0, 3.0, 3.0, 1.0, 1.0, 3.0, 2.0, 3.0, 3.0, 1.0, 1.0, 1.0, 3.0, 2.0, 1.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 1.0, 1.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 1.0, 1.0, 1.0, 2.0, 1.0, 1.0, 1.0, 2.0, 3.0, 2.0, 3.0, 2.0, 2.0, 1.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 3.0, 2.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 1.0, 2.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 1.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 2.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 1.0, 1.0, 3.0, 2.0, 1.0, 2.0, 2.0, 3.0, 3.0, 2.0, 3.0, 1.0, 2.0, 1.0, 3.0, 1.0, 2.0, 3.0, 1.0, 1.0, 3.0, 3.0, 1.0, 1.0, 2.0, 3.0, 1.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 2.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 1.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 2.0, 1.0, 3.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 2.0, 1.0, 1.0, 2.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 3.0, 3.0, 1.0, 1.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 3.0, 2.0, 1.0, 2.0, 1.0, 3.0, 1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 1.0, 2.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 2.0, 1.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 2.0, 1.0, 1.0, 3.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 1.0, 2.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0, 2.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 3.0, 2.0, 2.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 2.0, 2.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 1.0, 1.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 2.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 3.0, 3.0, 2.0, 1.0, 3.0, 1.0, 3.0]}, {\"name\": \"Name\", \"type\": \"dimension\", \"values\": [\"Braund, Mr. Owen Harris\", \"Cumings, Mrs. John Bradley (Florence Briggs Thayer)\", \"Heikkinen, Miss. Laina\", \"Futrelle, Mrs. Jacques Heath (Lily May Peel)\", \"Allen, Mr. William Henry\", \"Moran, Mr. James\", \"McCarthy, Mr. Timothy J\", \"Palsson, Master. Gosta Leonard\", \"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\", \"Nasser, Mrs. Nicholas (Adele Achem)\", \"Sandstrom, Miss. Marguerite Rut\", \"Bonnell, Miss. Elizabeth\", \"Saundercock, Mr. William Henry\", \"Andersson, Mr. Anders Johan\", \"Vestrom, Miss. Hulda Amanda Adolfina\", \"Hewlett, Mrs. (Mary D Kingcome) \", \"Rice, Master. Eugene\", \"Williams, Mr. Charles Eugene\", \"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)\", \"Masselmani, Mrs. Fatima\", \"Fynney, Mr. Joseph J\", \"Beesley, Mr. Lawrence\", \"McGowan, Miss. Anna \\\"Annie\\\"\", \"Sloper, Mr. William Thompson\", \"Palsson, Miss. Torborg Danira\", \"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)\", \"Emir, Mr. Farred Chehab\", \"Fortune, Mr. Charles Alexander\", \"O'Dwyer, Miss. Ellen \\\"Nellie\\\"\", \"Todoroff, Mr. Lalio\", \"Uruchurtu, Don. Manuel E\", \"Spencer, Mrs. William Augustus (Marie Eugenie)\", \"Glynn, Miss. Mary Agatha\", \"Wheadon, Mr. Edward H\", \"Meyer, Mr. Edgar Joseph\", \"Holverson, Mr. Alexander Oskar\", \"Mamee, Mr. Hanna\", \"Cann, Mr. Ernest Charles\", \"Vander Planke, Miss. Augusta Maria\", \"Nicola-Yarred, Miss. Jamila\", \"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)\", \"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)\", \"Kraeff, Mr. Theodor\", \"Laroche, Miss. Simonne Marie Anne Andree\", \"Devaney, Miss. Margaret Delia\", \"Rogers, Mr. William John\", \"Lennon, Mr. Denis\", \"O'Driscoll, Miss. Bridget\", \"Samaan, Mr. Youssef\", \"Arnold-Franchi, Mrs. Josef (Josefine Franchi)\", \"Panula, Master. Juha Niilo\", \"Nosworthy, Mr. Richard Cater\", \"Harper, Mrs. Henry Sleeper (Myna Haxtun)\", \"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)\", \"Ostby, Mr. Engelhart Cornelius\", \"Woolner, Mr. Hugh\", \"Rugg, Miss. Emily\", \"Novel, Mr. Mansouer\", \"West, Miss. Constance Mirium\", \"Goodwin, Master. William Frederick\", \"Sirayanian, Mr. Orsen\", \"Icard, Miss. Amelie\", \"Harris, Mr. Henry Birkhardt\", \"Skoog, Master. Harald\", \"Stewart, Mr. Albert A\", \"Moubarek, Master. Gerios\", \"Nye, Mrs. (Elizabeth Ramell)\", \"Crease, Mr. Ernest James\", \"Andersson, Miss. Erna Alexandra\", \"Kink, Mr. Vincenz\", \"Jenkin, Mr. Stephen Curnow\", \"Goodwin, Miss. Lillian Amy\", \"Hood, Mr. Ambrose Jr\", \"Chronopoulos, Mr. Apostolos\", \"Bing, Mr. Lee\", \"Moen, Mr. Sigurd Hansen\", \"Staneff, Mr. Ivan\", \"Moutal, Mr. Rahamin Haim\", \"Caldwell, Master. Alden Gates\", \"Dowdell, Miss. Elizabeth\", \"Waelens, Mr. Achille\", \"Sheerlinck, Mr. Jan Baptist\", \"McDermott, Miss. Brigdet Delia\", \"Carrau, Mr. Francisco M\", \"Ilett, Miss. Bertha\", \"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)\", \"Ford, Mr. William Neal\", \"Slocovski, Mr. Selman Francis\", \"Fortune, Miss. Mabel Helen\", \"Celotti, Mr. Francesco\", \"Christmann, Mr. Emil\", \"Andreasson, Mr. Paul Edvin\", \"Chaffee, Mr. Herbert Fuller\", \"Dean, Mr. Bertram Frank\", \"Coxon, Mr. Daniel\", \"Shorney, Mr. Charles Joseph\", \"Goldschmidt, Mr. George B\", \"Greenfield, Mr. William Bertram\", \"Doling, Mrs. John T (Ada Julia Bone)\", \"Kantor, Mr. Sinai\", \"Petranec, Miss. Matilda\", \"Petroff, Mr. Pastcho (\\\"Pentcho\\\")\", \"White, Mr. Richard Frasar\", \"Johansson, Mr. Gustaf Joel\", \"Gustafsson, Mr. Anders Vilhelm\", \"Mionoff, Mr. Stoytcho\", \"Salkjelsvik, Miss. Anna Kristine\", \"Moss, Mr. Albert Johan\", \"Rekic, Mr. Tido\", \"Moran, Miss. Bertha\", \"Porter, Mr. Walter Chamberlain\", \"Zabour, Miss. Hileni\", \"Barton, Mr. David John\", \"Jussila, Miss. Katriina\", \"Attalah, Miss. Malake\", \"Pekoniemi, Mr. Edvard\", \"Connors, Mr. Patrick\", \"Turpin, Mr. William John Robert\", \"Baxter, Mr. Quigg Edmond\", \"Andersson, Miss. Ellis Anna Maria\", \"Hickman, Mr. Stanley George\", \"Moore, Mr. Leonard Charles\", \"Nasser, Mr. Nicholas\", \"Webber, Miss. Susan\", \"White, Mr. Percival Wayland\", \"Nicola-Yarred, Master. Elias\", \"McMahon, Mr. Martin\", \"Madsen, Mr. Fridtjof Arne\", \"Peter, Miss. Anna\", \"Ekstrom, Mr. Johan\", \"Drazenoic, Mr. Jozef\", \"Coelho, Mr. Domingos Fernandeo\", \"Robins, Mrs. Alexander A (Grace Charity Laury)\", \"Weisz, Mrs. Leopold (Mathilde Francoise Pede)\", \"Sobey, Mr. Samuel James Hayden\", \"Richard, Mr. Emile\", \"Newsom, Miss. Helen Monypeny\", \"Futrelle, Mr. Jacques Heath\", \"Osen, Mr. Olaf Elon\", \"Giglio, Mr. Victor\", \"Boulos, Mrs. Joseph (Sultana)\", \"Nysten, Miss. Anna Sofia\", \"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)\", \"Burke, Mr. Jeremiah\", \"Andrew, Mr. Edgardo Samuel\", \"Nicholls, Mr. Joseph Charles\", \"Andersson, Mr. August Edvard (\\\"Wennerstrom\\\")\", \"Ford, Miss. Robina Maggie \\\"Ruby\\\"\", \"Navratil, Mr. Michel (\\\"Louis M Hoffman\\\")\", \"Byles, Rev. Thomas Roussel Davids\", \"Bateman, Rev. Robert James\", \"Pears, Mrs. Thomas (Edith Wearne)\", \"Meo, Mr. Alfonzo\", \"van Billiard, Mr. Austin Blyler\", \"Olsen, Mr. Ole Martin\", \"Williams, Mr. Charles Duane\", \"Gilnagh, Miss. Katherine \\\"Katie\\\"\", \"Corn, Mr. Harry\", \"Smiljanic, Mr. Mile\", \"Sage, Master. Thomas Henry\", \"Cribb, Mr. John Hatfield\", \"Watt, Mrs. James (Elizabeth \\\"Bessie\\\" Inglis Milne)\", \"Bengtsson, Mr. John Viktor\", \"Calic, Mr. Jovo\", \"Panula, Master. Eino Viljami\", \"Goldsmith, Master. Frank John William \\\"Frankie\\\"\", \"Chibnall, Mrs. (Edith Martha Bowerman)\", \"Skoog, Mrs. William (Anna Bernhardina Karlsson)\", \"Baumann, Mr. John D\", \"Ling, Mr. Lee\", \"Van der hoef, Mr. Wyckoff\", \"Rice, Master. Arthur\", \"Johnson, Miss. Eleanor Ileen\", \"Sivola, Mr. Antti Wilhelm\", \"Smith, Mr. James Clinch\", \"Klasen, Mr. Klas Albin\", \"Lefebre, Master. Henry Forbes\", \"Isham, Miss. Ann Elizabeth\", \"Hale, Mr. Reginald\", \"Leonard, Mr. Lionel\", \"Sage, Miss. Constance Gladys\", \"Pernot, Mr. Rene\", \"Asplund, Master. Clarence Gustaf Hugo\", \"Becker, Master. Richard F\", \"Kink-Heilmann, Miss. Luise Gretchen\", \"Rood, Mr. Hugh Roscoe\", \"O'Brien, Mrs. Thomas (Johanna \\\"Hannah\\\" Godfrey)\", \"Romaine, Mr. Charles Hallace (\\\"Mr C Rolmane\\\")\", \"Bourke, Mr. John\", \"Turcin, Mr. Stjepan\", \"Pinsky, Mrs. (Rosa)\", \"Carbines, Mr. William\", \"Andersen-Jensen, Miss. Carla Christine Nielsine\", \"Navratil, Master. Michel M\", \"Brown, Mrs. James Joseph (Margaret Tobin)\", \"Lurette, Miss. Elise\", \"Mernagh, Mr. Robert\", \"Olsen, Mr. Karl Siegwart Andreas\", \"Madigan, Miss. Margaret \\\"Maggie\\\"\", \"Yrois, Miss. Henriette (\\\"Mrs Harbeck\\\")\", \"Vande Walle, Mr. Nestor Cyriel\", \"Sage, Mr. Frederick\", \"Johanson, Mr. Jakob Alfred\", \"Youseff, Mr. Gerious\", \"Cohen, Mr. Gurshon \\\"Gus\\\"\", \"Strom, Miss. Telma Matilda\", \"Backstrom, Mr. Karl Alfred\", \"Albimona, Mr. Nassef Cassem\", \"Carr, Miss. Helen \\\"Ellen\\\"\", \"Blank, Mr. Henry\", \"Ali, Mr. Ahmed\", \"Cameron, Miss. Clear Annie\", \"Perkin, Mr. John Henry\", \"Givard, Mr. Hans Kristensen\", \"Kiernan, Mr. Philip\", \"Newell, Miss. Madeleine\", \"Honkanen, Miss. Eliina\", \"Jacobsohn, Mr. Sidney Samuel\", \"Bazzani, Miss. Albina\", \"Harris, Mr. Walter\", \"Sunderland, Mr. Victor Francis\", \"Bracken, Mr. James H\", \"Green, Mr. George Henry\", \"Nenkoff, Mr. Christo\", \"Hoyt, Mr. Frederick Maxfield\", \"Berglund, Mr. Karl Ivar Sven\", \"Mellors, Mr. William John\", \"Lovell, Mr. John Hall (\\\"Henry\\\")\", \"Fahlstrom, Mr. Arne Jonas\", \"Lefebre, Miss. Mathilde\", \"Harris, Mrs. Henry Birkhardt (Irene Wallach)\", \"Larsson, Mr. Bengt Edvin\", \"Sjostedt, Mr. Ernst Adolf\", \"Asplund, Miss. Lillian Gertrud\", \"Leyson, Mr. Robert William Norman\", \"Harknett, Miss. Alice Phoebe\", \"Hold, Mr. Stephen\", \"Collyer, Miss. Marjorie \\\"Lottie\\\"\", \"Pengelly, Mr. Frederick William\", \"Hunt, Mr. George Henry\", \"Zabour, Miss. Thamine\", \"Murphy, Miss. Katherine \\\"Kate\\\"\", \"Coleridge, Mr. Reginald Charles\", \"Maenpaa, Mr. Matti Alexanteri\", \"Attalah, Mr. Sleiman\", \"Minahan, Dr. William Edward\", \"Lindahl, Miss. Agda Thorilda Viktoria\", \"Hamalainen, Mrs. William (Anna)\", \"Beckwith, Mr. Richard Leonard\", \"Carter, Rev. Ernest Courtenay\", \"Reed, Mr. James George\", \"Strom, Mrs. Wilhelm (Elna Matilda Persson)\", \"Stead, Mr. William Thomas\", \"Lobb, Mr. William Arthur\", \"Rosblom, Mrs. Viktor (Helena Wilhelmina)\", \"Touma, Mrs. Darwis (Hanne Youssef Razi)\", \"Thorne, Mrs. Gertrude Maybelle\", \"Cherry, Miss. Gladys\", \"Ward, Miss. Anna\", \"Parrish, Mrs. (Lutie Davis)\", \"Smith, Mr. Thomas\", \"Asplund, Master. Edvin Rojj Felix\", \"Taussig, Mr. Emil\", \"Harrison, Mr. William\", \"Henry, Miss. Delia\", \"Reeves, Mr. David\", \"Panula, Mr. Ernesti Arvid\", \"Persson, Mr. Ernst Ulrik\", \"Graham, Mrs. William Thompson (Edith Junkins)\", \"Bissette, Miss. Amelia\", \"Cairns, Mr. Alexander\", \"Tornquist, Mr. William Henry\", \"Mellinger, Mrs. (Elizabeth Anne Maidment)\", \"Natsch, Mr. Charles H\", \"Healy, Miss. Hanora \\\"Nora\\\"\", \"Andrews, Miss. Kornelia Theodosia\", \"Lindblom, Miss. Augusta Charlotta\", \"Parkes, Mr. Francis \\\"Frank\\\"\", \"Rice, Master. Eric\", \"Abbott, Mrs. Stanton (Rosa Hunt)\", \"Duane, Mr. Frank\", \"Olsson, Mr. Nils Johan Goransson\", \"de Pelsmaeker, Mr. Alfons\", \"Dorking, Mr. Edward Arthur\", \"Smith, Mr. Richard William\", \"Stankovic, Mr. Ivan\", \"de Mulder, Mr. Theodore\", \"Naidenoff, Mr. Penko\", \"Hosono, Mr. Masabumi\", \"Connolly, Miss. Kate\", \"Barber, Miss. Ellen \\\"Nellie\\\"\", \"Bishop, Mrs. Dickinson H (Helen Walton)\", \"Levy, Mr. Rene Jacques\", \"Haas, Miss. Aloisia\", \"Mineff, Mr. Ivan\", \"Lewy, Mr. Ervin G\", \"Hanna, Mr. Mansour\", \"Allison, Miss. Helen Loraine\", \"Saalfeld, Mr. Adolphe\", \"Baxter, Mrs. James (Helene DeLaudeniere Chaput)\", \"Kelly, Miss. Anna Katherine \\\"Annie Kate\\\"\", \"McCoy, Mr. Bernard\", \"Johnson, Mr. William Cahoone Jr\", \"Keane, Miss. Nora A\", \"Williams, Mr. Howard Hugh \\\"Harry\\\"\", \"Allison, Master. Hudson Trevor\", \"Fleming, Miss. Margaret\", \"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)\", \"Abelson, Mr. Samuel\", \"Francatelli, Miss. Laura Mabel\", \"Hays, Miss. Margaret Bechstein\", \"Ryerson, Miss. Emily Borie\", \"Lahtinen, Mrs. William (Anna Sylfven)\", \"Hendekovic, Mr. Ignjac\", \"Hart, Mr. Benjamin\", \"Nilsson, Miss. Helmina Josefina\", \"Kantor, Mrs. Sinai (Miriam Sternin)\", \"Moraweck, Dr. Ernest\", \"Wick, Miss. Mary Natalie\", \"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)\", \"Dennis, Mr. Samuel\", \"Danoff, Mr. Yoto\", \"Slayter, Miss. Hilda Mary\", \"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)\", \"Sage, Mr. George John Jr\", \"Young, Miss. Marie Grice\", \"Nysveen, Mr. Johan Hansen\", \"Ball, Mrs. (Ada E Hall)\", \"Goldsmith, Mrs. Frank John (Emily Alice Brown)\", \"Hippach, Miss. Jean Gertrude\", \"McCoy, Miss. Agnes\", \"Partner, Mr. Austen\", \"Graham, Mr. George Edward\", \"Vander Planke, Mr. Leo Edmondus\", \"Frauenthal, Mrs. Henry William (Clara Heinsheimer)\", \"Denkoff, Mr. Mitto\", \"Pears, Mr. Thomas Clinton\", \"Burns, Miss. Elizabeth Margaret\", \"Dahl, Mr. Karl Edwart\", \"Blackwell, Mr. Stephen Weart\", \"Navratil, Master. Edmond Roger\", \"Fortune, Miss. Alice Elizabeth\", \"Collander, Mr. Erik Gustaf\", \"Sedgwick, Mr. Charles Frederick Waddington\", \"Fox, Mr. Stanley Hubert\", \"Brown, Miss. Amelia \\\"Mildred\\\"\", \"Smith, Miss. Marion Elsie\", \"Davison, Mrs. Thomas Henry (Mary E Finck)\", \"Coutts, Master. William Loch \\\"William\\\"\", \"Dimic, Mr. Jovan\", \"Odahl, Mr. Nils Martin\", \"Williams-Lambert, Mr. Fletcher Fellows\", \"Elias, Mr. Tannous\", \"Arnold-Franchi, Mr. Josef\", \"Yousif, Mr. Wazli\", \"Vanden Steen, Mr. Leo Peter\", \"Bowerman, Miss. Elsie Edith\", \"Funk, Miss. Annie Clemmer\", \"McGovern, Miss. Mary\", \"Mockler, Miss. Helen Mary \\\"Ellie\\\"\", \"Skoog, Mr. Wilhelm\", \"del Carlo, Mr. Sebastiano\", \"Barbara, Mrs. (Catherine David)\", \"Asim, Mr. Adola\", \"O'Brien, Mr. Thomas\", \"Adahl, Mr. Mauritz Nils Martin\", \"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)\", \"Moussa, Mrs. (Mantoura Boulos)\", \"Jermyn, Miss. Annie\", \"Aubart, Mme. Leontine Pauline\", \"Harder, Mr. George Achilles\", \"Wiklund, Mr. Jakob Alfred\", \"Beavan, Mr. William Thomas\", \"Ringhini, Mr. Sante\", \"Palsson, Miss. Stina Viola\", \"Meyer, Mrs. Edgar Joseph (Leila Saks)\", \"Landergren, Miss. Aurora Adelia\", \"Widener, Mr. Harry Elkins\", \"Betros, Mr. Tannous\", \"Gustafsson, Mr. Karl Gideon\", \"Bidois, Miss. Rosalie\", \"Nakid, Miss. Maria (\\\"Mary\\\")\", \"Tikkanen, Mr. Juho\", \"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)\", \"Plotcharsky, Mr. Vasil\", \"Davies, Mr. Charles Henry\", \"Goodwin, Master. Sidney Leonard\", \"Buss, Miss. Kate\", \"Sadlier, Mr. Matthew\", \"Lehmann, Miss. Bertha\", \"Carter, Mr. William Ernest\", \"Jansson, Mr. Carl Olof\", \"Gustafsson, Mr. Johan Birger\", \"Newell, Miss. Marjorie\", \"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)\", \"Johansson, Mr. Erik\", \"Olsson, Miss. Elina\", \"McKane, Mr. Peter David\", \"Pain, Dr. Alfred\", \"Trout, Mrs. William H (Jessie L)\", \"Niskanen, Mr. Juha\", \"Adams, Mr. John\", \"Jussila, Miss. Mari Aina\", \"Hakkarainen, Mr. Pekka Pietari\", \"Oreskovic, Miss. Marija\", \"Gale, Mr. Shadrach\", \"Widegren, Mr. Carl/Charles Peter\", \"Richards, Master. William Rowe\", \"Birkeland, Mr. Hans Martin Monsen\", \"Lefebre, Miss. Ida\", \"Sdycoff, Mr. Todor\", \"Hart, Mr. Henry\", \"Minahan, Miss. Daisy E\", \"Cunningham, Mr. Alfred Fleming\", \"Sundman, Mr. Johan Julian\", \"Meek, Mrs. Thomas (Annie Louise Rowley)\", \"Drew, Mrs. James Vivian (Lulu Thorne Christian)\", \"Silven, Miss. Lyyli Karoliina\", \"Matthews, Mr. William John\", \"Van Impe, Miss. Catharina\", \"Gheorgheff, Mr. Stanio\", \"Charters, Mr. David\", \"Zimmerman, Mr. Leo\", \"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)\", \"Rosblom, Mr. Viktor Richard\", \"Wiseman, Mr. Phillippe\", \"Clarke, Mrs. Charles V (Ada Maria Winfield)\", \"Phillips, Miss. Kate Florence (\\\"Mrs Kate Louise Phillips Marshall\\\")\", \"Flynn, Mr. James\", \"Pickard, Mr. Berk (Berk Trembisky)\", \"Bjornstrom-Steffansson, Mr. Mauritz Hakan\", \"Thorneycroft, Mrs. Percival (Florence Kate White)\", \"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)\", \"Kallio, Mr. Nikolai Erland\", \"Silvey, Mr. William Baird\", \"Carter, Miss. Lucile Polk\", \"Ford, Miss. Doolina Margaret \\\"Daisy\\\"\", \"Richards, Mrs. Sidney (Emily Hocking)\", \"Fortune, Mr. Mark\", \"Kvillner, Mr. Johan Henrik Johannesson\", \"Hart, Mrs. Benjamin (Esther Ada Bloomfield)\", \"Hampe, Mr. Leon\", \"Petterson, Mr. Johan Emil\", \"Reynaldo, Ms. Encarnacion\", \"Johannesen-Bratthammer, Mr. Bernt\", \"Dodge, Master. Washington\", \"Mellinger, Miss. Madeleine Violet\", \"Seward, Mr. Frederic Kimber\", \"Baclini, Miss. Marie Catherine\", \"Peuchen, Major. Arthur Godfrey\", \"West, Mr. Edwy Arthur\", \"Hagland, Mr. Ingvald Olai Olsen\", \"Foreman, Mr. Benjamin Laventall\", \"Goldenberg, Mr. Samuel L\", \"Peduzzi, Mr. Joseph\", \"Jalsevac, Mr. Ivan\", \"Millet, Mr. Francis Davis\", \"Kenyon, Mrs. Frederick R (Marion)\", \"Toomey, Miss. Ellen\", \"O'Connor, Mr. Maurice\", \"Anderson, Mr. Harry\", \"Morley, Mr. William\", \"Gee, Mr. Arthur H\", \"Milling, Mr. Jacob Christian\", \"Maisner, Mr. Simon\", \"Goncalves, Mr. Manuel Estanslas\", \"Campbell, Mr. William\", \"Smart, Mr. John Montgomery\", \"Scanlan, Mr. James\", \"Baclini, Miss. Helene Barbara\", \"Keefe, Mr. Arthur\", \"Cacic, Mr. Luka\", \"West, Mrs. Edwy Arthur (Ada Mary Worth)\", \"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)\", \"Strandberg, Miss. Ida Sofia\", \"Clifford, Mr. George Quincy\", \"Renouf, Mr. Peter Henry\", \"Braund, Mr. Lewis Richard\", \"Karlsson, Mr. Nils August\", \"Hirvonen, Miss. Hildur E\", \"Goodwin, Master. Harold Victor\", \"Frost, Mr. Anthony Wood \\\"Archie\\\"\", \"Rouse, Mr. Richard Henry\", \"Turkula, Mrs. (Hedwig)\", \"Bishop, Mr. Dickinson H\", \"Lefebre, Miss. Jeannie\", \"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)\", \"Kent, Mr. Edward Austin\", \"Somerton, Mr. Francis William\", \"Coutts, Master. Eden Leslie \\\"Neville\\\"\", \"Hagland, Mr. Konrad Mathias Reiersen\", \"Windelov, Mr. Einar\", \"Molson, Mr. Harry Markland\", \"Artagaveytia, Mr. Ramon\", \"Stanley, Mr. Edward Roland\", \"Yousseff, Mr. Gerious\", \"Eustis, Miss. Elizabeth Mussey\", \"Shellard, Mr. Frederick William\", \"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\", \"Svensson, Mr. Olof\", \"Calic, Mr. Petar\", \"Canavan, Miss. Mary\", \"O'Sullivan, Miss. Bridget Mary\", \"Laitinen, Miss. Kristina Sofia\", \"Maioni, Miss. Roberta\", \"Penasco y Castellana, Mr. Victor de Satode\", \"Quick, Mrs. Frederick Charles (Jane Richards)\", \"Bradley, Mr. George (\\\"George Arthur Brayton\\\")\", \"Olsen, Mr. Henry Margido\", \"Lang, Mr. Fang\", \"Daly, Mr. Eugene Patrick\", \"Webber, Mr. James\", \"McGough, Mr. James Robert\", \"Rothschild, Mrs. Martin (Elizabeth L. Barrett)\", \"Coleff, Mr. Satio\", \"Walker, Mr. William Anderson\", \"Lemore, Mrs. (Amelia Milley)\", \"Ryan, Mr. Patrick\", \"Angle, Mrs. William A (Florence \\\"Mary\\\" Agnes Hughes)\", \"Pavlovic, Mr. Stefo\", \"Perreault, Miss. Anne\", \"Vovk, Mr. Janko\", \"Lahoud, Mr. Sarkis\", \"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)\", \"Kassem, Mr. Fared\", \"Farrell, Mr. James\", \"Ridsdale, Miss. Lucy\", \"Farthing, Mr. John\", \"Salonen, Mr. Johan Werner\", \"Hocking, Mr. Richard George\", \"Quick, Miss. Phyllis May\", \"Toufik, Mr. Nakli\", \"Elias, Mr. Joseph Jr\", \"Peter, Mrs. Catherine (Catherine Rizk)\", \"Cacic, Miss. Marija\", \"Hart, Miss. Eva Miriam\", \"Butt, Major. Archibald Willingham\", \"LeRoy, Miss. Bertha\", \"Risien, Mr. Samuel Beard\", \"Frolicher, Miss. Hedwig Margaritha\", \"Crosby, Miss. Harriet R\", \"Andersson, Miss. Ingeborg Constanzia\", \"Andersson, Miss. Sigrid Elisabeth\", \"Beane, Mr. Edward\", \"Douglas, Mr. Walter Donald\", \"Nicholson, Mr. Arthur Ernest\", \"Beane, Mrs. Edward (Ethel Clarke)\", \"Padro y Manent, Mr. Julian\", \"Goldsmith, Mr. Frank John\", \"Davies, Master. John Morgan Jr\", \"Thayer, Mr. John Borland Jr\", \"Sharp, Mr. Percival James R\", \"O'Brien, Mr. Timothy\", \"Leeni, Mr. Fahim (\\\"Philip Zenni\\\")\", \"Ohman, Miss. Velin\", \"Wright, Mr. George\", \"Duff Gordon, Lady. (Lucille Christiana Sutherland) (\\\"Mrs Morgan\\\")\", \"Robbins, Mr. Victor\", \"Taussig, Mrs. Emil (Tillie Mandelbaum)\", \"de Messemaeker, Mrs. Guillaume Joseph (Emma)\", \"Morrow, Mr. Thomas Rowan\", \"Sivic, Mr. Husein\", \"Norman, Mr. Robert Douglas\", \"Simmons, Mr. John\", \"Meanwell, Miss. (Marion Ogden)\", \"Davies, Mr. Alfred J\", \"Stoytcheff, Mr. Ilia\", \"Palsson, Mrs. Nils (Alma Cornelia Berglund)\", \"Doharr, Mr. Tannous\", \"Jonsson, Mr. Carl\", \"Harris, Mr. George\", \"Appleton, Mrs. Edward Dale (Charlotte Lamson)\", \"Flynn, Mr. John Irwin (\\\"Irving\\\")\", \"Kelly, Miss. Mary\", \"Rush, Mr. Alfred George John\", \"Patchett, Mr. George\", \"Garside, Miss. Ethel\", \"Silvey, Mrs. William Baird (Alice Munger)\", \"Caram, Mrs. Joseph (Maria Elias)\", \"Jussila, Mr. Eiriik\", \"Christy, Miss. Julie Rachel\", \"Thayer, Mrs. John Borland (Marian Longstreth Morris)\", \"Downton, Mr. William James\", \"Ross, Mr. John Hugo\", \"Paulner, Mr. Uscher\", \"Taussig, Miss. Ruth\", \"Jarvis, Mr. John Denzil\", \"Frolicher-Stehli, Mr. Maxmillian\", \"Gilinski, Mr. Eliezer\", \"Murdlin, Mr. Joseph\", \"Rintamaki, Mr. Matti\", \"Stephenson, Mrs. Walter Bertram (Martha Eustis)\", \"Elsbury, Mr. William James\", \"Bourke, Miss. Mary\", \"Chapman, Mr. John Henry\", \"Van Impe, Mr. Jean Baptiste\", \"Leitch, Miss. Jessie Wills\", \"Johnson, Mr. Alfred\", \"Boulos, Mr. Hanna\", \"Duff Gordon, Sir. Cosmo Edmund (\\\"Mr Morgan\\\")\", \"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)\", \"Slabenoff, Mr. Petco\", \"Harrington, Mr. Charles H\", \"Torber, Mr. Ernst William\", \"Homer, Mr. Harry (\\\"Mr E Haven\\\")\", \"Lindell, Mr. Edvard Bengtsson\", \"Karaic, Mr. Milan\", \"Daniel, Mr. Robert Williams\", \"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)\", \"Shutes, Miss. Elizabeth W\", \"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)\", \"Jardin, Mr. Jose Neto\", \"Murphy, Miss. Margaret Jane\", \"Horgan, Mr. John\", \"Brocklebank, Mr. William Alfred\", \"Herman, Miss. Alice\", \"Danbom, Mr. Ernst Gilbert\", \"Lobb, Mrs. William Arthur (Cordelia K Stanlick)\", \"Becker, Miss. Marion Louise\", \"Gavey, Mr. Lawrence\", \"Yasbeck, Mr. Antoni\", \"Kimball, Mr. Edwin Nelson Jr\", \"Nakid, Mr. Sahid\", \"Hansen, Mr. Henry Damsgaard\", \"Bowen, Mr. David John \\\"Dai\\\"\", \"Sutton, Mr. Frederick\", \"Kirkland, Rev. Charles Leonard\", \"Longley, Miss. Gretchen Fiske\", \"Bostandyeff, Mr. Guentcho\", \"O'Connell, Mr. Patrick D\", \"Barkworth, Mr. Algernon Henry Wilson\", \"Lundahl, Mr. Johan Svensson\", \"Stahelin-Maeglin, Dr. Max\", \"Parr, Mr. William Henry Marsh\", \"Skoog, Miss. Mabel\", \"Davis, Miss. Mary\", \"Leinonen, Mr. Antti Gustaf\", \"Collyer, Mr. Harvey\", \"Panula, Mrs. Juha (Maria Emilia Ojala)\", \"Thorneycroft, Mr. Percival\", \"Jensen, Mr. Hans Peder\", \"Sagesser, Mlle. Emma\", \"Skoog, Miss. Margit Elizabeth\", \"Foo, Mr. Choong\", \"Baclini, Miss. Eugenie\", \"Harper, Mr. Henry Sleeper\", \"Cor, Mr. Liudevit\", \"Simonius-Blumer, Col. Oberst Alfons\", \"Willey, Mr. Edward\", \"Stanley, Miss. Amy Zillah Elsie\", \"Mitkoff, Mr. Mito\", \"Doling, Miss. Elsie\", \"Kalvik, Mr. Johannes Halvorsen\", \"O'Leary, Miss. Hanora \\\"Norah\\\"\", \"Hegarty, Miss. Hanora \\\"Nora\\\"\", \"Hickman, Mr. Leonard Mark\", \"Radeff, Mr. Alexander\", \"Bourke, Mrs. John (Catherine)\", \"Eitemiller, Mr. George Floyd\", \"Newell, Mr. Arthur Webster\", \"Frauenthal, Dr. Henry William\", \"Badt, Mr. Mohamed\", \"Colley, Mr. Edward Pomeroy\", \"Coleff, Mr. Peju\", \"Lindqvist, Mr. Eino William\", \"Hickman, Mr. Lewis\", \"Butler, Mr. Reginald Fenton\", \"Rommetvedt, Mr. Knud Paust\", \"Cook, Mr. Jacob\", \"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)\", \"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)\", \"Davidson, Mr. Thornton\", \"Mitchell, Mr. Henry Michael\", \"Wilhelms, Mr. Charles\", \"Watson, Mr. Ennis Hastings\", \"Edvardsson, Mr. Gustaf Hjalmar\", \"Sawyer, Mr. Frederick Charles\", \"Turja, Miss. Anna Sofia\", \"Goodwin, Mrs. Frederick (Augusta Tyler)\", \"Cardeza, Mr. Thomas Drake Martinez\", \"Peters, Miss. Katie\", \"Hassab, Mr. Hammad\", \"Olsvigen, Mr. Thor Anderson\", \"Goodwin, Mr. Charles Edward\", \"Brown, Mr. Thomas William Solomon\", \"Laroche, Mr. Joseph Philippe Lemercier\", \"Panula, Mr. Jaako Arnold\", \"Dakic, Mr. Branko\", \"Fischer, Mr. Eberhard Thelander\", \"Madill, Miss. Georgette Alexandra\", \"Dick, Mr. Albert Adrian\", \"Karun, Miss. Manca\", \"Lam, Mr. Ali\", \"Saad, Mr. Khalil\", \"Weir, Col. John\", \"Chapman, Mr. Charles Henry\", \"Kelly, Mr. James\", \"Mullens, Miss. Katherine \\\"Katie\\\"\", \"Thayer, Mr. John Borland\", \"Humblen, Mr. Adolf Mathias Nicolai Olsen\", \"Astor, Mrs. John Jacob (Madeleine Talmadge Force)\", \"Silverthorne, Mr. Spencer Victor\", \"Barbara, Miss. Saiide\", \"Gallagher, Mr. Martin\", \"Hansen, Mr. Henrik Juul\", \"Morley, Mr. Henry Samuel (\\\"Mr Henry Marshall\\\")\", \"Kelly, Mrs. Florence \\\"Fannie\\\"\", \"Calderhead, Mr. Edward Pennington\", \"Cleaver, Miss. Alice\", \"Moubarek, Master. Halim Gonios (\\\"William George\\\")\", \"Mayne, Mlle. Berthe Antonine (\\\"Mrs de Villiers\\\")\", \"Klaber, Mr. Herman\", \"Taylor, Mr. Elmer Zebley\", \"Larsson, Mr. August Viktor\", \"Greenberg, Mr. Samuel\", \"Soholt, Mr. Peter Andreas Lauritz Andersen\", \"Endres, Miss. Caroline Louise\", \"Troutt, Miss. Edwina Celia \\\"Winnie\\\"\", \"McEvoy, Mr. Michael\", \"Johnson, Mr. Malkolm Joackim\", \"Harper, Miss. Annie Jessie \\\"Nina\\\"\", \"Jensen, Mr. Svend Lauritz\", \"Gillespie, Mr. William Henry\", \"Hodges, Mr. Henry Price\", \"Chambers, Mr. Norman Campbell\", \"Oreskovic, Mr. Luka\", \"Renouf, Mrs. Peter Henry (Lillian Jefferys)\", \"Mannion, Miss. Margareth\", \"Bryhl, Mr. Kurt Arnold Gottfrid\", \"Ilmakangas, Miss. Pieta Sofia\", \"Allen, Miss. Elisabeth Walton\", \"Hassan, Mr. Houssein G N\", \"Knight, Mr. Robert J\", \"Berriman, Mr. William John\", \"Troupiansky, Mr. Moses Aaron\", \"Williams, Mr. Leslie\", \"Ford, Mrs. Edward (Margaret Ann Watson)\", \"Lesurer, Mr. Gustave J\", \"Ivanoff, Mr. Kanio\", \"Nankoff, Mr. Minko\", \"Hawksford, Mr. Walter James\", \"Cavendish, Mr. Tyrell William\", \"Ryerson, Miss. Susan Parker \\\"Suzette\\\"\", \"McNamee, Mr. Neal\", \"Stranden, Mr. Juho\", \"Crosby, Capt. Edward Gifford\", \"Abbott, Mr. Rossmore Edward\", \"Sinkkonen, Miss. Anna\", \"Marvin, Mr. Daniel Warner\", \"Connaghton, Mr. Michael\", \"Wells, Miss. Joan\", \"Moor, Master. Meier\", \"Vande Velde, Mr. Johannes Joseph\", \"Jonkoff, Mr. Lalio\", \"Herman, Mrs. Samuel (Jane Laver)\", \"Hamalainen, Master. Viljo\", \"Carlsson, Mr. August Sigfrid\", \"Bailey, Mr. Percy Andrew\", \"Theobald, Mr. Thomas Leonard\", \"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)\", \"Garfirth, Mr. John\", \"Nirva, Mr. Iisakki Antino Aijo\", \"Barah, Mr. Hanna Assi\", \"Carter, Mrs. William Ernest (Lucile Polk)\", \"Eklund, Mr. Hans Linus\", \"Hogeboom, Mrs. John C (Anna Andrews)\", \"Brewe, Dr. Arthur Jackson\", \"Mangan, Miss. Mary\", \"Moran, Mr. Daniel J\", \"Gronnestad, Mr. Daniel Danielsen\", \"Lievens, Mr. Rene Aime\", \"Jensen, Mr. Niels Peder\", \"Mack, Mrs. (Mary)\", \"Elias, Mr. Dibo\", \"Hocking, Mrs. Elizabeth (Eliza Needs)\", \"Myhrman, Mr. Pehr Fabian Oliver Malkolm\", \"Tobin, Mr. Roger\", \"Emanuel, Miss. Virginia Ethel\", \"Kilgannon, Mr. Thomas J\", \"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)\", \"Ayoub, Miss. Banoura\", \"Dick, Mrs. Albert Adrian (Vera Gillespie)\", \"Long, Mr. Milton Clyde\", \"Johnston, Mr. Andrew G\", \"Ali, Mr. William\", \"Harmer, Mr. Abraham (David Lishin)\", \"Sjoblom, Miss. Anna Sofia\", \"Rice, Master. George Hugh\", \"Dean, Master. Bertram Vere\", \"Guggenheim, Mr. Benjamin\", \"Keane, Mr. Andrew \\\"Andy\\\"\", \"Gaskell, Mr. Alfred\", \"Sage, Miss. Stella Anna\", \"Hoyt, Mr. William Fisher\", \"Dantcheff, Mr. Ristiu\", \"Otter, Mr. Richard\", \"Leader, Dr. Alice (Farnham)\", \"Osman, Mrs. Mara\", \"Ibrahim Shawah, Mr. Yousseff\", \"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)\", \"Ponesell, Mr. Martin\", \"Collyer, Mrs. Harvey (Charlotte Annie Tate)\", \"Carter, Master. William Thornton II\", \"Thomas, Master. Assad Alexander\", \"Hedman, Mr. Oskar Arvid\", \"Johansson, Mr. Karl Johan\", \"Andrews, Mr. Thomas Jr\", \"Pettersson, Miss. Ellen Natalia\", \"Meyer, Mr. August\", \"Chambers, Mrs. Norman Campbell (Bertha Griggs)\", \"Alexander, Mr. William\", \"Lester, Mr. James\", \"Slemen, Mr. Richard James\", \"Andersson, Miss. Ebba Iris Alfrida\", \"Tomlin, Mr. Ernest Portage\", \"Fry, Mr. Richard\", \"Heininen, Miss. Wendla Maria\", \"Mallet, Mr. Albert\", \"Holm, Mr. John Fredrik Alexander\", \"Skoog, Master. Karl Thorsten\", \"Hays, Mrs. Charles Melville (Clara Jennings Gregg)\", \"Lulic, Mr. Nikola\", \"Reuchlin, Jonkheer. John George\", \"Moor, Mrs. (Beila)\", \"Panula, Master. Urho Abraham\", \"Flynn, Mr. John\", \"Lam, Mr. Len\", \"Mallet, Master. Andre\", \"McCormack, Mr. Thomas Joseph\", \"Stone, Mrs. George Nelson (Martha Evelyn)\", \"Yasbeck, Mrs. Antoni (Selini Alexander)\", \"Richards, Master. George Sibley\", \"Saad, Mr. Amin\", \"Augustsson, Mr. Albert\", \"Allum, Mr. Owen George\", \"Compton, Miss. Sara Rebecca\", \"Pasic, Mr. Jakob\", \"Sirota, Mr. Maurice\", \"Chip, Mr. Chang\", \"Marechal, Mr. Pierre\", \"Alhomaki, Mr. Ilmari Rudolf\", \"Mudd, Mr. Thomas Charles\", \"Serepeca, Miss. Augusta\", \"Lemberopolous, Mr. Peter L\", \"Culumovic, Mr. Jeso\", \"Abbing, Mr. Anthony\", \"Sage, Mr. Douglas Bullen\", \"Markoff, Mr. Marin\", \"Harper, Rev. John\", \"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)\", \"Andersson, Master. Sigvard Harald Elias\", \"Svensson, Mr. Johan\", \"Boulos, Miss. Nourelain\", \"Lines, Miss. Mary Conover\", \"Carter, Mrs. Ernest Courtenay (Lilian Hughes)\", \"Aks, Mrs. Sam (Leah Rosen)\", \"Wick, Mrs. George Dennick (Mary Hitchcock)\", \"Daly, Mr. Peter Denis \", \"Baclini, Mrs. Solomon (Latifa Qurban)\", \"Razi, Mr. Raihed\", \"Hansen, Mr. Claus Peter\", \"Giles, Mr. Frederick Edward\", \"Swift, Mrs. Frederick Joel (Margaret Welles Barron)\", \"Sage, Miss. Dorothy Edith \\\"Dolly\\\"\", \"Gill, Mr. John William\", \"Bystrom, Mrs. (Karolina)\", \"Duran y More, Miss. Asuncion\", \"Roebling, Mr. Washington Augustus II\", \"van Melkebeke, Mr. Philemon\", \"Johnson, Master. Harold Theodor\", \"Balkic, Mr. Cerin\", \"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)\", \"Carlsson, Mr. Frans Olof\", \"Vander Cruyssen, Mr. Victor\", \"Abelson, Mrs. Samuel (Hannah Wizosky)\", \"Najib, Miss. Adele Kiamie \\\"Jane\\\"\", \"Gustafsson, Mr. Alfred Ossian\", \"Petroff, Mr. Nedelio\", \"Laleff, Mr. Kristo\", \"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)\", \"Shelley, Mrs. William (Imanita Parrish Hall)\", \"Markun, Mr. Johann\", \"Dahlberg, Miss. Gerda Ulrika\", \"Banfield, Mr. Frederick James\", \"Sutehall, Mr. Henry Jr\", \"Rice, Mrs. William (Margaret Norton)\", \"Montvila, Rev. Juozas\", \"Graham, Miss. Margaret Edith\", \"Johnston, Miss. Catherine Helen \\\"Carrie\\\"\", \"Behr, Mr. Karl Howell\", \"Dooley, Mr. Patrick\"]}, {\"name\": \"Sex\", \"type\": \"dimension\", \"values\": [\"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\"]}, {\"name\": \"Age\", \"type\": \"measure\", \"values\": [22.0, 38.0, 26.0, 35.0, 35.0, 0.0, 54.0, 2.0, 27.0, 14.0, 4.0, 58.0, 20.0, 39.0, 14.0, 55.0, 2.0, 0.0, 31.0, 0.0, 35.0, 34.0, 15.0, 28.0, 8.0, 38.0, 0.0, 19.0, 0.0, 0.0, 40.0, 0.0, 0.0, 66.0, 28.0, 42.0, 0.0, 21.0, 18.0, 14.0, 40.0, 27.0, 0.0, 3.0, 19.0, 0.0, 0.0, 0.0, 0.0, 18.0, 7.0, 21.0, 49.0, 29.0, 65.0, 0.0, 21.0, 28.5, 5.0, 11.0, 22.0, 38.0, 45.0, 4.0, 0.0, 0.0, 29.0, 19.0, 17.0, 26.0, 32.0, 16.0, 21.0, 26.0, 32.0, 25.0, 0.0, 0.0, 0.83, 30.0, 22.0, 29.0, 0.0, 28.0, 17.0, 33.0, 16.0, 0.0, 23.0, 24.0, 29.0, 20.0, 46.0, 26.0, 59.0, 0.0, 71.0, 23.0, 34.0, 34.0, 28.0, 0.0, 21.0, 33.0, 37.0, 28.0, 21.0, 0.0, 38.0, 0.0, 47.0, 14.5, 22.0, 20.0, 17.0, 21.0, 70.5, 29.0, 24.0, 2.0, 21.0, 0.0, 32.5, 32.5, 54.0, 12.0, 0.0, 24.0, 0.0, 45.0, 33.0, 20.0, 47.0, 29.0, 25.0, 23.0, 19.0, 37.0, 16.0, 24.0, 0.0, 22.0, 24.0, 19.0, 18.0, 19.0, 27.0, 9.0, 36.5, 42.0, 51.0, 22.0, 55.5, 40.5, 0.0, 51.0, 16.0, 30.0, 0.0, 0.0, 44.0, 40.0, 26.0, 17.0, 1.0, 9.0, 0.0, 45.0, 0.0, 28.0, 61.0, 4.0, 1.0, 21.0, 56.0, 18.0, 0.0, 50.0, 30.0, 36.0, 0.0, 0.0, 9.0, 1.0, 4.0, 0.0, 0.0, 45.0, 40.0, 36.0, 32.0, 19.0, 19.0, 3.0, 44.0, 58.0, 0.0, 42.0, 0.0, 24.0, 28.0, 0.0, 34.0, 45.5, 18.0, 2.0, 32.0, 26.0, 16.0, 40.0, 24.0, 35.0, 22.0, 30.0, 0.0, 31.0, 27.0, 42.0, 32.0, 30.0, 16.0, 27.0, 51.0, 0.0, 38.0, 22.0, 19.0, 20.5, 18.0, 0.0, 35.0, 29.0, 59.0, 5.0, 24.0, 0.0, 44.0, 8.0, 19.0, 33.0, 0.0, 0.0, 29.0, 22.0, 30.0, 44.0, 25.0, 24.0, 37.0, 54.0, 0.0, 29.0, 62.0, 30.0, 41.0, 29.0, 0.0, 30.0, 35.0, 50.0, 0.0, 3.0, 52.0, 40.0, 0.0, 36.0, 16.0, 25.0, 58.0, 35.0, 0.0, 25.0, 41.0, 37.0, 0.0, 63.0, 45.0, 0.0, 7.0, 35.0, 65.0, 28.0, 16.0, 19.0, 0.0, 33.0, 30.0, 22.0, 42.0, 22.0, 26.0, 19.0, 36.0, 24.0, 24.0, 0.0, 23.5, 2.0, 0.0, 50.0, 0.0, 0.0, 19.0, 0.0, 0.0, 0.92, 0.0, 17.0, 30.0, 30.0, 24.0, 18.0, 26.0, 28.0, 43.0, 26.0, 24.0, 54.0, 31.0, 40.0, 22.0, 27.0, 30.0, 22.0, 0.0, 36.0, 61.0, 36.0, 31.0, 16.0, 0.0, 45.5, 38.0, 16.0, 0.0, 0.0, 29.0, 41.0, 45.0, 45.0, 2.0, 24.0, 28.0, 25.0, 36.0, 24.0, 40.0, 0.0, 3.0, 42.0, 23.0, 0.0, 15.0, 25.0, 0.0, 28.0, 22.0, 38.0, 0.0, 0.0, 40.0, 29.0, 45.0, 35.0, 0.0, 30.0, 60.0, 0.0, 0.0, 24.0, 25.0, 18.0, 19.0, 22.0, 3.0, 0.0, 22.0, 27.0, 20.0, 19.0, 42.0, 1.0, 32.0, 35.0, 0.0, 18.0, 1.0, 36.0, 0.0, 17.0, 36.0, 21.0, 28.0, 23.0, 24.0, 22.0, 31.0, 46.0, 23.0, 28.0, 39.0, 26.0, 21.0, 28.0, 20.0, 34.0, 51.0, 3.0, 21.0, 0.0, 0.0, 0.0, 33.0, 0.0, 44.0, 0.0, 34.0, 18.0, 30.0, 10.0, 0.0, 21.0, 29.0, 28.0, 18.0, 0.0, 28.0, 19.0, 0.0, 32.0, 28.0, 0.0, 42.0, 17.0, 50.0, 14.0, 21.0, 24.0, 64.0, 31.0, 45.0, 20.0, 25.0, 28.0, 0.0, 4.0, 13.0, 34.0, 5.0, 52.0, 36.0, 0.0, 30.0, 49.0, 0.0, 29.0, 65.0, 0.0, 50.0, 0.0, 48.0, 34.0, 47.0, 48.0, 0.0, 38.0, 0.0, 56.0, 0.0, 0.75, 0.0, 38.0, 33.0, 23.0, 22.0, 0.0, 34.0, 29.0, 22.0, 2.0, 9.0, 0.0, 50.0, 63.0, 25.0, 0.0, 35.0, 58.0, 30.0, 9.0, 0.0, 21.0, 55.0, 71.0, 21.0, 0.0, 54.0, 0.0, 25.0, 24.0, 17.0, 21.0, 0.0, 37.0, 16.0, 18.0, 33.0, 0.0, 28.0, 26.0, 29.0, 0.0, 36.0, 54.0, 24.0, 47.0, 34.0, 0.0, 36.0, 32.0, 30.0, 22.0, 0.0, 44.0, 0.0, 40.5, 50.0, 0.0, 39.0, 23.0, 2.0, 0.0, 17.0, 0.0, 30.0, 7.0, 45.0, 30.0, 0.0, 22.0, 36.0, 9.0, 11.0, 32.0, 50.0, 64.0, 19.0, 0.0, 33.0, 8.0, 17.0, 27.0, 0.0, 22.0, 22.0, 62.0, 48.0, 0.0, 39.0, 36.0, 0.0, 40.0, 28.0, 0.0, 0.0, 24.0, 19.0, 29.0, 0.0, 32.0, 62.0, 53.0, 36.0, 0.0, 16.0, 19.0, 34.0, 39.0, 0.0, 32.0, 25.0, 39.0, 54.0, 36.0, 0.0, 18.0, 47.0, 60.0, 22.0, 0.0, 35.0, 52.0, 47.0, 0.0, 37.0, 36.0, 0.0, 49.0, 0.0, 49.0, 24.0, 0.0, 0.0, 44.0, 35.0, 36.0, 30.0, 27.0, 22.0, 40.0, 39.0, 0.0, 0.0, 0.0, 35.0, 24.0, 34.0, 26.0, 4.0, 26.0, 27.0, 42.0, 20.0, 21.0, 21.0, 61.0, 57.0, 21.0, 26.0, 0.0, 80.0, 51.0, 32.0, 0.0, 9.0, 28.0, 32.0, 31.0, 41.0, 0.0, 20.0, 24.0, 2.0, 0.0, 0.75, 48.0, 19.0, 56.0, 0.0, 23.0, 0.0, 18.0, 21.0, 0.0, 18.0, 24.0, 0.0, 32.0, 23.0, 58.0, 50.0, 40.0, 47.0, 36.0, 20.0, 32.0, 25.0, 0.0, 43.0, 0.0, 40.0, 31.0, 70.0, 31.0, 0.0, 18.0, 24.5, 18.0, 43.0, 36.0, 0.0, 27.0, 20.0, 14.0, 60.0, 25.0, 14.0, 19.0, 18.0, 15.0, 31.0, 4.0, 0.0, 25.0, 60.0, 52.0, 44.0, 0.0, 49.0, 42.0, 18.0, 35.0, 18.0, 25.0, 26.0, 39.0, 45.0, 42.0, 22.0, 0.0, 24.0, 0.0, 48.0, 29.0, 52.0, 19.0, 38.0, 27.0, 0.0, 33.0, 6.0, 17.0, 34.0, 50.0, 27.0, 20.0, 30.0, 0.0, 25.0, 25.0, 29.0, 11.0, 0.0, 23.0, 23.0, 28.5, 48.0, 35.0, 0.0, 0.0, 0.0, 36.0, 21.0, 24.0, 31.0, 70.0, 16.0, 30.0, 19.0, 31.0, 4.0, 6.0, 33.0, 23.0, 48.0, 0.67, 28.0, 18.0, 34.0, 33.0, 0.0, 41.0, 20.0, 36.0, 16.0, 51.0, 0.0, 30.5, 0.0, 32.0, 24.0, 48.0, 57.0, 0.0, 54.0, 18.0, 0.0, 5.0, 0.0, 43.0, 13.0, 17.0, 29.0, 0.0, 25.0, 25.0, 18.0, 8.0, 1.0, 46.0, 0.0, 16.0, 0.0, 0.0, 25.0, 39.0, 49.0, 31.0, 30.0, 30.0, 34.0, 31.0, 11.0, 0.42, 27.0, 31.0, 39.0, 18.0, 39.0, 33.0, 26.0, 39.0, 35.0, 6.0, 30.5, 0.0, 23.0, 31.0, 43.0, 10.0, 52.0, 27.0, 38.0, 27.0, 2.0, 0.0, 0.0, 1.0, 0.0, 62.0, 15.0, 0.83, 0.0, 23.0, 18.0, 39.0, 21.0, 0.0, 32.0, 0.0, 20.0, 16.0, 30.0, 34.5, 17.0, 42.0, 0.0, 35.0, 28.0, 0.0, 4.0, 74.0, 9.0, 16.0, 44.0, 18.0, 45.0, 51.0, 24.0, 0.0, 41.0, 21.0, 48.0, 0.0, 24.0, 42.0, 27.0, 31.0, 0.0, 4.0, 26.0, 47.0, 33.0, 47.0, 28.0, 15.0, 20.0, 19.0, 0.0, 56.0, 25.0, 33.0, 22.0, 28.0, 25.0, 39.0, 27.0, 19.0, 0.0, 26.0, 32.0]}, {\"name\": \"SibSp\", \"type\": \"measure\", \"values\": [1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 4.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 4.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 5.0, 0.0, 0.0, 1.0, 3.0, 0.0, 1.0, 0.0, 0.0, 4.0, 2.0, 0.0, 5.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 4.0, 2.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 8.0, 0.0, 4.0, 2.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 8.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 3.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 2.0, 2.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 1.0, 3.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 3.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 5.0, 1.0, 1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 3.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 1.0, 4.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 8.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0]}, {\"name\": \"Parch\", \"type\": \"measure\", \"values\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 5.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 2.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 3.0, 4.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 5.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 2.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 2.0, 0.0, 0.0]}, {\"name\": \"Ticket\", \"type\": \"dimension\", \"values\": [\"A/5 21171\", \"PC 17599\", \"STON/O2. 3101282\", \"113803\", \"373450\", \"330877\", \"17463\", \"349909\", \"347742\", \"237736\", \"PP 9549\", \"113783\", \"A/5. 2151\", \"347082\", \"350406\", \"248706\", \"382652\", \"244373\", \"345763\", \"2649\", \"239865\", \"248698\", \"330923\", \"113788\", \"349909\", \"347077\", \"2631\", \"19950\", \"330959\", \"349216\", \"PC 17601\", \"PC 17569\", \"335677\", \"C.A. 24579\", \"PC 17604\", \"113789\", \"2677\", \"A./5. 2152\", \"345764\", \"2651\", \"7546\", \"11668\", \"349253\", \"SC/Paris 2123\", \"330958\", \"S.C./A.4. 23567\", \"370371\", \"14311\", \"2662\", \"349237\", \"3101295\", \"A/4. 39886\", \"PC 17572\", \"2926\", \"113509\", \"19947\", \"C.A. 31026\", \"2697\", \"C.A. 34651\", \"CA 2144\", \"2669\", \"113572\", \"36973\", \"347088\", \"PC 17605\", \"2661\", \"C.A. 29395\", \"S.P. 3464\", \"3101281\", \"315151\", \"C.A. 33111\", \"CA 2144\", \"S.O.C. 14879\", \"2680\", \"1601\", \"348123\", \"349208\", \"374746\", \"248738\", \"364516\", \"345767\", \"345779\", \"330932\", \"113059\", \"SO/C 14885\", \"3101278\", \"W./C. 6608\", \"SOTON/OQ 392086\", \"19950\", \"343275\", \"343276\", \"347466\", \"W.E.P. 5734\", \"C.A. 2315\", \"364500\", \"374910\", \"PC 17754\", \"PC 17759\", \"231919\", \"244367\", \"349245\", \"349215\", \"35281\", \"7540\", \"3101276\", \"349207\", \"343120\", \"312991\", \"349249\", \"371110\", \"110465\", \"2665\", \"324669\", \"4136\", \"2627\", \"STON/O 2. 3101294\", \"370369\", \"11668\", \"PC 17558\", \"347082\", \"S.O.C. 14879\", \"A4. 54510\", \"237736\", \"27267\", \"35281\", \"2651\", \"370372\", \"C 17369\", \"2668\", \"347061\", \"349241\", \"SOTON/O.Q. 3101307\", \"A/5. 3337\", \"228414\", \"C.A. 29178\", \"SC/PARIS 2133\", \"11752\", \"113803\", \"7534\", \"PC 17593\", \"2678\", \"347081\", \"STON/O2. 3101279\", \"365222\", \"231945\", \"C.A. 33112\", \"350043\", \"W./C. 6608\", \"230080\", \"244310\", \"S.O.P. 1166\", \"113776\", \"A.5. 11206\", \"A/5. 851\", \"Fa 265302\", \"PC 17597\", \"35851\", \"SOTON/OQ 392090\", \"315037\", \"CA. 2343\", \"371362\", \"C.A. 33595\", \"347068\", \"315093\", \"3101295\", \"363291\", \"113505\", \"347088\", \"PC 17318\", \"1601\", \"111240\", \"382652\", \"347742\", \"STON/O 2. 3101280\", \"17764\", \"350404\", \"4133\", \"PC 17595\", \"250653\", \"LINE\", \"CA. 2343\", \"SC/PARIS 2131\", \"347077\", \"230136\", \"315153\", \"113767\", \"370365\", \"111428\", \"364849\", \"349247\", \"234604\", \"28424\", \"350046\", \"230080\", \"PC 17610\", \"PC 17569\", \"368703\", \"4579\", \"370370\", \"248747\", \"345770\", \"CA. 2343\", \"3101264\", \"2628\", \"A/5 3540\", \"347054\", \"3101278\", \"2699\", \"367231\", \"112277\", \"SOTON/O.Q. 3101311\", \"F.C.C. 13528\", \"A/5 21174\", \"250646\", \"367229\", \"35273\", \"STON/O2. 3101283\", \"243847\", \"11813\", \"W/C 14208\", \"SOTON/OQ 392089\", \"220367\", \"21440\", \"349234\", \"19943\", \"PP 4348\", \"SW/PP 751\", \"A/5 21173\", \"236171\", \"4133\", \"36973\", \"347067\", \"237442\", \"347077\", \"C.A. 29566\", \"W./C. 6609\", \"26707\", \"C.A. 31921\", \"28665\", \"SCO/W 1585\", \"2665\", \"367230\", \"W./C. 14263\", \"STON/O 2. 3101275\", \"2694\", \"19928\", \"347071\", \"250649\", \"11751\", \"244252\", \"362316\", \"347054\", \"113514\", \"A/5. 3336\", \"370129\", \"2650\", \"PC 17585\", \"110152\", \"PC 17755\", \"230433\", \"384461\", \"347077\", \"110413\", \"112059\", \"382649\", \"C.A. 17248\", \"3101295\", \"347083\", \"PC 17582\", \"PC 17760\", \"113798\", \"LINE\", \"250644\", \"PC 17596\", \"370375\", \"13502\", \"347073\", \"239853\", \"382652\", \"C.A. 2673\", \"336439\", \"347464\", \"345778\", \"A/5. 10482\", \"113056\", \"349239\", \"345774\", \"349206\", \"237798\", \"370373\", \"19877\", \"11967\", \"SC/Paris 2163\", \"349236\", \"349233\", \"PC 17612\", \"2693\", \"113781\", \"19988\", \"PC 17558\", \"9234\", \"367226\", \"LINE\", \"226593\", \"A/5 2466\", \"113781\", \"17421\", \"PC 17758\", \"P/PP 3381\", \"PC 17485\", \"11767\", \"PC 17608\", \"250651\", \"349243\", \"F.C.C. 13529\", \"347470\", \"244367\", \"29011\", \"36928\", \"16966\", \"A/5 21172\", \"349219\", \"234818\", \"248738\", \"CA. 2343\", \"PC 17760\", \"345364\", \"28551\", \"363291\", \"111361\", \"367226\", \"113043\", \"PC 17582\", \"345764\", \"PC 17611\", \"349225\", \"113776\", \"16966\", \"7598\", \"113784\", \"230080\", \"19950\", \"248740\", \"244361\", \"229236\", \"248733\", \"31418\", \"386525\", \"C.A. 37671\", \"315088\", \"7267\", \"113510\", \"2695\", \"349237\", \"2647\", \"345783\", \"113505\", \"237671\", \"330931\", \"330980\", \"347088\", \"SC/PARIS 2167\", \"2691\", \"SOTON/O.Q. 3101310\", \"370365\", \"C 7076\", \"110813\", \"2626\", \"14313\", \"PC 17477\", \"11765\", \"3101267\", \"323951\", \"PC 17760\", \"349909\", \"PC 17604\", \"C 7077\", \"113503\", \"2648\", \"347069\", \"PC 17757\", \"2653\", \"STON/O 2. 3101293\", \"113789\", \"349227\", \"S.O.C. 14879\", \"CA 2144\", \"27849\", \"367655\", \"SC 1748\", \"113760\", \"350034\", \"3101277\", \"35273\", \"PP 9549\", \"350052\", \"350407\", \"28403\", \"244278\", \"240929\", \"STON/O 2. 3101289\", \"341826\", \"4137\", \"STON/O2. 3101279\", \"315096\", \"28664\", \"347064\", \"29106\", \"312992\", \"4133\", \"349222\", \"394140\", \"19928\", \"239853\", \"STON/O 2. 3101269\", \"343095\", \"28220\", \"250652\", \"28228\", \"345773\", \"349254\", \"A/5. 13032\", \"315082\", \"347080\", \"370129\", \"A/4. 34244\", \"2003\", \"250655\", \"364851\", \"SOTON/O.Q. 392078\", \"110564\", \"376564\", \"SC/AH 3085\", \"STON/O 2. 3101274\", \"13507\", \"113760\", \"W./C. 6608\", \"29106\", \"19950\", \"C.A. 18723\", \"F.C.C. 13529\", \"345769\", \"347076\", \"230434\", \"65306\", \"33638\", \"250644\", \"113794\", \"2666\", \"113786\", \"C.A. 34651\", \"65303\", \"113051\", \"17453\", \"A/5 2817\", \"349240\", \"13509\", \"17464\", \"F.C.C. 13531\", \"371060\", \"19952\", \"364506\", \"111320\", \"234360\", \"A/S 2816\", \"SOTON/O.Q. 3101306\", \"239853\", \"113792\", \"36209\", \"2666\", \"323592\", \"315089\", \"C.A. 34651\", \"SC/AH Basle 541\", \"7553\", \"110465\", \"31027\", \"3460\", \"350060\", \"3101298\", \"CA 2144\", \"239854\", \"A/5 3594\", \"4134\", \"11967\", \"4133\", \"19943\", \"11771\", \"A.5. 18509\", \"C.A. 37671\", \"65304\", \"SOTON/OQ 3101317\", \"113787\", \"PC 17609\", \"A/4 45380\", \"2627\", \"36947\", \"C.A. 6212\", \"113781\", \"350035\", \"315086\", \"364846\", \"330909\", \"4135\", \"110152\", \"PC 17758\", \"26360\", \"111427\", \"C 4001\", \"1601\", \"382651\", \"SOTON/OQ 3101316\", \"PC 17473\", \"PC 17603\", \"349209\", \"36967\", \"C.A. 34260\", \"371110\", \"226875\", \"349242\", \"12749\", \"349252\", \"2624\", \"111361\", \"2700\", \"367232\", \"W./C. 14258\", \"PC 17483\", \"3101296\", \"29104\", \"26360\", \"2641\", \"2690\", \"2668\", \"315084\", \"F.C.C. 13529\", \"113050\", \"PC 17761\", \"364498\", \"13568\", \"WE/P 5735\", \"347082\", \"347082\", \"2908\", \"PC 17761\", \"693\", \"2908\", \"SC/PARIS 2146\", \"363291\", \"C.A. 33112\", \"17421\", \"244358\", \"330979\", \"2620\", \"347085\", \"113807\", \"11755\", \"PC 17757\", \"110413\", \"345572\", \"372622\", \"349251\", \"218629\", \"SOTON/OQ 392082\", \"SOTON/O.Q. 392087\", \"A/4 48871\", \"349205\", \"349909\", \"2686\", \"350417\", \"S.W./PP 752\", \"11769\", \"PC 17474\", \"14312\", \"A/4. 20589\", \"358585\", \"243880\", \"13507\", \"2689\", \"STON/O 2. 3101286\", \"237789\", \"17421\", \"28403\", \"13049\", \"3411\", \"110413\", \"237565\", \"13567\", \"14973\", \"A./5. 3235\", \"STON/O 2. 3101273\", \"36947\", \"A/5 3902\", \"364848\", \"SC/AH 29037\", \"345773\", \"248727\", \"LINE\", \"2664\", \"PC 17485\", \"243847\", \"349214\", \"113796\", \"364511\", \"111426\", \"349910\", \"349246\", \"113804\", \"SC/Paris 2123\", \"PC 17582\", \"347082\", \"SOTON/O.Q. 3101305\", \"367230\", \"370377\", \"364512\", \"220845\", \"347080\", \"A/5. 3336\", \"230136\", \"31028\", \"2659\", \"11753\", \"2653\", \"350029\", \"54636\", \"36963\", \"219533\", \"13502\", \"349224\", \"334912\", \"27042\", \"347743\", \"13214\", \"112052\", \"347088\", \"237668\", \"STON/O 2. 3101292\", \"C.A. 31921\", \"3101295\", \"376564\", \"350050\", \"PC 17477\", \"347088\", \"1601\", \"2666\", \"PC 17572\", \"349231\", \"13213\", \"S.O./P.P. 751\", \"CA. 2314\", \"349221\", \"231919\", \"8475\", \"330919\", \"365226\", \"S.O.C. 14879\", \"349223\", \"364849\", \"29751\", \"35273\", \"PC 17611\", \"2623\", \"5727\", \"349210\", \"STON/O 2. 3101285\", \"S.O.C. 14879\", \"234686\", \"312993\", \"A/5 3536\", \"19996\", \"29750\", \"F.C. 12750\", \"C.A. 24580\", \"244270\", \"239856\", \"349912\", \"342826\", \"4138\", \"CA 2144\", \"PC 17755\", \"330935\", \"PC 17572\", \"6563\", \"CA 2144\", \"29750\", \"SC/Paris 2123\", \"3101295\", \"349228\", \"350036\", \"24160\", \"17474\", \"349256\", \"1601\", \"2672\", \"113800\", \"248731\", \"363592\", \"35852\", \"17421\", \"348121\", \"PC 17757\", \"PC 17475\", \"2691\", \"36864\", \"350025\", \"250655\", \"223596\", \"PC 17476\", \"113781\", \"2661\", \"PC 17482\", \"113028\", \"19996\", \"7545\", \"250647\", \"348124\", \"PC 17757\", \"34218\", \"36568\", \"347062\", \"248727\", \"350048\", \"12233\", \"250643\", \"113806\", \"315094\", \"31027\", \"36866\", \"236853\", \"STON/O2. 3101271\", \"24160\", \"2699\", \"239855\", \"28425\", \"233639\", \"54636\", \"W./C. 6608\", \"PC 17755\", \"349201\", \"349218\", \"16988\", \"19877\", \"PC 17608\", \"376566\", \"STON/O 2. 3101288\", \"WE/P 5735\", \"C.A. 2673\", \"250648\", \"113773\", \"335097\", \"29103\", \"392096\", \"345780\", \"349204\", \"220845\", \"250649\", \"350042\", \"29108\", \"363294\", \"110152\", \"358585\", \"SOTON/O2 3101272\", \"2663\", \"113760\", \"347074\", \"13502\", \"112379\", \"364850\", \"371110\", \"8471\", \"345781\", \"350047\", \"S.O./P.P. 3\", \"2674\", \"29105\", \"347078\", \"383121\", \"364516\", \"36865\", \"24160\", \"2687\", \"17474\", \"113501\", \"W./C. 6607\", \"SOTON/O.Q. 3101312\", \"374887\", \"3101265\", \"382652\", \"C.A. 2315\", \"PC 17593\", \"12460\", \"239865\", \"CA. 2343\", \"PC 17600\", \"349203\", \"28213\", \"17465\", \"349244\", \"2685\", \"345773\", \"250647\", \"C.A. 31921\", \"113760\", \"2625\", \"347089\", \"347063\", \"112050\", \"347087\", \"248723\", \"113806\", \"3474\", \"A/4 48871\", \"28206\", \"347082\", \"364499\", \"112058\", \"STON/O2. 3101290\", \"S.C./PARIS 2079\", \"C 7075\", \"347088\", \"12749\", \"315098\", \"19972\", \"392096\", \"3101295\", \"368323\", \"1601\", \"S.C./PARIS 2079\", \"367228\", \"113572\", \"2659\", \"29106\", \"2671\", \"347468\", \"2223\", \"PC 17756\", \"315097\", \"392092\", \"1601\", \"11774\", \"SOTON/O2 3101287\", \"S.O./P.P. 3\", \"113798\", \"2683\", \"315090\", \"C.A. 5547\", \"CA. 2343\", \"349213\", \"248727\", \"17453\", \"347082\", \"347060\", \"2678\", \"PC 17592\", \"244252\", \"392091\", \"36928\", \"113055\", \"2666\", \"2629\", \"350026\", \"28134\", \"17466\", \"CA. 2343\", \"233866\", \"236852\", \"SC/PARIS 2149\", \"PC 17590\", \"345777\", \"347742\", \"349248\", \"11751\", \"695\", \"345765\", \"P/PP 3381\", \"2667\", \"7534\", \"349212\", \"349217\", \"11767\", \"230433\", \"349257\", \"7552\", \"C.A./SOTON 34068\", \"SOTON/OQ 392076\", \"382652\", \"211536\", \"112053\", \"W./C. 6607\", \"111369\", \"370376\"]}, {\"name\": \"Fare\", \"type\": \"measure\", \"values\": [7.25, 71.2833, 7.925, 53.1, 8.05, 8.4583, 51.8625, 21.075, 11.1333, 30.0708, 16.7, 26.55, 8.05, 31.275, 7.8542, 16.0, 29.125, 13.0, 18.0, 7.225, 26.0, 13.0, 8.0292, 35.5, 21.075, 31.3875, 7.225, 263.0, 7.8792, 7.8958, 27.7208, 146.5208, 7.75, 10.5, 82.1708, 52.0, 7.2292, 8.05, 18.0, 11.2417, 9.475, 21.0, 7.8958, 41.5792, 7.8792, 8.05, 15.5, 7.75, 21.6792, 17.8, 39.6875, 7.8, 76.7292, 26.0, 61.9792, 35.5, 10.5, 7.2292, 27.75, 46.9, 7.2292, 80.0, 83.475, 27.9, 27.7208, 15.2458, 10.5, 8.1583, 7.925, 8.6625, 10.5, 46.9, 73.5, 14.4542, 56.4958, 7.65, 7.8958, 8.05, 29.0, 12.475, 9.0, 9.5, 7.7875, 47.1, 10.5, 15.85, 34.375, 8.05, 263.0, 8.05, 8.05, 7.8542, 61.175, 20.575, 7.25, 8.05, 34.6542, 63.3583, 23.0, 26.0, 7.8958, 7.8958, 77.2875, 8.6542, 7.925, 7.8958, 7.65, 7.775, 7.8958, 24.15, 52.0, 14.4542, 8.05, 9.825, 14.4583, 7.925, 7.75, 21.0, 247.5208, 31.275, 73.5, 8.05, 30.0708, 13.0, 77.2875, 11.2417, 7.75, 7.1417, 22.3583, 6.975, 7.8958, 7.05, 14.5, 26.0, 13.0, 15.0458, 26.2833, 53.1, 9.2167, 79.2, 15.2458, 7.75, 15.85, 6.75, 11.5, 36.75, 7.7958, 34.375, 26.0, 13.0, 12.525, 66.6, 8.05, 14.5, 7.3125, 61.3792, 7.7333, 8.05, 8.6625, 69.55, 16.1, 15.75, 7.775, 8.6625, 39.6875, 20.525, 55.0, 27.9, 25.925, 56.4958, 33.5, 29.125, 11.1333, 7.925, 30.6958, 7.8542, 25.4667, 28.7125, 13.0, 0.0, 69.55, 15.05, 31.3875, 39.0, 22.025, 50.0, 15.5, 26.55, 15.5, 7.8958, 13.0, 13.0, 7.8542, 26.0, 27.7208, 146.5208, 7.75, 8.4042, 7.75, 13.0, 9.5, 69.55, 6.4958, 7.225, 8.05, 10.4625, 15.85, 18.7875, 7.75, 31.0, 7.05, 21.0, 7.25, 13.0, 7.75, 113.275, 7.925, 27.0, 76.2917, 10.5, 8.05, 13.0, 8.05, 7.8958, 90.0, 9.35, 10.5, 7.25, 13.0, 25.4667, 83.475, 7.775, 13.5, 31.3875, 10.5, 7.55, 26.0, 26.25, 10.5, 12.275, 14.4542, 15.5, 10.5, 7.125, 7.225, 90.0, 7.775, 14.5, 52.5542, 26.0, 7.25, 10.4625, 26.55, 16.1, 20.2125, 15.2458, 79.2, 86.5, 512.3292, 26.0, 7.75, 31.3875, 79.65, 0.0, 7.75, 10.5, 39.6875, 7.775, 153.4625, 135.6333, 31.0, 0.0, 19.5, 29.7, 7.75, 77.9583, 7.75, 0.0, 29.125, 20.25, 7.75, 7.8542, 9.5, 8.05, 26.0, 8.6625, 9.5, 7.8958, 13.0, 7.75, 78.85, 91.0792, 12.875, 8.85, 7.8958, 27.7208, 7.2292, 151.55, 30.5, 247.5208, 7.75, 23.25, 0.0, 12.35, 8.05, 151.55, 110.8833, 108.9, 24.0, 56.9292, 83.1583, 262.375, 26.0, 7.8958, 26.25, 7.8542, 26.0, 14.0, 164.8667, 134.5, 7.25, 7.8958, 12.35, 29.0, 69.55, 135.6333, 6.2375, 13.0, 20.525, 57.9792, 23.25, 28.5, 153.4625, 18.0, 133.65, 7.8958, 66.6, 134.5, 8.05, 35.5, 26.0, 263.0, 13.0, 13.0, 13.0, 13.0, 13.0, 16.1, 15.9, 8.6625, 9.225, 35.0, 7.2292, 17.8, 7.225, 9.5, 55.0, 13.0, 7.8792, 7.8792, 27.9, 27.7208, 14.4542, 7.05, 15.5, 7.25, 75.25, 7.2292, 7.75, 69.3, 55.4417, 6.4958, 8.05, 135.6333, 21.075, 82.1708, 7.25, 211.5, 4.0125, 7.775, 227.525, 15.7417, 7.925, 52.0, 7.8958, 73.5, 46.9, 13.0, 7.7292, 12.0, 120.0, 7.7958, 7.925, 113.275, 16.7, 7.7958, 7.8542, 26.0, 10.5, 12.65, 7.925, 8.05, 9.825, 15.85, 8.6625, 21.0, 7.75, 18.75, 7.775, 25.4667, 7.8958, 6.8583, 90.0, 0.0, 7.925, 8.05, 32.5, 13.0, 13.0, 24.15, 7.8958, 7.7333, 7.875, 14.4, 20.2125, 7.25, 26.0, 26.0, 7.75, 8.05, 26.55, 16.1, 26.0, 7.125, 55.9, 120.0, 34.375, 18.75, 263.0, 10.5, 26.25, 9.5, 7.775, 13.0, 8.1125, 81.8583, 19.5, 26.55, 19.2583, 30.5, 27.75, 19.9667, 27.75, 89.1042, 8.05, 7.8958, 26.55, 51.8625, 10.5, 7.75, 26.55, 8.05, 38.5, 13.0, 8.05, 7.05, 0.0, 26.55, 7.725, 19.2583, 7.25, 8.6625, 27.75, 13.7917, 9.8375, 52.0, 21.0, 7.0458, 7.5208, 12.2875, 46.9, 0.0, 8.05, 9.5875, 91.0792, 25.4667, 90.0, 29.7, 8.05, 15.9, 19.9667, 7.25, 30.5, 49.5042, 8.05, 14.4583, 78.2667, 15.1, 151.55, 7.7958, 8.6625, 7.75, 7.6292, 9.5875, 86.5, 108.9, 26.0, 26.55, 22.525, 56.4958, 7.75, 8.05, 26.2875, 59.4, 7.4958, 34.0208, 10.5, 24.15, 26.0, 7.8958, 93.5, 7.8958, 7.225, 57.9792, 7.2292, 7.75, 10.5, 221.7792, 7.925, 11.5, 26.0, 7.2292, 7.2292, 22.3583, 8.6625, 26.25, 26.55, 106.425, 14.5, 49.5, 71.0, 31.275, 31.275, 26.0, 106.425, 26.0, 26.0, 13.8625, 20.525, 36.75, 110.8833, 26.0, 7.8292, 7.225, 7.775, 26.55, 39.6, 227.525, 79.65, 17.4, 7.75, 7.8958, 13.5, 8.05, 8.05, 24.15, 7.8958, 21.075, 7.2292, 7.8542, 10.5, 51.4792, 26.3875, 7.75, 8.05, 14.5, 13.0, 55.9, 14.4583, 7.925, 30.0, 110.8833, 26.0, 40.125, 8.7125, 79.65, 15.0, 79.2, 8.05, 8.05, 7.125, 78.2667, 7.25, 7.75, 26.0, 24.15, 33.0, 0.0, 7.225, 56.9292, 27.0, 7.8958, 42.4, 8.05, 26.55, 15.55, 7.8958, 30.5, 41.5792, 153.4625, 31.275, 7.05, 15.5, 7.75, 8.05, 65.0, 14.4, 16.1, 39.0, 10.5, 14.4542, 52.5542, 15.7417, 7.8542, 16.1, 32.3208, 12.35, 77.9583, 7.8958, 7.7333, 30.0, 7.0542, 30.5, 0.0, 27.9, 13.0, 7.925, 26.25, 39.6875, 16.1, 7.8542, 69.3, 27.9, 56.4958, 19.2583, 76.7292, 7.8958, 35.5, 7.55, 7.55, 7.8958, 23.0, 8.4333, 7.8292, 6.75, 73.5, 7.8958, 15.5, 13.0, 113.275, 133.65, 7.225, 25.5875, 7.4958, 7.925, 73.5, 13.0, 7.775, 8.05, 52.0, 39.0, 52.0, 10.5, 13.0, 0.0, 7.775, 8.05, 9.8417, 46.9, 512.3292, 8.1375, 76.7292, 9.225, 46.9, 39.0, 41.5792, 39.6875, 10.1708, 7.7958, 211.3375, 57.0, 13.4167, 56.4958, 7.225, 26.55, 13.5, 8.05, 7.7333, 110.8833, 7.65, 227.525, 26.2875, 14.4542, 7.7417, 7.8542, 26.0, 13.5, 26.2875, 151.55, 15.2458, 49.5042, 26.55, 52.0, 9.4833, 13.0, 7.65, 227.525, 10.5, 15.5, 7.775, 33.0, 7.0542, 13.0, 13.0, 53.1, 8.6625, 21.0, 7.7375, 26.0, 7.925, 211.3375, 18.7875, 0.0, 13.0, 13.0, 16.1, 34.375, 512.3292, 7.8958, 7.8958, 30.0, 78.85, 262.375, 16.1, 7.925, 71.0, 20.25, 13.0, 53.1, 7.75, 23.0, 12.475, 9.5, 7.8958, 65.0, 14.5, 7.7958, 11.5, 8.05, 86.5, 14.5, 7.125, 7.2292, 120.0, 7.775, 77.9583, 39.6, 7.75, 24.15, 8.3625, 9.5, 7.8542, 10.5, 7.225, 23.0, 7.75, 7.75, 12.475, 7.7375, 211.3375, 7.2292, 57.0, 30.0, 23.45, 7.05, 7.25, 7.4958, 29.125, 20.575, 79.2, 7.75, 26.0, 69.55, 30.6958, 7.8958, 13.0, 25.9292, 8.6833, 7.2292, 24.15, 13.0, 26.25, 120.0, 8.5167, 6.975, 7.775, 0.0, 7.775, 13.0, 53.1, 7.8875, 24.15, 10.5, 31.275, 8.05, 0.0, 7.925, 37.0042, 6.45, 27.9, 93.5, 8.6625, 0.0, 12.475, 39.6875, 6.95, 56.4958, 37.0042, 7.75, 80.0, 14.4542, 18.75, 7.2292, 7.8542, 8.3, 83.1583, 8.6625, 8.05, 56.4958, 29.7, 7.925, 10.5, 31.0, 6.4375, 8.6625, 7.55, 69.55, 7.8958, 33.0, 89.1042, 31.275, 7.775, 15.2458, 39.4, 26.0, 9.35, 164.8667, 26.55, 19.2583, 7.2292, 14.1083, 11.5, 25.9292, 69.55, 13.0, 13.0, 13.8583, 50.4958, 9.5, 11.1333, 7.8958, 52.5542, 5.0, 9.0, 24.0, 7.225, 9.8458, 7.8958, 7.8958, 83.1583, 26.0, 7.8958, 10.5167, 10.5, 7.05, 29.125, 13.0, 30.0, 23.45, 30.0, 7.75]}, {\"name\": \"Cabin\", \"type\": \"dimension\", \"values\": [\"\", \"C85\", \"\", \"C123\", \"\", \"\", \"E46\", \"\", \"\", \"\", \"G6\", \"C103\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D56\", \"\", \"A6\", \"\", \"\", \"\", \"C23 C25 C27\", \"\", \"\", \"\", \"B78\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D33\", \"\", \"B30\", \"C52\", \"\", \"\", \"\", \"\", \"\", \"B28\", \"C83\", \"\", \"\", \"\", \"F33\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F G73\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C23 C25 C27\", \"\", \"\", \"\", \"E31\", \"\", \"\", \"\", \"A5\", \"D10 D12\", \"\", \"\", \"\", \"\", \"D26\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C110\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B58 B60\", \"\", \"\", \"\", \"\", \"E101\", \"D26\", \"\", \"\", \"\", \"F E69\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D47\", \"C123\", \"\", \"B86\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F2\", \"\", \"\", \"C2\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"E33\", \"\", \"\", \"\", \"B19\", \"\", \"\", \"\", \"A7\", \"\", \"\", \"C49\", \"\", \"\", \"\", \"\", \"\", \"F4\", \"\", \"A32\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F2\", \"B4\", \"B80\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"G6\", \"\", \"\", \"\", \"A31\", \"\", \"\", \"\", \"\", \"\", \"D36\", \"\", \"\", \"D15\", \"\", \"\", \"\", \"\", \"\", \"C93\", \"\", \"\", \"\", \"\", \"\", \"C83\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C78\", \"\", \"\", \"D35\", \"\", \"\", \"G6\", \"C87\", \"\", \"\", \"\", \"\", \"B77\", \"\", \"\", \"\", \"\", \"E67\", \"B94\", \"\", \"\", \"\", \"\", \"C125\", \"C99\", \"\", \"\", \"\", \"C118\", \"\", \"D7\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"A19\", \"\", \"\", \"\", \"\", \"\", \"\", \"B49\", \"D\", \"\", \"\", \"\", \"\", \"C22 C26\", \"C106\", \"B58 B60\", \"\", \"\", \"\", \"E101\", \"\", \"C22 C26\", \"\", \"C65\", \"\", \"E36\", \"C54\", \"B57 B59 B63 B66\", \"\", \"\", \"\", \"\", \"\", \"\", \"C7\", \"E34\", \"\", \"\", \"\", \"\", \"\", \"C32\", \"\", \"D\", \"\", \"B18\", \"\", \"C124\", \"C91\", \"\", \"\", \"\", \"C2\", \"E40\", \"\", \"T\", \"F2\", \"C23 C25 C27\", \"\", \"\", \"\", \"F33\", \"\", \"\", \"\", \"\", \"\", \"C128\", \"\", \"\", \"\", \"\", \"E33\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D37\", \"\", \"\", \"B35\", \"E50\", \"\", \"\", \"\", \"\", \"\", \"\", \"C82\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B96 B98\", \"\", \"\", \"D36\", \"G6\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C78\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"E10\", \"C52\", \"\", \"\", \"\", \"E44\", \"B96 B98\", \"\", \"\", \"C23 C25 C27\", \"\", \"\", \"\", \"\", \"\", \"\", \"A34\", \"\", \"\", \"\", \"C104\", \"\", \"\", \"C111\", \"C92\", \"\", \"\", \"E38\", \"D21\", \"\", \"\", \"E12\", \"\", \"E63\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D\", \"\", \"A14\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B49\", \"\", \"C93\", \"B37\", \"\", \"\", \"\", \"\", \"C30\", \"\", \"\", \"\", \"D20\", \"\", \"C22 C26\", \"\", \"\", \"\", \"\", \"\", \"B79\", \"C65\", \"\", \"\", \"\", \"\", \"\", \"\", \"E25\", \"\", \"\", \"D46\", \"F33\", \"\", \"\", \"\", \"B73\", \"\", \"\", \"B18\", \"\", \"\", \"\", \"C95\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B38\", \"\", \"\", \"B39\", \"B22\", \"\", \"\", \"\", \"C86\", \"\", \"\", \"\", \"\", \"\", \"C70\", \"\", \"\", \"\", \"\", \"\", \"A16\", \"\", \"E67\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C101\", \"E25\", \"\", \"\", \"\", \"\", \"E44\", \"\", \"\", \"\", \"C68\", \"\", \"A10\", \"\", \"E68\", \"\", \"B41\", \"\", \"\", \"\", \"D20\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"A20\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C125\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F4\", \"\", \"\", \"D19\", \"\", \"\", \"\", \"D50\", \"\", \"D9\", \"\", \"\", \"A23\", \"\", \"B50\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B35\", \"\", \"\", \"\", \"D33\", \"\", \"A26\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D48\", \"\", \"\", \"E58\", \"\", \"\", \"\", \"\", \"\", \"\", \"C126\", \"\", \"B71\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B51 B53 B55\", \"\", \"D49\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B5\", \"B20\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C68\", \"F G63\", \"C62 C64\", \"E24\", \"\", \"\", \"\", \"\", \"\", \"E24\", \"\", \"\", \"C90\", \"C124\", \"C126\", \"\", \"\", \"F G73\", \"C45\", \"E101\", \"\", \"\", \"\", \"\", \"\", \"\", \"E8\", \"\", \"\", \"\", \"\", \"\", \"B5\", \"\", \"\", \"\", \"\", \"\", \"\", \"B101\", \"\", \"\", \"D45\", \"C46\", \"B57 B59 B63 B66\", \"\", \"\", \"B22\", \"\", \"\", \"D30\", \"\", \"\", \"E121\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B77\", \"\", \"\", \"\", \"B96 B98\", \"\", \"D11\", \"\", \"\", \"\", \"\", \"\", \"\", \"E77\", \"\", \"\", \"\", \"F38\", \"\", \"\", \"B3\", \"\", \"B20\", \"D6\", \"\", \"\", \"\", \"\", \"\", \"\", \"B82 B84\", \"\", \"\", \"\", \"\", \"\", \"\", \"D17\", \"\", \"\", \"\", \"\", \"\", \"B96 B98\", \"\", \"\", \"\", \"A36\", \"\", \"\", \"E8\", \"\", \"\", \"\", \"\", \"\", \"B102\", \"\", \"\", \"\", \"\", \"B69\", \"\", \"\", \"E121\", \"\", \"\", \"\", \"\", \"\", \"B28\", \"\", \"\", \"\", \"\", \"\", \"E49\", \"\", \"\", \"\", \"C47\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C92\", \"\", \"\", \"\", \"D28\", \"\", \"\", \"\", \"E17\", \"\", \"\", \"\", \"\", \"D17\", \"\", \"\", \"\", \"\", \"A24\", \"\", \"\", \"\", \"D35\", \"B51 B53 B55\", \"\", \"\", \"\", \"\", \"\", \"\", \"C50\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B42\", \"\", \"C148\", \"\"]}, {\"name\": \"Embarked\", \"type\": \"dimension\", \"values\": [\"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"C\", \"C\", \"Q\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"C\", \"Q\", \"S\", \"Q\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"C\", \"Q\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"C\", \"C\", \"C\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"C\", \"C\", \"S\", \"Q\", \"S\", \"C\", \"C\", \"Q\", \"C\", \"C\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"C\", \"C\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"C\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"C\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"Q\", \"\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"Q\"]}]}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"config\": {\"x\": \"Count\", \"y\": \"Sex\", \"label\": \"Count\", \"title\": \"Passengers of the Titanic\"}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"config\": {\"x\": [\"Count\", \"Survived\"], \"label\": [\"Count\", \"Survived\"], \"color\": \"Survived\"}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"config\": {\"x\": \"Count\", \"y\": [\"Sex\", \"Survived\"]}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# sample\n", + "\n", + "import pandas as pd\n", + "from ipyvizzu import Chart, Data, Config\n", + "\n", + "data_frame = pd.read_csv(\n", + " \"https://raw.githubusercontent.com/vizzuhq/ipyvizzu/main/docs/examples/stories/titanic/titanic.csv\"\n", + ")\n", + "data = Data()\n", + "data.add_data_frame(data_frame)\n", + "\n", + "chart = Chart(width=\"640px\", height=\"360px\")\n", + "\n", + "chart.animate(data)\n", + "\n", + "chart.animate(\n", + " Config(\n", + " {\n", + " \"x\": \"Count\",\n", + " \"y\": \"Sex\",\n", + " \"label\": \"Count\",\n", + " \"title\": \"Passengers of the Titanic\",\n", + " }\n", + " )\n", + ")\n", + "chart.animate(\n", + " Config(\n", + " {\n", + " \"x\": [\"Count\", \"Survived\"],\n", + " \"label\": [\"Count\", \"Survived\"],\n", + " \"color\": \"Survived\",\n", + " }\n", + " )\n", + ")\n", + "chart.animate(Config({\"x\": \"Count\", \"y\": [\"Sex\", \"Survived\"]}))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe241db8-2491-4ded-adc0-47f6594a1ea6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/playground/HTML in Notebooks.ipynb b/playground/HTML in Notebooks.ipynb new file mode 100644 index 0000000..38150a6 --- /dev/null +++ b/playground/HTML in Notebooks.ipynb @@ -0,0 +1,335 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "ada14109", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hello world\n" + ] + } + ], + "source": [ + "print(\"hello world\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "aaa46c91", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;31mE: \u001b[0mCould not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)\u001b[0m\n", + "\u001b[1;31mE: \u001b[0mUnable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?\u001b[0m\n", + "/bin/bash: ping: command not found\n" + ] + } + ], + "source": [ + "!apt install nettools\n", + "\n", + "!ping tcp://mongo -p 27017" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "874ee20a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML\n", + "s = \"\"\"\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\"\"\"\n", + "h = HTML(s)\n", + "display(h)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "71b6f2d3", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "f20b51c5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML\n", + "s = \"\"\"\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\"\"\"\n", + "h = HTML(s)\n", + "display(h)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "ab67d0f4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub data rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_data_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_data_rate_limit=1000000.0 (bytes/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + } + ], + "source": [ + "import requests\n", + "\n", + "url = \"https://donavanaldrich.com/api/metrics/netdata/charts\"\n", + "\n", + "response = requests.request(\"GET\", url)\n", + "\n", + "print(response.text)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "3735aab4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'id': 'system.cpu', 'name': 'system.cpu', 'type': 'system', 'family': 'cpu', 'context': 'system.cpu', 'title': 'Total CPU utilization (system.cpu)', 'priority': 100, 'plugin': 'proc.plugin', 'module': '/proc/stat', 'units': 'percentage', 'data_url': '/api/v1/data?chart=system.cpu', 'chart_type': 'stacked', 'duration': 478780, 'first_entry': 1662087080, 'last_entry': 1662565840, 'update_every': 20, 'dimensions': {'guest_nice': {'name': 'guest_nice'}, 'guest': {'name': 'guest'}, 'steal': {'name': 'steal'}, 'softirq': {'name': 'softirq'}, 'irq': {'name': 'irq'}, 'user': {'name': 'user'}, 'system': {'name': 'system'}, 'nice': {'name': 'nice'}, 'iowait': {'name': 'iowait'}}, 'chart_variables': {}, 'green': None, 'red': None, 'alarms': {'20min_steal_cpu': {'id': 1662512394, 'status': 'CLEAR', 'units': '%', 'update_every': 300}, '10min_cpu_iowait': {'id': 1662512393, 'status': 'CLEAR', 'units': '%', 'update_every': 60}, '10min_cpu_usage': {'id': 1662512392, 'status': 'CLEAR', 'units': '%', 'update_every': 60}}, 'chart_labels': {'_collect_plugin': 'proc.plugin', '_collect_module': '/proc/stat', '_instance_family': 'cpu'}}\n" + ] + } + ], + "source": [ + "import requests\n", + "\n", + "url = \"https://donavanaldrich.com/api/metrics/netdata/chart\"\n", + "\n", + "querystring = {\"chart\":\"system.cpu\"}\n", + "\n", + "response = requests.request(\"GET\", url, params=querystring)\n", + "\n", + "print(response.json())\n", + "\n", + "mydict = response.json()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c547fcb0", + "metadata": {}, + "outputs": [ + { + "ename": "OperationFailure", + "evalue": "Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mOperationFailure\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [21]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 10\u001b[0m mycol \u001b[38;5;241m=\u001b[39m mydb[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnetdata\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 12\u001b[0m mydict \u001b[38;5;241m=\u001b[39m { \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mname\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPeter\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maddress\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mLowstreet 27\u001b[39m\u001b[38;5;124m\"\u001b[39m }\n\u001b[0;32m---> 14\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[43mmycol\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minsert_one\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmydict\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28mprint\u001b[39m(x\u001b[38;5;241m.\u001b[39minserted_id)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/collection.py:621\u001b[0m, in \u001b[0;36mCollection.insert_one\u001b[0;34m(self, document, bypass_document_validation, session, comment)\u001b[0m\n\u001b[1;32m 617\u001b[0m document[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_id\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m ObjectId()\n\u001b[1;32m 619\u001b[0m write_concern \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_write_concern_for(session)\n\u001b[1;32m 620\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m InsertOneResult(\n\u001b[0;32m--> 621\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_insert_one\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 622\u001b[0m \u001b[43m \u001b[49m\u001b[43mdocument\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 623\u001b[0m \u001b[43m \u001b[49m\u001b[43mordered\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 624\u001b[0m \u001b[43m \u001b[49m\u001b[43mwrite_concern\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwrite_concern\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 625\u001b[0m \u001b[43m \u001b[49m\u001b[43mop_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 626\u001b[0m \u001b[43m \u001b[49m\u001b[43mbypass_doc_val\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbypass_document_validation\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 627\u001b[0m \u001b[43m \u001b[49m\u001b[43msession\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msession\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 628\u001b[0m \u001b[43m \u001b[49m\u001b[43mcomment\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcomment\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 629\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[1;32m 630\u001b[0m write_concern\u001b[38;5;241m.\u001b[39macknowledged,\n\u001b[1;32m 631\u001b[0m )\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/collection.py:562\u001b[0m, in \u001b[0;36mCollection._insert_one\u001b[0;34m(self, doc, ordered, write_concern, op_id, bypass_doc_val, session, comment)\u001b[0m\n\u001b[1;32m 550\u001b[0m result \u001b[38;5;241m=\u001b[39m sock_info\u001b[38;5;241m.\u001b[39mcommand(\n\u001b[1;32m 551\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m__database\u001b[38;5;241m.\u001b[39mname,\n\u001b[1;32m 552\u001b[0m command,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 557\u001b[0m retryable_write\u001b[38;5;241m=\u001b[39mretryable_write,\n\u001b[1;32m 558\u001b[0m )\n\u001b[1;32m 560\u001b[0m _check_write_command_response(result)\n\u001b[0;32m--> 562\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__database\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_retryable_write\u001b[49m\u001b[43m(\u001b[49m\u001b[43macknowledged\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_insert_command\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msession\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 564\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(doc, RawBSONDocument):\n\u001b[1;32m 565\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m doc\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_id\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/mongo_client.py:1448\u001b[0m, in \u001b[0;36mMongoClient._retryable_write\u001b[0;34m(self, retryable, func, session)\u001b[0m\n\u001b[1;32m 1446\u001b[0m \u001b[38;5;124;03m\"\"\"Internal retryable write helper.\"\"\"\u001b[39;00m\n\u001b[1;32m 1447\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_tmp_session(session) \u001b[38;5;28;01mas\u001b[39;00m s:\n\u001b[0;32m-> 1448\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_retry_with_session\u001b[49m\u001b[43m(\u001b[49m\u001b[43mretryable\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43ms\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/mongo_client.py:1321\u001b[0m, in \u001b[0;36mMongoClient._retry_with_session\u001b[0;34m(self, retryable, func, session, bulk)\u001b[0m\n\u001b[1;32m 1311\u001b[0m \u001b[38;5;124;03m\"\"\"Execute an operation with at most one consecutive retries\u001b[39;00m\n\u001b[1;32m 1312\u001b[0m \n\u001b[1;32m 1313\u001b[0m \u001b[38;5;124;03mReturns func()'s return value on success. On error retries the same\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1316\u001b[0m \u001b[38;5;124;03mRe-raises any exception thrown by func().\u001b[39;00m\n\u001b[1;32m 1317\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1318\u001b[0m retryable \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 1319\u001b[0m retryable \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions\u001b[38;5;241m.\u001b[39mretry_writes \u001b[38;5;129;01mand\u001b[39;00m session \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m session\u001b[38;5;241m.\u001b[39min_transaction\n\u001b[1;32m 1320\u001b[0m )\n\u001b[0;32m-> 1321\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_retry_internal\u001b[49m\u001b[43m(\u001b[49m\u001b[43mretryable\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msession\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbulk\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/_csot.py:105\u001b[0m, in \u001b[0;36mapply..csot_wrapper\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m _TimeoutContext(timeout):\n\u001b[1;32m 104\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m func(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m--> 105\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/mongo_client.py:1353\u001b[0m, in \u001b[0;36mMongoClient._retry_internal\u001b[0;34m(self, retryable, func, session, bulk)\u001b[0m\n\u001b[1;32m 1349\u001b[0m server \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_select_server(writable_server_selector, session)\n\u001b[1;32m 1350\u001b[0m supports_session \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 1351\u001b[0m session \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m server\u001b[38;5;241m.\u001b[39mdescription\u001b[38;5;241m.\u001b[39mretryable_writes_supported\n\u001b[1;32m 1352\u001b[0m )\n\u001b[0;32m-> 1353\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_socket(server, session) \u001b[38;5;28;01mas\u001b[39;00m sock_info:\n\u001b[1;32m 1354\u001b[0m max_wire_version \u001b[38;5;241m=\u001b[39m sock_info\u001b[38;5;241m.\u001b[39mmax_wire_version\n\u001b[1;32m 1355\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m retryable \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m supports_session:\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/contextlib.py:135\u001b[0m, in \u001b[0;36m_GeneratorContextManager.__enter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwds, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfunc\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 135\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mnext\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgen\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 136\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mStopIteration\u001b[39;00m:\n\u001b[1;32m 137\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgenerator didn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt yield\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28mNone\u001b[39m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/mongo_client.py:1189\u001b[0m, in \u001b[0;36mMongoClient._get_socket\u001b[0;34m(self, server, session)\u001b[0m\n\u001b[1;32m 1187\u001b[0m \u001b[38;5;28;01myield\u001b[39;00m session\u001b[38;5;241m.\u001b[39m_pinned_connection\n\u001b[1;32m 1188\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m-> 1189\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m server\u001b[38;5;241m.\u001b[39mget_socket(handler\u001b[38;5;241m=\u001b[39merr_handler) \u001b[38;5;28;01mas\u001b[39;00m sock_info:\n\u001b[1;32m 1190\u001b[0m \u001b[38;5;66;03m# Pin this session to the selected server or connection.\u001b[39;00m\n\u001b[1;32m 1191\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m in_txn \u001b[38;5;129;01mand\u001b[39;00m server\u001b[38;5;241m.\u001b[39mdescription\u001b[38;5;241m.\u001b[39mserver_type \u001b[38;5;129;01min\u001b[39;00m (\n\u001b[1;32m 1192\u001b[0m SERVER_TYPE\u001b[38;5;241m.\u001b[39mMongos,\n\u001b[1;32m 1193\u001b[0m SERVER_TYPE\u001b[38;5;241m.\u001b[39mLoadBalancer,\n\u001b[1;32m 1194\u001b[0m ):\n\u001b[1;32m 1195\u001b[0m session\u001b[38;5;241m.\u001b[39m_pin(server, sock_info)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/contextlib.py:135\u001b[0m, in \u001b[0;36m_GeneratorContextManager.__enter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwds, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfunc\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 135\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mnext\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgen\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 136\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mStopIteration\u001b[39;00m:\n\u001b[1;32m 137\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgenerator didn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt yield\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28mNone\u001b[39m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/pool.py:1406\u001b[0m, in \u001b[0;36mPool.get_socket\u001b[0;34m(self, handler)\u001b[0m\n\u001b[1;32m 1403\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39menabled_for_cmap:\n\u001b[1;32m 1404\u001b[0m listeners\u001b[38;5;241m.\u001b[39mpublish_connection_check_out_started(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maddress)\n\u001b[0;32m-> 1406\u001b[0m sock_info \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_socket\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhandler\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mhandler\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1408\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39menabled_for_cmap:\n\u001b[1;32m 1409\u001b[0m listeners\u001b[38;5;241m.\u001b[39mpublish_connection_checked_out(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maddress, sock_info\u001b[38;5;241m.\u001b[39mid)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/pool.py:1519\u001b[0m, in \u001b[0;36mPool._get_socket\u001b[0;34m(self, handler)\u001b[0m\n\u001b[1;32m 1517\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m: \u001b[38;5;66;03m# We need to create a new connection\u001b[39;00m\n\u001b[1;32m 1518\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1519\u001b[0m sock_info \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhandler\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mhandler\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1520\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 1521\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_max_connecting_cond:\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/pool.py:1377\u001b[0m, in \u001b[0;36mPool.connect\u001b[0;34m(self, handler)\u001b[0m\n\u001b[1;32m 1374\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m handler:\n\u001b[1;32m 1375\u001b[0m handler\u001b[38;5;241m.\u001b[39mcontribute_socket(sock_info, completed_handshake\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m-> 1377\u001b[0m \u001b[43msock_info\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mauthenticate\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1378\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m:\n\u001b[1;32m 1379\u001b[0m sock_info\u001b[38;5;241m.\u001b[39mclose_socket(ConnectionClosedReason\u001b[38;5;241m.\u001b[39mERROR)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/pool.py:869\u001b[0m, in \u001b[0;36mSocketInfo.authenticate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 867\u001b[0m creds \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mopts\u001b[38;5;241m.\u001b[39m_credentials\n\u001b[1;32m 868\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m creds:\n\u001b[0;32m--> 869\u001b[0m \u001b[43mauth\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mauthenticate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcreds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 870\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mready \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m 871\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39menabled_for_cmap:\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/auth.py:549\u001b[0m, in \u001b[0;36mauthenticate\u001b[0;34m(credentials, sock_info)\u001b[0m\n\u001b[1;32m 547\u001b[0m mechanism \u001b[38;5;241m=\u001b[39m credentials\u001b[38;5;241m.\u001b[39mmechanism\n\u001b[1;32m 548\u001b[0m auth_func \u001b[38;5;241m=\u001b[39m _AUTH_MAP[mechanism]\n\u001b[0;32m--> 549\u001b[0m \u001b[43mauth_func\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcredentials\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msock_info\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/auth.py:475\u001b[0m, in \u001b[0;36m_authenticate_default\u001b[0;34m(credentials, sock_info)\u001b[0m\n\u001b[1;32m 473\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _authenticate_scram(credentials, sock_info, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSCRAM-SHA-256\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 474\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 475\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_authenticate_scram\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcredentials\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msock_info\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mSCRAM-SHA-1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 476\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 477\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _authenticate_scram(credentials, sock_info, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSCRAM-SHA-1\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/auth.py:201\u001b[0m, in \u001b[0;36m_authenticate_scram\u001b[0;34m(credentials, sock_info, mechanism)\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 200\u001b[0m nonce, first_bare, cmd \u001b[38;5;241m=\u001b[39m _authenticate_scram_start(credentials, mechanism)\n\u001b[0;32m--> 201\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43msock_info\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcommand\u001b[49m\u001b[43m(\u001b[49m\u001b[43msource\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 203\u001b[0m server_first \u001b[38;5;241m=\u001b[39m res[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpayload\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 204\u001b[0m parsed \u001b[38;5;241m=\u001b[39m _parse_scram_response(server_first)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/pool.py:766\u001b[0m, in \u001b[0;36mSocketInfo.command\u001b[0;34m(self, dbname, spec, read_preference, codec_options, check, allowable_errors, read_concern, write_concern, parse_write_concern_error, collation, session, client, retryable_write, publish_events, user_fields, exhaust_allowed)\u001b[0m\n\u001b[1;32m 764\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_raise_if_not_writable(unacknowledged)\n\u001b[1;32m 765\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 766\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcommand\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 767\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 768\u001b[0m \u001b[43m \u001b[49m\u001b[43mdbname\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 769\u001b[0m \u001b[43m \u001b[49m\u001b[43mspec\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 770\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mis_mongos\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 771\u001b[0m \u001b[43m \u001b[49m\u001b[43mread_preference\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 772\u001b[0m \u001b[43m \u001b[49m\u001b[43mcodec_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 773\u001b[0m \u001b[43m \u001b[49m\u001b[43msession\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 774\u001b[0m \u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 775\u001b[0m \u001b[43m \u001b[49m\u001b[43mcheck\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 776\u001b[0m \u001b[43m \u001b[49m\u001b[43mallowable_errors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 777\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43maddress\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 778\u001b[0m \u001b[43m \u001b[49m\u001b[43mlisteners\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 779\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax_bson_size\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 780\u001b[0m \u001b[43m \u001b[49m\u001b[43mread_concern\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 781\u001b[0m \u001b[43m \u001b[49m\u001b[43mparse_write_concern_error\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparse_write_concern_error\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 782\u001b[0m \u001b[43m \u001b[49m\u001b[43mcollation\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcollation\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 783\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression_ctx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompression_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 784\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_op_msg\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mop_msg_enabled\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 785\u001b[0m \u001b[43m \u001b[49m\u001b[43munacknowledged\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43munacknowledged\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 786\u001b[0m \u001b[43m \u001b[49m\u001b[43muser_fields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43muser_fields\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 787\u001b[0m \u001b[43m \u001b[49m\u001b[43mexhaust_allowed\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mexhaust_allowed\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 788\u001b[0m \u001b[43m \u001b[49m\u001b[43mwrite_concern\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwrite_concern\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 789\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 790\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (OperationFailure, NotPrimaryError):\n\u001b[1;32m 791\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/network.py:166\u001b[0m, in \u001b[0;36mcommand\u001b[0;34m(sock_info, dbname, spec, is_mongos, read_preference, codec_options, session, client, check, allowable_errors, address, listeners, max_bson_size, read_concern, parse_write_concern_error, collation, compression_ctx, use_op_msg, unacknowledged, user_fields, exhaust_allowed, write_concern)\u001b[0m\n\u001b[1;32m 164\u001b[0m client\u001b[38;5;241m.\u001b[39m_process_response(response_doc, session)\n\u001b[1;32m 165\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m check:\n\u001b[0;32m--> 166\u001b[0m \u001b[43mhelpers\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_check_command_response\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 167\u001b[0m \u001b[43m \u001b[49m\u001b[43mresponse_doc\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 168\u001b[0m \u001b[43m \u001b[49m\u001b[43msock_info\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax_wire_version\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 169\u001b[0m \u001b[43m \u001b[49m\u001b[43mallowable_errors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 170\u001b[0m \u001b[43m \u001b[49m\u001b[43mparse_write_concern_error\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparse_write_concern_error\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 171\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 172\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 173\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m publish:\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/helpers.py:181\u001b[0m, in \u001b[0;36m_check_command_response\u001b[0;34m(response, max_wire_version, allowable_errors, parse_write_concern_error)\u001b[0m\n\u001b[1;32m 178\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m code \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m43\u001b[39m:\n\u001b[1;32m 179\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CursorNotFound(errmsg, code, response, max_wire_version)\n\u001b[0;32m--> 181\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m OperationFailure(errmsg, code, response, max_wire_version)\n", + "\u001b[0;31mOperationFailure\u001b[0m: Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}" + ] + } + ], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://user:password@192.168.1.101:27017\")\n", + "# DB\n", + "\n", + "mydb = myclient[\"dev\"]\n", + "\n", + "# Collectino\n", + "\n", + "mycol = mydb[\"netdata\"]\n", + "\n", + "mydict = { \"name\": \"Peter\", \"address\": \"Lowstreet 27\" }\n", + "\n", + "x = mycol.insert_one(mydict)\n", + "\n", + "print(x.inserted_id)\n", + "\n", + "# print(mydb.list_collection_names())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ceedf6f6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/playground/Untitled.ipynb b/playground/Untitled.ipynb new file mode 100644 index 0000000..b8b4f05 --- /dev/null +++ b/playground/Untitled.ipynb @@ -0,0 +1,357 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "b81d2b56-4aaa-4dbc-ada4-fe519b4d19bc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting ipyvizzu\n", + " Downloading ipyvizzu-0.12.1-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: jsonschema in /opt/conda/lib/python3.10/site-packages (from ipyvizzu) (4.7.2)\n", + "Requirement already satisfied: IPython in /opt/conda/lib/python3.10/site-packages (from ipyvizzu) (8.4.0)\n", + "Requirement already satisfied: pandas in /opt/conda/lib/python3.10/site-packages (from ipyvizzu) (1.4.3)\n", + "Requirement already satisfied: pygments>=2.4.0 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (2.12.0)\n", + "Requirement already satisfied: traitlets>=5 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (5.3.0)\n", + "Requirement already satisfied: matplotlib-inline in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.1.3)\n", + "Requirement already satisfied: jedi>=0.16 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.18.1)\n", + "Requirement already satisfied: decorator in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (5.1.1)\n", + "Requirement already satisfied: backcall in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.2.0)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (3.0.30)\n", + "Requirement already satisfied: pexpect>4.3 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (4.8.0)\n", + "Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (63.2.0)\n", + "Requirement already satisfied: stack-data in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.3.0)\n", + "Requirement already satisfied: pickleshare in /opt/conda/lib/python3.10/site-packages (from IPython->ipyvizzu) (0.7.5)\n", + "Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /opt/conda/lib/python3.10/site-packages (from jsonschema->ipyvizzu) (0.18.1)\n", + "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.10/site-packages (from jsonschema->ipyvizzu) (21.4.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.1 in /opt/conda/lib/python3.10/site-packages (from pandas->ipyvizzu) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /opt/conda/lib/python3.10/site-packages (from pandas->ipyvizzu) (2022.1)\n", + "Requirement already satisfied: numpy>=1.21.0 in /opt/conda/lib/python3.10/site-packages (from pandas->ipyvizzu) (1.22.4)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /opt/conda/lib/python3.10/site-packages (from jedi>=0.16->IPython->ipyvizzu) (0.8.3)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.10/site-packages (from pexpect>4.3->IPython->ipyvizzu) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.10/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->IPython->ipyvizzu) (0.2.5)\n", + "Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.10/site-packages (from python-dateutil>=2.8.1->pandas->ipyvizzu) (1.16.0)\n", + "Requirement already satisfied: pure-eval in /opt/conda/lib/python3.10/site-packages (from stack-data->IPython->ipyvizzu) (0.2.2)\n", + "Requirement already satisfied: asttokens in /opt/conda/lib/python3.10/site-packages (from stack-data->IPython->ipyvizzu) (2.0.5)\n", + "Requirement already satisfied: executing in /opt/conda/lib/python3.10/site-packages (from stack-data->IPython->ipyvizzu) (0.9.1)\n", + "Installing collected packages: ipyvizzu\n", + "Successfully installed ipyvizzu-0.12.1\n" + ] + } + ], + "source": [ + "!pip install ipyvizzu" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "0ee49520-1c68-4e04-bd27-9f6859bd94ff", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "if (window.IpyVizzu) { window.IpyVizzu.clearInhibitScroll(element); }" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "if (window.IpyVizzu) { window.IpyVizzu.clearInhibitScroll(element); }" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/bin/bash: curl: command not found\n" + ] + } + ], + "source": [ + "!curl -o trst.csv 'https://demo-live-data.highcharts.com/vs-load.csv'\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "cab06026-44ad-46fe-9ab6-6e3ad47d3767", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "if (window.IpyVizzu) { window.IpyVizzu.clearInhibitScroll(element); }" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "if (!window.IpyVizzu) {\n", + " class IpyVizzu \n", + " {\n", + " constructor()\n", + " {\n", + " IpyVizzu.inhibitScroll = false;\n", + " IpyVizzu.nbconvert = false;\n", + " document.addEventListener('wheel', (evt) => { IpyVizzu.inhibitScroll = true }, true);\n", + " document.addEventListener('keydown', (evt) => { IpyVizzu.inhibitScroll = true }, true);\n", + " document.addEventListener('touchstart', (evt) => { IpyVizzu.inhibitScroll = true }, true);\n", + "\n", + " this.elements = {};\n", + " this.charts = {};\n", + " \n", + " this.snapshots = {};\n", + " this.displays = {};\n", + "\n", + " this.events = {};\n", + " this.loaded = {};\n", + " this.libs = {};\n", + " }\n", + "\n", + " static clearInhibitScroll(element)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " IpyVizzu.inhibitScroll = false;\n", + " }\n", + "\n", + " createChart(element, chartId, vizzulib, divWidth, divHeight) {\n", + " this.elements[chartId] = document.createElement(\"div\");\n", + " this.elements[chartId].style.cssText = `width: ${divWidth}; height: ${divHeight};`;\n", + " this.loaded[chartId] = import(vizzulib);\n", + " this.charts[chartId] = this.loaded[chartId].then(Vizzu => {\n", + " this.libs[chartId] = Vizzu.default;\n", + " return new Vizzu.default(this.elements[chartId]).initializing\n", + " });\n", + " this._moveHere(chartId, element);\n", + " }\n", + "\n", + " animate(element, chartId, displayTarget, scrollEnabled, getChartTarget, chartAnimOpts)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " if (displayTarget === 'end') this._moveHere(chartId, element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " if (displayTarget === 'actual') this._moveHere(chartId, element);\n", + " this._scroll(chartId, scrollEnabled);\n", + " let chartTarget = getChartTarget(this.libs[chartId]);\n", + " if (typeof chartTarget === 'string') chartTarget = this.snapshots[chartTarget];\n", + " return chart.animate(chartTarget, chartAnimOpts);\n", + " });\n", + " }\n", + "\n", + " store(element, chartId, id)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " this.snapshots[id] = chart.store();\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " feature(element, chartId, name, enabled)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " chart.feature(name, enabled);\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " setEvent(element, chartId, id, event, handler)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " this.events[id] = handler;\n", + " chart.on(event, this.events[id]);\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " clearEvent(element, chartId, id, event)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " chart.off(event, this.events[id]);\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " log(element, chartId, chartProperty)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._hide(element);\n", + " this.charts[chartId] = this.charts[chartId].then(chart => {\n", + " console.log(chart[chartProperty])\n", + " return chart;\n", + " });\n", + " }\n", + "\n", + " _moveHere(chartId, element)\n", + " {\n", + " if (IpyVizzu.nbconvert) IpyVizzu._display(this.elements[chartId], element);\n", + " element.append(this.elements[chartId]);\n", + " }\n", + "\n", + " _scroll(chartId, enabled)\n", + " {\n", + " if (!IpyVizzu.inhibitScroll && enabled) {\n", + " this.elements[chartId].scrollIntoView({ behavior: \"auto\", block: \"center\" });\n", + " }\n", + " }\n", + "\n", + " static _hide(element) {\n", + " document.getElementById(element.selector.substring(1)).parentNode.style.display = 'none';\n", + " }\n", + "\n", + " static _display(prevElement, element) {\n", + " if (prevElement.parentNode) {\n", + " prevElement.parentNode.style.display = \"none\";\n", + " }\n", + " document.getElementById(element.selector.substring(1)).parentNode.style.display = 'flex';\n", + " document.getElementById(element.selector.substring(1)).parentNode.style.margin = 'auto';\n", + " }\n", + " }\n", + "\n", + " window.IpyVizzu = IpyVizzu;\n", + " window.ipyvizzu = new window.IpyVizzu();\n", + "}" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.createChart(element, '37e72ef', 'https://cdn.jsdelivr.net/npm/vizzu@~0.5.0/dist/vizzu.min.js', '640px', '360px');" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"data\": {\"series\": [{\"name\": \"Count\", \"type\": \"measure\", \"values\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]}, {\"name\": \"PassengerId\", \"type\": \"measure\", \"values\": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 157.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 167.0, 168.0, 169.0, 170.0, 171.0, 172.0, 173.0, 174.0, 175.0, 176.0, 177.0, 178.0, 179.0, 180.0, 181.0, 182.0, 183.0, 184.0, 185.0, 186.0, 187.0, 188.0, 189.0, 190.0, 191.0, 192.0, 193.0, 194.0, 195.0, 196.0, 197.0, 198.0, 199.0, 200.0, 201.0, 202.0, 203.0, 204.0, 205.0, 206.0, 207.0, 208.0, 209.0, 210.0, 211.0, 212.0, 213.0, 214.0, 215.0, 216.0, 217.0, 218.0, 219.0, 220.0, 221.0, 222.0, 223.0, 224.0, 225.0, 226.0, 227.0, 228.0, 229.0, 230.0, 231.0, 232.0, 233.0, 234.0, 235.0, 236.0, 237.0, 238.0, 239.0, 240.0, 241.0, 242.0, 243.0, 244.0, 245.0, 246.0, 247.0, 248.0, 249.0, 250.0, 251.0, 252.0, 253.0, 254.0, 255.0, 256.0, 257.0, 258.0, 259.0, 260.0, 261.0, 262.0, 263.0, 264.0, 265.0, 266.0, 267.0, 268.0, 269.0, 270.0, 271.0, 272.0, 273.0, 274.0, 275.0, 276.0, 277.0, 278.0, 279.0, 280.0, 281.0, 282.0, 283.0, 284.0, 285.0, 286.0, 287.0, 288.0, 289.0, 290.0, 291.0, 292.0, 293.0, 294.0, 295.0, 296.0, 297.0, 298.0, 299.0, 300.0, 301.0, 302.0, 303.0, 304.0, 305.0, 306.0, 307.0, 308.0, 309.0, 310.0, 311.0, 312.0, 313.0, 314.0, 315.0, 316.0, 317.0, 318.0, 319.0, 320.0, 321.0, 322.0, 323.0, 324.0, 325.0, 326.0, 327.0, 328.0, 329.0, 330.0, 331.0, 332.0, 333.0, 334.0, 335.0, 336.0, 337.0, 338.0, 339.0, 340.0, 341.0, 342.0, 343.0, 344.0, 345.0, 346.0, 347.0, 348.0, 349.0, 350.0, 351.0, 352.0, 353.0, 354.0, 355.0, 356.0, 357.0, 358.0, 359.0, 360.0, 361.0, 362.0, 363.0, 364.0, 365.0, 366.0, 367.0, 368.0, 369.0, 370.0, 371.0, 372.0, 373.0, 374.0, 375.0, 376.0, 377.0, 378.0, 379.0, 380.0, 381.0, 382.0, 383.0, 384.0, 385.0, 386.0, 387.0, 388.0, 389.0, 390.0, 391.0, 392.0, 393.0, 394.0, 395.0, 396.0, 397.0, 398.0, 399.0, 400.0, 401.0, 402.0, 403.0, 404.0, 405.0, 406.0, 407.0, 408.0, 409.0, 410.0, 411.0, 412.0, 413.0, 414.0, 415.0, 416.0, 417.0, 418.0, 419.0, 420.0, 421.0, 422.0, 423.0, 424.0, 425.0, 426.0, 427.0, 428.0, 429.0, 430.0, 431.0, 432.0, 433.0, 434.0, 435.0, 436.0, 437.0, 438.0, 439.0, 440.0, 441.0, 442.0, 443.0, 444.0, 445.0, 446.0, 447.0, 448.0, 449.0, 450.0, 451.0, 452.0, 453.0, 454.0, 455.0, 456.0, 457.0, 458.0, 459.0, 460.0, 461.0, 462.0, 463.0, 464.0, 465.0, 466.0, 467.0, 468.0, 469.0, 470.0, 471.0, 472.0, 473.0, 474.0, 475.0, 476.0, 477.0, 478.0, 479.0, 480.0, 481.0, 482.0, 483.0, 484.0, 485.0, 486.0, 487.0, 488.0, 489.0, 490.0, 491.0, 492.0, 493.0, 494.0, 495.0, 496.0, 497.0, 498.0, 499.0, 500.0, 501.0, 502.0, 503.0, 504.0, 505.0, 506.0, 507.0, 508.0, 509.0, 510.0, 511.0, 512.0, 513.0, 514.0, 515.0, 516.0, 517.0, 518.0, 519.0, 520.0, 521.0, 522.0, 523.0, 524.0, 525.0, 526.0, 527.0, 528.0, 529.0, 530.0, 531.0, 532.0, 533.0, 534.0, 535.0, 536.0, 537.0, 538.0, 539.0, 540.0, 541.0, 542.0, 543.0, 544.0, 545.0, 546.0, 547.0, 548.0, 549.0, 550.0, 551.0, 552.0, 553.0, 554.0, 555.0, 556.0, 557.0, 558.0, 559.0, 560.0, 561.0, 562.0, 563.0, 564.0, 565.0, 566.0, 567.0, 568.0, 569.0, 570.0, 571.0, 572.0, 573.0, 574.0, 575.0, 576.0, 577.0, 578.0, 579.0, 580.0, 581.0, 582.0, 583.0, 584.0, 585.0, 586.0, 587.0, 588.0, 589.0, 590.0, 591.0, 592.0, 593.0, 594.0, 595.0, 596.0, 597.0, 598.0, 599.0, 600.0, 601.0, 602.0, 603.0, 604.0, 605.0, 606.0, 607.0, 608.0, 609.0, 610.0, 611.0, 612.0, 613.0, 614.0, 615.0, 616.0, 617.0, 618.0, 619.0, 620.0, 621.0, 622.0, 623.0, 624.0, 625.0, 626.0, 627.0, 628.0, 629.0, 630.0, 631.0, 632.0, 633.0, 634.0, 635.0, 636.0, 637.0, 638.0, 639.0, 640.0, 641.0, 642.0, 643.0, 644.0, 645.0, 646.0, 647.0, 648.0, 649.0, 650.0, 651.0, 652.0, 653.0, 654.0, 655.0, 656.0, 657.0, 658.0, 659.0, 660.0, 661.0, 662.0, 663.0, 664.0, 665.0, 666.0, 667.0, 668.0, 669.0, 670.0, 671.0, 672.0, 673.0, 674.0, 675.0, 676.0, 677.0, 678.0, 679.0, 680.0, 681.0, 682.0, 683.0, 684.0, 685.0, 686.0, 687.0, 688.0, 689.0, 690.0, 691.0, 692.0, 693.0, 694.0, 695.0, 696.0, 697.0, 698.0, 699.0, 700.0, 701.0, 702.0, 703.0, 704.0, 705.0, 706.0, 707.0, 708.0, 709.0, 710.0, 711.0, 712.0, 713.0, 714.0, 715.0, 716.0, 717.0, 718.0, 719.0, 720.0, 721.0, 722.0, 723.0, 724.0, 725.0, 726.0, 727.0, 728.0, 729.0, 730.0, 731.0, 732.0, 733.0, 734.0, 735.0, 736.0, 737.0, 738.0, 739.0, 740.0, 741.0, 742.0, 743.0, 744.0, 745.0, 746.0, 747.0, 748.0, 749.0, 750.0, 751.0, 752.0, 753.0, 754.0, 755.0, 756.0, 757.0, 758.0, 759.0, 760.0, 761.0, 762.0, 763.0, 764.0, 765.0, 766.0, 767.0, 768.0, 769.0, 770.0, 771.0, 772.0, 773.0, 774.0, 775.0, 776.0, 777.0, 778.0, 779.0, 780.0, 781.0, 782.0, 783.0, 784.0, 785.0, 786.0, 787.0, 788.0, 789.0, 790.0, 791.0, 792.0, 793.0, 794.0, 795.0, 796.0, 797.0, 798.0, 799.0, 800.0, 801.0, 802.0, 803.0, 804.0, 805.0, 806.0, 807.0, 808.0, 809.0, 810.0, 811.0, 812.0, 813.0, 814.0, 815.0, 816.0, 817.0, 818.0, 819.0, 820.0, 821.0, 822.0, 823.0, 824.0, 825.0, 826.0, 827.0, 828.0, 829.0, 830.0, 831.0, 832.0, 833.0, 834.0, 835.0, 836.0, 837.0, 838.0, 839.0, 840.0, 841.0, 842.0, 843.0, 844.0, 845.0, 846.0, 847.0, 848.0, 849.0, 850.0, 851.0, 852.0, 853.0, 854.0, 855.0, 856.0, 857.0, 858.0, 859.0, 860.0, 861.0, 862.0, 863.0, 864.0, 865.0, 866.0, 867.0, 868.0, 869.0, 870.0, 871.0, 872.0, 873.0, 874.0, 875.0, 876.0, 877.0, 878.0, 879.0, 880.0, 881.0, 882.0, 883.0, 884.0, 885.0, 886.0, 887.0, 888.0, 889.0, 890.0, 891.0]}, {\"name\": \"Survived\", \"type\": \"dimension\", \"values\": [\"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Survived\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Survived\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Died\", \"Survived\", \"Died\", \"Survived\", \"Died\"]}, {\"name\": \"Pclass\", \"type\": \"measure\", \"values\": [3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 1.0, 3.0, 2.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 1.0, 1.0, 2.0, 3.0, 2.0, 3.0, 3.0, 1.0, 1.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 2.0, 3.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 2.0, 1.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 2.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 2.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 2.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 1.0, 1.0, 2.0, 3.0, 3.0, 1.0, 1.0, 3.0, 2.0, 3.0, 3.0, 1.0, 1.0, 1.0, 3.0, 2.0, 1.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 1.0, 1.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 1.0, 1.0, 1.0, 2.0, 1.0, 1.0, 1.0, 2.0, 3.0, 2.0, 3.0, 2.0, 2.0, 1.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 3.0, 2.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 1.0, 2.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 1.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 2.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 1.0, 1.0, 3.0, 2.0, 1.0, 2.0, 2.0, 3.0, 3.0, 2.0, 3.0, 1.0, 2.0, 1.0, 3.0, 1.0, 2.0, 3.0, 1.0, 1.0, 3.0, 3.0, 1.0, 1.0, 2.0, 3.0, 1.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 2.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 1.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 3.0, 1.0, 3.0, 3.0, 2.0, 1.0, 3.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 2.0, 1.0, 1.0, 2.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 3.0, 3.0, 1.0, 1.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 3.0, 2.0, 1.0, 2.0, 1.0, 3.0, 1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 1.0, 2.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 2.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 2.0, 1.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0, 2.0, 1.0, 1.0, 3.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 1.0, 2.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 2.0, 2.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0, 2.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 3.0, 2.0, 2.0, 1.0, 3.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 2.0, 2.0, 3.0, 3.0, 1.0, 3.0, 3.0, 1.0, 1.0, 1.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 2.0, 2.0, 3.0, 2.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 1.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 1.0, 1.0, 3.0, 3.0, 3.0, 2.0, 1.0, 3.0, 2.0, 2.0, 2.0, 1.0, 3.0, 3.0, 3.0, 1.0, 1.0, 3.0, 2.0, 3.0, 3.0, 3.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 3.0, 3.0, 2.0, 1.0, 3.0, 1.0, 3.0]}, {\"name\": \"Name\", \"type\": \"dimension\", \"values\": [\"Braund, Mr. Owen Harris\", \"Cumings, Mrs. John Bradley (Florence Briggs Thayer)\", \"Heikkinen, Miss. Laina\", \"Futrelle, Mrs. Jacques Heath (Lily May Peel)\", \"Allen, Mr. William Henry\", \"Moran, Mr. James\", \"McCarthy, Mr. Timothy J\", \"Palsson, Master. Gosta Leonard\", \"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\", \"Nasser, Mrs. Nicholas (Adele Achem)\", \"Sandstrom, Miss. Marguerite Rut\", \"Bonnell, Miss. Elizabeth\", \"Saundercock, Mr. William Henry\", \"Andersson, Mr. Anders Johan\", \"Vestrom, Miss. Hulda Amanda Adolfina\", \"Hewlett, Mrs. (Mary D Kingcome) \", \"Rice, Master. Eugene\", \"Williams, Mr. Charles Eugene\", \"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)\", \"Masselmani, Mrs. Fatima\", \"Fynney, Mr. Joseph J\", \"Beesley, Mr. Lawrence\", \"McGowan, Miss. Anna \\\"Annie\\\"\", \"Sloper, Mr. William Thompson\", \"Palsson, Miss. Torborg Danira\", \"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)\", \"Emir, Mr. Farred Chehab\", \"Fortune, Mr. Charles Alexander\", \"O'Dwyer, Miss. Ellen \\\"Nellie\\\"\", \"Todoroff, Mr. Lalio\", \"Uruchurtu, Don. Manuel E\", \"Spencer, Mrs. William Augustus (Marie Eugenie)\", \"Glynn, Miss. Mary Agatha\", \"Wheadon, Mr. Edward H\", \"Meyer, Mr. Edgar Joseph\", \"Holverson, Mr. Alexander Oskar\", \"Mamee, Mr. Hanna\", \"Cann, Mr. Ernest Charles\", \"Vander Planke, Miss. Augusta Maria\", \"Nicola-Yarred, Miss. Jamila\", \"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)\", \"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)\", \"Kraeff, Mr. Theodor\", \"Laroche, Miss. Simonne Marie Anne Andree\", \"Devaney, Miss. Margaret Delia\", \"Rogers, Mr. William John\", \"Lennon, Mr. Denis\", \"O'Driscoll, Miss. Bridget\", \"Samaan, Mr. Youssef\", \"Arnold-Franchi, Mrs. Josef (Josefine Franchi)\", \"Panula, Master. Juha Niilo\", \"Nosworthy, Mr. Richard Cater\", \"Harper, Mrs. Henry Sleeper (Myna Haxtun)\", \"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)\", \"Ostby, Mr. Engelhart Cornelius\", \"Woolner, Mr. Hugh\", \"Rugg, Miss. Emily\", \"Novel, Mr. Mansouer\", \"West, Miss. Constance Mirium\", \"Goodwin, Master. William Frederick\", \"Sirayanian, Mr. Orsen\", \"Icard, Miss. Amelie\", \"Harris, Mr. Henry Birkhardt\", \"Skoog, Master. Harald\", \"Stewart, Mr. Albert A\", \"Moubarek, Master. Gerios\", \"Nye, Mrs. (Elizabeth Ramell)\", \"Crease, Mr. Ernest James\", \"Andersson, Miss. Erna Alexandra\", \"Kink, Mr. Vincenz\", \"Jenkin, Mr. Stephen Curnow\", \"Goodwin, Miss. Lillian Amy\", \"Hood, Mr. Ambrose Jr\", \"Chronopoulos, Mr. Apostolos\", \"Bing, Mr. Lee\", \"Moen, Mr. Sigurd Hansen\", \"Staneff, Mr. Ivan\", \"Moutal, Mr. Rahamin Haim\", \"Caldwell, Master. Alden Gates\", \"Dowdell, Miss. Elizabeth\", \"Waelens, Mr. Achille\", \"Sheerlinck, Mr. Jan Baptist\", \"McDermott, Miss. Brigdet Delia\", \"Carrau, Mr. Francisco M\", \"Ilett, Miss. Bertha\", \"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)\", \"Ford, Mr. William Neal\", \"Slocovski, Mr. Selman Francis\", \"Fortune, Miss. Mabel Helen\", \"Celotti, Mr. Francesco\", \"Christmann, Mr. Emil\", \"Andreasson, Mr. Paul Edvin\", \"Chaffee, Mr. Herbert Fuller\", \"Dean, Mr. Bertram Frank\", \"Coxon, Mr. Daniel\", \"Shorney, Mr. Charles Joseph\", \"Goldschmidt, Mr. George B\", \"Greenfield, Mr. William Bertram\", \"Doling, Mrs. John T (Ada Julia Bone)\", \"Kantor, Mr. Sinai\", \"Petranec, Miss. Matilda\", \"Petroff, Mr. Pastcho (\\\"Pentcho\\\")\", \"White, Mr. Richard Frasar\", \"Johansson, Mr. Gustaf Joel\", \"Gustafsson, Mr. Anders Vilhelm\", \"Mionoff, Mr. Stoytcho\", \"Salkjelsvik, Miss. Anna Kristine\", \"Moss, Mr. Albert Johan\", \"Rekic, Mr. Tido\", \"Moran, Miss. Bertha\", \"Porter, Mr. Walter Chamberlain\", \"Zabour, Miss. Hileni\", \"Barton, Mr. David John\", \"Jussila, Miss. Katriina\", \"Attalah, Miss. Malake\", \"Pekoniemi, Mr. Edvard\", \"Connors, Mr. Patrick\", \"Turpin, Mr. William John Robert\", \"Baxter, Mr. Quigg Edmond\", \"Andersson, Miss. Ellis Anna Maria\", \"Hickman, Mr. Stanley George\", \"Moore, Mr. Leonard Charles\", \"Nasser, Mr. Nicholas\", \"Webber, Miss. Susan\", \"White, Mr. Percival Wayland\", \"Nicola-Yarred, Master. Elias\", \"McMahon, Mr. Martin\", \"Madsen, Mr. Fridtjof Arne\", \"Peter, Miss. Anna\", \"Ekstrom, Mr. Johan\", \"Drazenoic, Mr. Jozef\", \"Coelho, Mr. Domingos Fernandeo\", \"Robins, Mrs. Alexander A (Grace Charity Laury)\", \"Weisz, Mrs. Leopold (Mathilde Francoise Pede)\", \"Sobey, Mr. Samuel James Hayden\", \"Richard, Mr. Emile\", \"Newsom, Miss. Helen Monypeny\", \"Futrelle, Mr. Jacques Heath\", \"Osen, Mr. Olaf Elon\", \"Giglio, Mr. Victor\", \"Boulos, Mrs. Joseph (Sultana)\", \"Nysten, Miss. Anna Sofia\", \"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)\", \"Burke, Mr. Jeremiah\", \"Andrew, Mr. Edgardo Samuel\", \"Nicholls, Mr. Joseph Charles\", \"Andersson, Mr. August Edvard (\\\"Wennerstrom\\\")\", \"Ford, Miss. Robina Maggie \\\"Ruby\\\"\", \"Navratil, Mr. Michel (\\\"Louis M Hoffman\\\")\", \"Byles, Rev. Thomas Roussel Davids\", \"Bateman, Rev. Robert James\", \"Pears, Mrs. Thomas (Edith Wearne)\", \"Meo, Mr. Alfonzo\", \"van Billiard, Mr. Austin Blyler\", \"Olsen, Mr. Ole Martin\", \"Williams, Mr. Charles Duane\", \"Gilnagh, Miss. Katherine \\\"Katie\\\"\", \"Corn, Mr. Harry\", \"Smiljanic, Mr. Mile\", \"Sage, Master. Thomas Henry\", \"Cribb, Mr. John Hatfield\", \"Watt, Mrs. James (Elizabeth \\\"Bessie\\\" Inglis Milne)\", \"Bengtsson, Mr. John Viktor\", \"Calic, Mr. Jovo\", \"Panula, Master. Eino Viljami\", \"Goldsmith, Master. Frank John William \\\"Frankie\\\"\", \"Chibnall, Mrs. (Edith Martha Bowerman)\", \"Skoog, Mrs. William (Anna Bernhardina Karlsson)\", \"Baumann, Mr. John D\", \"Ling, Mr. Lee\", \"Van der hoef, Mr. Wyckoff\", \"Rice, Master. Arthur\", \"Johnson, Miss. Eleanor Ileen\", \"Sivola, Mr. Antti Wilhelm\", \"Smith, Mr. James Clinch\", \"Klasen, Mr. Klas Albin\", \"Lefebre, Master. Henry Forbes\", \"Isham, Miss. Ann Elizabeth\", \"Hale, Mr. Reginald\", \"Leonard, Mr. Lionel\", \"Sage, Miss. Constance Gladys\", \"Pernot, Mr. Rene\", \"Asplund, Master. Clarence Gustaf Hugo\", \"Becker, Master. Richard F\", \"Kink-Heilmann, Miss. Luise Gretchen\", \"Rood, Mr. Hugh Roscoe\", \"O'Brien, Mrs. Thomas (Johanna \\\"Hannah\\\" Godfrey)\", \"Romaine, Mr. Charles Hallace (\\\"Mr C Rolmane\\\")\", \"Bourke, Mr. John\", \"Turcin, Mr. Stjepan\", \"Pinsky, Mrs. (Rosa)\", \"Carbines, Mr. William\", \"Andersen-Jensen, Miss. Carla Christine Nielsine\", \"Navratil, Master. Michel M\", \"Brown, Mrs. James Joseph (Margaret Tobin)\", \"Lurette, Miss. Elise\", \"Mernagh, Mr. Robert\", \"Olsen, Mr. Karl Siegwart Andreas\", \"Madigan, Miss. Margaret \\\"Maggie\\\"\", \"Yrois, Miss. Henriette (\\\"Mrs Harbeck\\\")\", \"Vande Walle, Mr. Nestor Cyriel\", \"Sage, Mr. Frederick\", \"Johanson, Mr. Jakob Alfred\", \"Youseff, Mr. Gerious\", \"Cohen, Mr. Gurshon \\\"Gus\\\"\", \"Strom, Miss. Telma Matilda\", \"Backstrom, Mr. Karl Alfred\", \"Albimona, Mr. Nassef Cassem\", \"Carr, Miss. Helen \\\"Ellen\\\"\", \"Blank, Mr. Henry\", \"Ali, Mr. Ahmed\", \"Cameron, Miss. Clear Annie\", \"Perkin, Mr. John Henry\", \"Givard, Mr. Hans Kristensen\", \"Kiernan, Mr. Philip\", \"Newell, Miss. Madeleine\", \"Honkanen, Miss. Eliina\", \"Jacobsohn, Mr. Sidney Samuel\", \"Bazzani, Miss. Albina\", \"Harris, Mr. Walter\", \"Sunderland, Mr. Victor Francis\", \"Bracken, Mr. James H\", \"Green, Mr. George Henry\", \"Nenkoff, Mr. Christo\", \"Hoyt, Mr. Frederick Maxfield\", \"Berglund, Mr. Karl Ivar Sven\", \"Mellors, Mr. William John\", \"Lovell, Mr. John Hall (\\\"Henry\\\")\", \"Fahlstrom, Mr. Arne Jonas\", \"Lefebre, Miss. Mathilde\", \"Harris, Mrs. Henry Birkhardt (Irene Wallach)\", \"Larsson, Mr. Bengt Edvin\", \"Sjostedt, Mr. Ernst Adolf\", \"Asplund, Miss. Lillian Gertrud\", \"Leyson, Mr. Robert William Norman\", \"Harknett, Miss. Alice Phoebe\", \"Hold, Mr. Stephen\", \"Collyer, Miss. Marjorie \\\"Lottie\\\"\", \"Pengelly, Mr. Frederick William\", \"Hunt, Mr. George Henry\", \"Zabour, Miss. Thamine\", \"Murphy, Miss. Katherine \\\"Kate\\\"\", \"Coleridge, Mr. Reginald Charles\", \"Maenpaa, Mr. Matti Alexanteri\", \"Attalah, Mr. Sleiman\", \"Minahan, Dr. William Edward\", \"Lindahl, Miss. Agda Thorilda Viktoria\", \"Hamalainen, Mrs. William (Anna)\", \"Beckwith, Mr. Richard Leonard\", \"Carter, Rev. Ernest Courtenay\", \"Reed, Mr. James George\", \"Strom, Mrs. Wilhelm (Elna Matilda Persson)\", \"Stead, Mr. William Thomas\", \"Lobb, Mr. William Arthur\", \"Rosblom, Mrs. Viktor (Helena Wilhelmina)\", \"Touma, Mrs. Darwis (Hanne Youssef Razi)\", \"Thorne, Mrs. Gertrude Maybelle\", \"Cherry, Miss. Gladys\", \"Ward, Miss. Anna\", \"Parrish, Mrs. (Lutie Davis)\", \"Smith, Mr. Thomas\", \"Asplund, Master. Edvin Rojj Felix\", \"Taussig, Mr. Emil\", \"Harrison, Mr. William\", \"Henry, Miss. Delia\", \"Reeves, Mr. David\", \"Panula, Mr. Ernesti Arvid\", \"Persson, Mr. Ernst Ulrik\", \"Graham, Mrs. William Thompson (Edith Junkins)\", \"Bissette, Miss. Amelia\", \"Cairns, Mr. Alexander\", \"Tornquist, Mr. William Henry\", \"Mellinger, Mrs. (Elizabeth Anne Maidment)\", \"Natsch, Mr. Charles H\", \"Healy, Miss. Hanora \\\"Nora\\\"\", \"Andrews, Miss. Kornelia Theodosia\", \"Lindblom, Miss. Augusta Charlotta\", \"Parkes, Mr. Francis \\\"Frank\\\"\", \"Rice, Master. Eric\", \"Abbott, Mrs. Stanton (Rosa Hunt)\", \"Duane, Mr. Frank\", \"Olsson, Mr. Nils Johan Goransson\", \"de Pelsmaeker, Mr. Alfons\", \"Dorking, Mr. Edward Arthur\", \"Smith, Mr. Richard William\", \"Stankovic, Mr. Ivan\", \"de Mulder, Mr. Theodore\", \"Naidenoff, Mr. Penko\", \"Hosono, Mr. Masabumi\", \"Connolly, Miss. Kate\", \"Barber, Miss. Ellen \\\"Nellie\\\"\", \"Bishop, Mrs. Dickinson H (Helen Walton)\", \"Levy, Mr. Rene Jacques\", \"Haas, Miss. Aloisia\", \"Mineff, Mr. Ivan\", \"Lewy, Mr. Ervin G\", \"Hanna, Mr. Mansour\", \"Allison, Miss. Helen Loraine\", \"Saalfeld, Mr. Adolphe\", \"Baxter, Mrs. James (Helene DeLaudeniere Chaput)\", \"Kelly, Miss. Anna Katherine \\\"Annie Kate\\\"\", \"McCoy, Mr. Bernard\", \"Johnson, Mr. William Cahoone Jr\", \"Keane, Miss. Nora A\", \"Williams, Mr. Howard Hugh \\\"Harry\\\"\", \"Allison, Master. Hudson Trevor\", \"Fleming, Miss. Margaret\", \"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)\", \"Abelson, Mr. Samuel\", \"Francatelli, Miss. Laura Mabel\", \"Hays, Miss. Margaret Bechstein\", \"Ryerson, Miss. Emily Borie\", \"Lahtinen, Mrs. William (Anna Sylfven)\", \"Hendekovic, Mr. Ignjac\", \"Hart, Mr. Benjamin\", \"Nilsson, Miss. Helmina Josefina\", \"Kantor, Mrs. Sinai (Miriam Sternin)\", \"Moraweck, Dr. Ernest\", \"Wick, Miss. Mary Natalie\", \"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)\", \"Dennis, Mr. Samuel\", \"Danoff, Mr. Yoto\", \"Slayter, Miss. Hilda Mary\", \"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)\", \"Sage, Mr. George John Jr\", \"Young, Miss. Marie Grice\", \"Nysveen, Mr. Johan Hansen\", \"Ball, Mrs. (Ada E Hall)\", \"Goldsmith, Mrs. Frank John (Emily Alice Brown)\", \"Hippach, Miss. Jean Gertrude\", \"McCoy, Miss. Agnes\", \"Partner, Mr. Austen\", \"Graham, Mr. George Edward\", \"Vander Planke, Mr. Leo Edmondus\", \"Frauenthal, Mrs. Henry William (Clara Heinsheimer)\", \"Denkoff, Mr. Mitto\", \"Pears, Mr. Thomas Clinton\", \"Burns, Miss. Elizabeth Margaret\", \"Dahl, Mr. Karl Edwart\", \"Blackwell, Mr. Stephen Weart\", \"Navratil, Master. Edmond Roger\", \"Fortune, Miss. Alice Elizabeth\", \"Collander, Mr. Erik Gustaf\", \"Sedgwick, Mr. Charles Frederick Waddington\", \"Fox, Mr. Stanley Hubert\", \"Brown, Miss. Amelia \\\"Mildred\\\"\", \"Smith, Miss. Marion Elsie\", \"Davison, Mrs. Thomas Henry (Mary E Finck)\", \"Coutts, Master. William Loch \\\"William\\\"\", \"Dimic, Mr. Jovan\", \"Odahl, Mr. Nils Martin\", \"Williams-Lambert, Mr. Fletcher Fellows\", \"Elias, Mr. Tannous\", \"Arnold-Franchi, Mr. Josef\", \"Yousif, Mr. Wazli\", \"Vanden Steen, Mr. Leo Peter\", \"Bowerman, Miss. Elsie Edith\", \"Funk, Miss. Annie Clemmer\", \"McGovern, Miss. Mary\", \"Mockler, Miss. Helen Mary \\\"Ellie\\\"\", \"Skoog, Mr. Wilhelm\", \"del Carlo, Mr. Sebastiano\", \"Barbara, Mrs. (Catherine David)\", \"Asim, Mr. Adola\", \"O'Brien, Mr. Thomas\", \"Adahl, Mr. Mauritz Nils Martin\", \"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)\", \"Moussa, Mrs. (Mantoura Boulos)\", \"Jermyn, Miss. Annie\", \"Aubart, Mme. Leontine Pauline\", \"Harder, Mr. George Achilles\", \"Wiklund, Mr. Jakob Alfred\", \"Beavan, Mr. William Thomas\", \"Ringhini, Mr. Sante\", \"Palsson, Miss. Stina Viola\", \"Meyer, Mrs. Edgar Joseph (Leila Saks)\", \"Landergren, Miss. Aurora Adelia\", \"Widener, Mr. Harry Elkins\", \"Betros, Mr. Tannous\", \"Gustafsson, Mr. Karl Gideon\", \"Bidois, Miss. Rosalie\", \"Nakid, Miss. Maria (\\\"Mary\\\")\", \"Tikkanen, Mr. Juho\", \"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)\", \"Plotcharsky, Mr. Vasil\", \"Davies, Mr. Charles Henry\", \"Goodwin, Master. Sidney Leonard\", \"Buss, Miss. Kate\", \"Sadlier, Mr. Matthew\", \"Lehmann, Miss. Bertha\", \"Carter, Mr. William Ernest\", \"Jansson, Mr. Carl Olof\", \"Gustafsson, Mr. Johan Birger\", \"Newell, Miss. Marjorie\", \"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)\", \"Johansson, Mr. Erik\", \"Olsson, Miss. Elina\", \"McKane, Mr. Peter David\", \"Pain, Dr. Alfred\", \"Trout, Mrs. William H (Jessie L)\", \"Niskanen, Mr. Juha\", \"Adams, Mr. John\", \"Jussila, Miss. Mari Aina\", \"Hakkarainen, Mr. Pekka Pietari\", \"Oreskovic, Miss. Marija\", \"Gale, Mr. Shadrach\", \"Widegren, Mr. Carl/Charles Peter\", \"Richards, Master. William Rowe\", \"Birkeland, Mr. Hans Martin Monsen\", \"Lefebre, Miss. Ida\", \"Sdycoff, Mr. Todor\", \"Hart, Mr. Henry\", \"Minahan, Miss. Daisy E\", \"Cunningham, Mr. Alfred Fleming\", \"Sundman, Mr. Johan Julian\", \"Meek, Mrs. Thomas (Annie Louise Rowley)\", \"Drew, Mrs. James Vivian (Lulu Thorne Christian)\", \"Silven, Miss. Lyyli Karoliina\", \"Matthews, Mr. William John\", \"Van Impe, Miss. Catharina\", \"Gheorgheff, Mr. Stanio\", \"Charters, Mr. David\", \"Zimmerman, Mr. Leo\", \"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)\", \"Rosblom, Mr. Viktor Richard\", \"Wiseman, Mr. Phillippe\", \"Clarke, Mrs. Charles V (Ada Maria Winfield)\", \"Phillips, Miss. Kate Florence (\\\"Mrs Kate Louise Phillips Marshall\\\")\", \"Flynn, Mr. James\", \"Pickard, Mr. Berk (Berk Trembisky)\", \"Bjornstrom-Steffansson, Mr. Mauritz Hakan\", \"Thorneycroft, Mrs. Percival (Florence Kate White)\", \"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)\", \"Kallio, Mr. Nikolai Erland\", \"Silvey, Mr. William Baird\", \"Carter, Miss. Lucile Polk\", \"Ford, Miss. Doolina Margaret \\\"Daisy\\\"\", \"Richards, Mrs. Sidney (Emily Hocking)\", \"Fortune, Mr. Mark\", \"Kvillner, Mr. Johan Henrik Johannesson\", \"Hart, Mrs. Benjamin (Esther Ada Bloomfield)\", \"Hampe, Mr. Leon\", \"Petterson, Mr. Johan Emil\", \"Reynaldo, Ms. Encarnacion\", \"Johannesen-Bratthammer, Mr. Bernt\", \"Dodge, Master. Washington\", \"Mellinger, Miss. Madeleine Violet\", \"Seward, Mr. Frederic Kimber\", \"Baclini, Miss. Marie Catherine\", \"Peuchen, Major. Arthur Godfrey\", \"West, Mr. Edwy Arthur\", \"Hagland, Mr. Ingvald Olai Olsen\", \"Foreman, Mr. Benjamin Laventall\", \"Goldenberg, Mr. Samuel L\", \"Peduzzi, Mr. Joseph\", \"Jalsevac, Mr. Ivan\", \"Millet, Mr. Francis Davis\", \"Kenyon, Mrs. Frederick R (Marion)\", \"Toomey, Miss. Ellen\", \"O'Connor, Mr. Maurice\", \"Anderson, Mr. Harry\", \"Morley, Mr. William\", \"Gee, Mr. Arthur H\", \"Milling, Mr. Jacob Christian\", \"Maisner, Mr. Simon\", \"Goncalves, Mr. Manuel Estanslas\", \"Campbell, Mr. William\", \"Smart, Mr. John Montgomery\", \"Scanlan, Mr. James\", \"Baclini, Miss. Helene Barbara\", \"Keefe, Mr. Arthur\", \"Cacic, Mr. Luka\", \"West, Mrs. Edwy Arthur (Ada Mary Worth)\", \"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)\", \"Strandberg, Miss. Ida Sofia\", \"Clifford, Mr. George Quincy\", \"Renouf, Mr. Peter Henry\", \"Braund, Mr. Lewis Richard\", \"Karlsson, Mr. Nils August\", \"Hirvonen, Miss. Hildur E\", \"Goodwin, Master. Harold Victor\", \"Frost, Mr. Anthony Wood \\\"Archie\\\"\", \"Rouse, Mr. Richard Henry\", \"Turkula, Mrs. (Hedwig)\", \"Bishop, Mr. Dickinson H\", \"Lefebre, Miss. Jeannie\", \"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)\", \"Kent, Mr. Edward Austin\", \"Somerton, Mr. Francis William\", \"Coutts, Master. Eden Leslie \\\"Neville\\\"\", \"Hagland, Mr. Konrad Mathias Reiersen\", \"Windelov, Mr. Einar\", \"Molson, Mr. Harry Markland\", \"Artagaveytia, Mr. Ramon\", \"Stanley, Mr. Edward Roland\", \"Yousseff, Mr. Gerious\", \"Eustis, Miss. Elizabeth Mussey\", \"Shellard, Mr. Frederick William\", \"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\", \"Svensson, Mr. Olof\", \"Calic, Mr. Petar\", \"Canavan, Miss. Mary\", \"O'Sullivan, Miss. Bridget Mary\", \"Laitinen, Miss. Kristina Sofia\", \"Maioni, Miss. Roberta\", \"Penasco y Castellana, Mr. Victor de Satode\", \"Quick, Mrs. Frederick Charles (Jane Richards)\", \"Bradley, Mr. George (\\\"George Arthur Brayton\\\")\", \"Olsen, Mr. Henry Margido\", \"Lang, Mr. Fang\", \"Daly, Mr. Eugene Patrick\", \"Webber, Mr. James\", \"McGough, Mr. James Robert\", \"Rothschild, Mrs. Martin (Elizabeth L. Barrett)\", \"Coleff, Mr. Satio\", \"Walker, Mr. William Anderson\", \"Lemore, Mrs. (Amelia Milley)\", \"Ryan, Mr. Patrick\", \"Angle, Mrs. William A (Florence \\\"Mary\\\" Agnes Hughes)\", \"Pavlovic, Mr. Stefo\", \"Perreault, Miss. Anne\", \"Vovk, Mr. Janko\", \"Lahoud, Mr. Sarkis\", \"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)\", \"Kassem, Mr. Fared\", \"Farrell, Mr. James\", \"Ridsdale, Miss. Lucy\", \"Farthing, Mr. John\", \"Salonen, Mr. Johan Werner\", \"Hocking, Mr. Richard George\", \"Quick, Miss. Phyllis May\", \"Toufik, Mr. Nakli\", \"Elias, Mr. Joseph Jr\", \"Peter, Mrs. Catherine (Catherine Rizk)\", \"Cacic, Miss. Marija\", \"Hart, Miss. Eva Miriam\", \"Butt, Major. Archibald Willingham\", \"LeRoy, Miss. Bertha\", \"Risien, Mr. Samuel Beard\", \"Frolicher, Miss. Hedwig Margaritha\", \"Crosby, Miss. Harriet R\", \"Andersson, Miss. Ingeborg Constanzia\", \"Andersson, Miss. Sigrid Elisabeth\", \"Beane, Mr. Edward\", \"Douglas, Mr. Walter Donald\", \"Nicholson, Mr. Arthur Ernest\", \"Beane, Mrs. Edward (Ethel Clarke)\", \"Padro y Manent, Mr. Julian\", \"Goldsmith, Mr. Frank John\", \"Davies, Master. John Morgan Jr\", \"Thayer, Mr. John Borland Jr\", \"Sharp, Mr. Percival James R\", \"O'Brien, Mr. Timothy\", \"Leeni, Mr. Fahim (\\\"Philip Zenni\\\")\", \"Ohman, Miss. Velin\", \"Wright, Mr. George\", \"Duff Gordon, Lady. (Lucille Christiana Sutherland) (\\\"Mrs Morgan\\\")\", \"Robbins, Mr. Victor\", \"Taussig, Mrs. Emil (Tillie Mandelbaum)\", \"de Messemaeker, Mrs. Guillaume Joseph (Emma)\", \"Morrow, Mr. Thomas Rowan\", \"Sivic, Mr. Husein\", \"Norman, Mr. Robert Douglas\", \"Simmons, Mr. John\", \"Meanwell, Miss. (Marion Ogden)\", \"Davies, Mr. Alfred J\", \"Stoytcheff, Mr. Ilia\", \"Palsson, Mrs. Nils (Alma Cornelia Berglund)\", \"Doharr, Mr. Tannous\", \"Jonsson, Mr. Carl\", \"Harris, Mr. George\", \"Appleton, Mrs. Edward Dale (Charlotte Lamson)\", \"Flynn, Mr. John Irwin (\\\"Irving\\\")\", \"Kelly, Miss. Mary\", \"Rush, Mr. Alfred George John\", \"Patchett, Mr. George\", \"Garside, Miss. Ethel\", \"Silvey, Mrs. William Baird (Alice Munger)\", \"Caram, Mrs. Joseph (Maria Elias)\", \"Jussila, Mr. Eiriik\", \"Christy, Miss. Julie Rachel\", \"Thayer, Mrs. John Borland (Marian Longstreth Morris)\", \"Downton, Mr. William James\", \"Ross, Mr. John Hugo\", \"Paulner, Mr. Uscher\", \"Taussig, Miss. Ruth\", \"Jarvis, Mr. John Denzil\", \"Frolicher-Stehli, Mr. Maxmillian\", \"Gilinski, Mr. Eliezer\", \"Murdlin, Mr. Joseph\", \"Rintamaki, Mr. Matti\", \"Stephenson, Mrs. Walter Bertram (Martha Eustis)\", \"Elsbury, Mr. William James\", \"Bourke, Miss. Mary\", \"Chapman, Mr. John Henry\", \"Van Impe, Mr. Jean Baptiste\", \"Leitch, Miss. Jessie Wills\", \"Johnson, Mr. Alfred\", \"Boulos, Mr. Hanna\", \"Duff Gordon, Sir. Cosmo Edmund (\\\"Mr Morgan\\\")\", \"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)\", \"Slabenoff, Mr. Petco\", \"Harrington, Mr. Charles H\", \"Torber, Mr. Ernst William\", \"Homer, Mr. Harry (\\\"Mr E Haven\\\")\", \"Lindell, Mr. Edvard Bengtsson\", \"Karaic, Mr. Milan\", \"Daniel, Mr. Robert Williams\", \"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)\", \"Shutes, Miss. Elizabeth W\", \"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)\", \"Jardin, Mr. Jose Neto\", \"Murphy, Miss. Margaret Jane\", \"Horgan, Mr. John\", \"Brocklebank, Mr. William Alfred\", \"Herman, Miss. Alice\", \"Danbom, Mr. Ernst Gilbert\", \"Lobb, Mrs. William Arthur (Cordelia K Stanlick)\", \"Becker, Miss. Marion Louise\", \"Gavey, Mr. Lawrence\", \"Yasbeck, Mr. Antoni\", \"Kimball, Mr. Edwin Nelson Jr\", \"Nakid, Mr. Sahid\", \"Hansen, Mr. Henry Damsgaard\", \"Bowen, Mr. David John \\\"Dai\\\"\", \"Sutton, Mr. Frederick\", \"Kirkland, Rev. Charles Leonard\", \"Longley, Miss. Gretchen Fiske\", \"Bostandyeff, Mr. Guentcho\", \"O'Connell, Mr. Patrick D\", \"Barkworth, Mr. Algernon Henry Wilson\", \"Lundahl, Mr. Johan Svensson\", \"Stahelin-Maeglin, Dr. Max\", \"Parr, Mr. William Henry Marsh\", \"Skoog, Miss. Mabel\", \"Davis, Miss. Mary\", \"Leinonen, Mr. Antti Gustaf\", \"Collyer, Mr. Harvey\", \"Panula, Mrs. Juha (Maria Emilia Ojala)\", \"Thorneycroft, Mr. Percival\", \"Jensen, Mr. Hans Peder\", \"Sagesser, Mlle. Emma\", \"Skoog, Miss. Margit Elizabeth\", \"Foo, Mr. Choong\", \"Baclini, Miss. Eugenie\", \"Harper, Mr. Henry Sleeper\", \"Cor, Mr. Liudevit\", \"Simonius-Blumer, Col. Oberst Alfons\", \"Willey, Mr. Edward\", \"Stanley, Miss. Amy Zillah Elsie\", \"Mitkoff, Mr. Mito\", \"Doling, Miss. Elsie\", \"Kalvik, Mr. Johannes Halvorsen\", \"O'Leary, Miss. Hanora \\\"Norah\\\"\", \"Hegarty, Miss. Hanora \\\"Nora\\\"\", \"Hickman, Mr. Leonard Mark\", \"Radeff, Mr. Alexander\", \"Bourke, Mrs. John (Catherine)\", \"Eitemiller, Mr. George Floyd\", \"Newell, Mr. Arthur Webster\", \"Frauenthal, Dr. Henry William\", \"Badt, Mr. Mohamed\", \"Colley, Mr. Edward Pomeroy\", \"Coleff, Mr. Peju\", \"Lindqvist, Mr. Eino William\", \"Hickman, Mr. Lewis\", \"Butler, Mr. Reginald Fenton\", \"Rommetvedt, Mr. Knud Paust\", \"Cook, Mr. Jacob\", \"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)\", \"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)\", \"Davidson, Mr. Thornton\", \"Mitchell, Mr. Henry Michael\", \"Wilhelms, Mr. Charles\", \"Watson, Mr. Ennis Hastings\", \"Edvardsson, Mr. Gustaf Hjalmar\", \"Sawyer, Mr. Frederick Charles\", \"Turja, Miss. Anna Sofia\", \"Goodwin, Mrs. Frederick (Augusta Tyler)\", \"Cardeza, Mr. Thomas Drake Martinez\", \"Peters, Miss. Katie\", \"Hassab, Mr. Hammad\", \"Olsvigen, Mr. Thor Anderson\", \"Goodwin, Mr. Charles Edward\", \"Brown, Mr. Thomas William Solomon\", \"Laroche, Mr. Joseph Philippe Lemercier\", \"Panula, Mr. Jaako Arnold\", \"Dakic, Mr. Branko\", \"Fischer, Mr. Eberhard Thelander\", \"Madill, Miss. Georgette Alexandra\", \"Dick, Mr. Albert Adrian\", \"Karun, Miss. Manca\", \"Lam, Mr. Ali\", \"Saad, Mr. Khalil\", \"Weir, Col. John\", \"Chapman, Mr. Charles Henry\", \"Kelly, Mr. James\", \"Mullens, Miss. Katherine \\\"Katie\\\"\", \"Thayer, Mr. John Borland\", \"Humblen, Mr. Adolf Mathias Nicolai Olsen\", \"Astor, Mrs. John Jacob (Madeleine Talmadge Force)\", \"Silverthorne, Mr. Spencer Victor\", \"Barbara, Miss. Saiide\", \"Gallagher, Mr. Martin\", \"Hansen, Mr. Henrik Juul\", \"Morley, Mr. Henry Samuel (\\\"Mr Henry Marshall\\\")\", \"Kelly, Mrs. Florence \\\"Fannie\\\"\", \"Calderhead, Mr. Edward Pennington\", \"Cleaver, Miss. Alice\", \"Moubarek, Master. Halim Gonios (\\\"William George\\\")\", \"Mayne, Mlle. Berthe Antonine (\\\"Mrs de Villiers\\\")\", \"Klaber, Mr. Herman\", \"Taylor, Mr. Elmer Zebley\", \"Larsson, Mr. August Viktor\", \"Greenberg, Mr. Samuel\", \"Soholt, Mr. Peter Andreas Lauritz Andersen\", \"Endres, Miss. Caroline Louise\", \"Troutt, Miss. Edwina Celia \\\"Winnie\\\"\", \"McEvoy, Mr. Michael\", \"Johnson, Mr. Malkolm Joackim\", \"Harper, Miss. Annie Jessie \\\"Nina\\\"\", \"Jensen, Mr. Svend Lauritz\", \"Gillespie, Mr. William Henry\", \"Hodges, Mr. Henry Price\", \"Chambers, Mr. Norman Campbell\", \"Oreskovic, Mr. Luka\", \"Renouf, Mrs. Peter Henry (Lillian Jefferys)\", \"Mannion, Miss. Margareth\", \"Bryhl, Mr. Kurt Arnold Gottfrid\", \"Ilmakangas, Miss. Pieta Sofia\", \"Allen, Miss. Elisabeth Walton\", \"Hassan, Mr. Houssein G N\", \"Knight, Mr. Robert J\", \"Berriman, Mr. William John\", \"Troupiansky, Mr. Moses Aaron\", \"Williams, Mr. Leslie\", \"Ford, Mrs. Edward (Margaret Ann Watson)\", \"Lesurer, Mr. Gustave J\", \"Ivanoff, Mr. Kanio\", \"Nankoff, Mr. Minko\", \"Hawksford, Mr. Walter James\", \"Cavendish, Mr. Tyrell William\", \"Ryerson, Miss. Susan Parker \\\"Suzette\\\"\", \"McNamee, Mr. Neal\", \"Stranden, Mr. Juho\", \"Crosby, Capt. Edward Gifford\", \"Abbott, Mr. Rossmore Edward\", \"Sinkkonen, Miss. Anna\", \"Marvin, Mr. Daniel Warner\", \"Connaghton, Mr. Michael\", \"Wells, Miss. Joan\", \"Moor, Master. Meier\", \"Vande Velde, Mr. Johannes Joseph\", \"Jonkoff, Mr. Lalio\", \"Herman, Mrs. Samuel (Jane Laver)\", \"Hamalainen, Master. Viljo\", \"Carlsson, Mr. August Sigfrid\", \"Bailey, Mr. Percy Andrew\", \"Theobald, Mr. Thomas Leonard\", \"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)\", \"Garfirth, Mr. John\", \"Nirva, Mr. Iisakki Antino Aijo\", \"Barah, Mr. Hanna Assi\", \"Carter, Mrs. William Ernest (Lucile Polk)\", \"Eklund, Mr. Hans Linus\", \"Hogeboom, Mrs. John C (Anna Andrews)\", \"Brewe, Dr. Arthur Jackson\", \"Mangan, Miss. Mary\", \"Moran, Mr. Daniel J\", \"Gronnestad, Mr. Daniel Danielsen\", \"Lievens, Mr. Rene Aime\", \"Jensen, Mr. Niels Peder\", \"Mack, Mrs. (Mary)\", \"Elias, Mr. Dibo\", \"Hocking, Mrs. Elizabeth (Eliza Needs)\", \"Myhrman, Mr. Pehr Fabian Oliver Malkolm\", \"Tobin, Mr. Roger\", \"Emanuel, Miss. Virginia Ethel\", \"Kilgannon, Mr. Thomas J\", \"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)\", \"Ayoub, Miss. Banoura\", \"Dick, Mrs. Albert Adrian (Vera Gillespie)\", \"Long, Mr. Milton Clyde\", \"Johnston, Mr. Andrew G\", \"Ali, Mr. William\", \"Harmer, Mr. Abraham (David Lishin)\", \"Sjoblom, Miss. Anna Sofia\", \"Rice, Master. George Hugh\", \"Dean, Master. Bertram Vere\", \"Guggenheim, Mr. Benjamin\", \"Keane, Mr. Andrew \\\"Andy\\\"\", \"Gaskell, Mr. Alfred\", \"Sage, Miss. Stella Anna\", \"Hoyt, Mr. William Fisher\", \"Dantcheff, Mr. Ristiu\", \"Otter, Mr. Richard\", \"Leader, Dr. Alice (Farnham)\", \"Osman, Mrs. Mara\", \"Ibrahim Shawah, Mr. Yousseff\", \"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)\", \"Ponesell, Mr. Martin\", \"Collyer, Mrs. Harvey (Charlotte Annie Tate)\", \"Carter, Master. William Thornton II\", \"Thomas, Master. Assad Alexander\", \"Hedman, Mr. Oskar Arvid\", \"Johansson, Mr. Karl Johan\", \"Andrews, Mr. Thomas Jr\", \"Pettersson, Miss. Ellen Natalia\", \"Meyer, Mr. August\", \"Chambers, Mrs. Norman Campbell (Bertha Griggs)\", \"Alexander, Mr. William\", \"Lester, Mr. James\", \"Slemen, Mr. Richard James\", \"Andersson, Miss. Ebba Iris Alfrida\", \"Tomlin, Mr. Ernest Portage\", \"Fry, Mr. Richard\", \"Heininen, Miss. Wendla Maria\", \"Mallet, Mr. Albert\", \"Holm, Mr. John Fredrik Alexander\", \"Skoog, Master. Karl Thorsten\", \"Hays, Mrs. Charles Melville (Clara Jennings Gregg)\", \"Lulic, Mr. Nikola\", \"Reuchlin, Jonkheer. John George\", \"Moor, Mrs. (Beila)\", \"Panula, Master. Urho Abraham\", \"Flynn, Mr. John\", \"Lam, Mr. Len\", \"Mallet, Master. Andre\", \"McCormack, Mr. Thomas Joseph\", \"Stone, Mrs. George Nelson (Martha Evelyn)\", \"Yasbeck, Mrs. Antoni (Selini Alexander)\", \"Richards, Master. George Sibley\", \"Saad, Mr. Amin\", \"Augustsson, Mr. Albert\", \"Allum, Mr. Owen George\", \"Compton, Miss. Sara Rebecca\", \"Pasic, Mr. Jakob\", \"Sirota, Mr. Maurice\", \"Chip, Mr. Chang\", \"Marechal, Mr. Pierre\", \"Alhomaki, Mr. Ilmari Rudolf\", \"Mudd, Mr. Thomas Charles\", \"Serepeca, Miss. Augusta\", \"Lemberopolous, Mr. Peter L\", \"Culumovic, Mr. Jeso\", \"Abbing, Mr. Anthony\", \"Sage, Mr. Douglas Bullen\", \"Markoff, Mr. Marin\", \"Harper, Rev. John\", \"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)\", \"Andersson, Master. Sigvard Harald Elias\", \"Svensson, Mr. Johan\", \"Boulos, Miss. Nourelain\", \"Lines, Miss. Mary Conover\", \"Carter, Mrs. Ernest Courtenay (Lilian Hughes)\", \"Aks, Mrs. Sam (Leah Rosen)\", \"Wick, Mrs. George Dennick (Mary Hitchcock)\", \"Daly, Mr. Peter Denis \", \"Baclini, Mrs. Solomon (Latifa Qurban)\", \"Razi, Mr. Raihed\", \"Hansen, Mr. Claus Peter\", \"Giles, Mr. Frederick Edward\", \"Swift, Mrs. Frederick Joel (Margaret Welles Barron)\", \"Sage, Miss. Dorothy Edith \\\"Dolly\\\"\", \"Gill, Mr. John William\", \"Bystrom, Mrs. (Karolina)\", \"Duran y More, Miss. Asuncion\", \"Roebling, Mr. Washington Augustus II\", \"van Melkebeke, Mr. Philemon\", \"Johnson, Master. Harold Theodor\", \"Balkic, Mr. Cerin\", \"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)\", \"Carlsson, Mr. Frans Olof\", \"Vander Cruyssen, Mr. Victor\", \"Abelson, Mrs. Samuel (Hannah Wizosky)\", \"Najib, Miss. Adele Kiamie \\\"Jane\\\"\", \"Gustafsson, Mr. Alfred Ossian\", \"Petroff, Mr. Nedelio\", \"Laleff, Mr. Kristo\", \"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)\", \"Shelley, Mrs. William (Imanita Parrish Hall)\", \"Markun, Mr. Johann\", \"Dahlberg, Miss. Gerda Ulrika\", \"Banfield, Mr. Frederick James\", \"Sutehall, Mr. Henry Jr\", \"Rice, Mrs. William (Margaret Norton)\", \"Montvila, Rev. Juozas\", \"Graham, Miss. Margaret Edith\", \"Johnston, Miss. Catherine Helen \\\"Carrie\\\"\", \"Behr, Mr. Karl Howell\", \"Dooley, Mr. Patrick\"]}, {\"name\": \"Sex\", \"type\": \"dimension\", \"values\": [\"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"female\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"male\", \"female\", \"male\", \"male\", \"female\", \"female\", \"male\", \"male\", \"male\", \"female\", \"female\", \"male\", \"female\", \"male\", \"male\", \"female\", \"male\", \"female\", \"female\", \"male\", \"male\"]}, {\"name\": \"Age\", \"type\": \"measure\", \"values\": [22.0, 38.0, 26.0, 35.0, 35.0, 0.0, 54.0, 2.0, 27.0, 14.0, 4.0, 58.0, 20.0, 39.0, 14.0, 55.0, 2.0, 0.0, 31.0, 0.0, 35.0, 34.0, 15.0, 28.0, 8.0, 38.0, 0.0, 19.0, 0.0, 0.0, 40.0, 0.0, 0.0, 66.0, 28.0, 42.0, 0.0, 21.0, 18.0, 14.0, 40.0, 27.0, 0.0, 3.0, 19.0, 0.0, 0.0, 0.0, 0.0, 18.0, 7.0, 21.0, 49.0, 29.0, 65.0, 0.0, 21.0, 28.5, 5.0, 11.0, 22.0, 38.0, 45.0, 4.0, 0.0, 0.0, 29.0, 19.0, 17.0, 26.0, 32.0, 16.0, 21.0, 26.0, 32.0, 25.0, 0.0, 0.0, 0.83, 30.0, 22.0, 29.0, 0.0, 28.0, 17.0, 33.0, 16.0, 0.0, 23.0, 24.0, 29.0, 20.0, 46.0, 26.0, 59.0, 0.0, 71.0, 23.0, 34.0, 34.0, 28.0, 0.0, 21.0, 33.0, 37.0, 28.0, 21.0, 0.0, 38.0, 0.0, 47.0, 14.5, 22.0, 20.0, 17.0, 21.0, 70.5, 29.0, 24.0, 2.0, 21.0, 0.0, 32.5, 32.5, 54.0, 12.0, 0.0, 24.0, 0.0, 45.0, 33.0, 20.0, 47.0, 29.0, 25.0, 23.0, 19.0, 37.0, 16.0, 24.0, 0.0, 22.0, 24.0, 19.0, 18.0, 19.0, 27.0, 9.0, 36.5, 42.0, 51.0, 22.0, 55.5, 40.5, 0.0, 51.0, 16.0, 30.0, 0.0, 0.0, 44.0, 40.0, 26.0, 17.0, 1.0, 9.0, 0.0, 45.0, 0.0, 28.0, 61.0, 4.0, 1.0, 21.0, 56.0, 18.0, 0.0, 50.0, 30.0, 36.0, 0.0, 0.0, 9.0, 1.0, 4.0, 0.0, 0.0, 45.0, 40.0, 36.0, 32.0, 19.0, 19.0, 3.0, 44.0, 58.0, 0.0, 42.0, 0.0, 24.0, 28.0, 0.0, 34.0, 45.5, 18.0, 2.0, 32.0, 26.0, 16.0, 40.0, 24.0, 35.0, 22.0, 30.0, 0.0, 31.0, 27.0, 42.0, 32.0, 30.0, 16.0, 27.0, 51.0, 0.0, 38.0, 22.0, 19.0, 20.5, 18.0, 0.0, 35.0, 29.0, 59.0, 5.0, 24.0, 0.0, 44.0, 8.0, 19.0, 33.0, 0.0, 0.0, 29.0, 22.0, 30.0, 44.0, 25.0, 24.0, 37.0, 54.0, 0.0, 29.0, 62.0, 30.0, 41.0, 29.0, 0.0, 30.0, 35.0, 50.0, 0.0, 3.0, 52.0, 40.0, 0.0, 36.0, 16.0, 25.0, 58.0, 35.0, 0.0, 25.0, 41.0, 37.0, 0.0, 63.0, 45.0, 0.0, 7.0, 35.0, 65.0, 28.0, 16.0, 19.0, 0.0, 33.0, 30.0, 22.0, 42.0, 22.0, 26.0, 19.0, 36.0, 24.0, 24.0, 0.0, 23.5, 2.0, 0.0, 50.0, 0.0, 0.0, 19.0, 0.0, 0.0, 0.92, 0.0, 17.0, 30.0, 30.0, 24.0, 18.0, 26.0, 28.0, 43.0, 26.0, 24.0, 54.0, 31.0, 40.0, 22.0, 27.0, 30.0, 22.0, 0.0, 36.0, 61.0, 36.0, 31.0, 16.0, 0.0, 45.5, 38.0, 16.0, 0.0, 0.0, 29.0, 41.0, 45.0, 45.0, 2.0, 24.0, 28.0, 25.0, 36.0, 24.0, 40.0, 0.0, 3.0, 42.0, 23.0, 0.0, 15.0, 25.0, 0.0, 28.0, 22.0, 38.0, 0.0, 0.0, 40.0, 29.0, 45.0, 35.0, 0.0, 30.0, 60.0, 0.0, 0.0, 24.0, 25.0, 18.0, 19.0, 22.0, 3.0, 0.0, 22.0, 27.0, 20.0, 19.0, 42.0, 1.0, 32.0, 35.0, 0.0, 18.0, 1.0, 36.0, 0.0, 17.0, 36.0, 21.0, 28.0, 23.0, 24.0, 22.0, 31.0, 46.0, 23.0, 28.0, 39.0, 26.0, 21.0, 28.0, 20.0, 34.0, 51.0, 3.0, 21.0, 0.0, 0.0, 0.0, 33.0, 0.0, 44.0, 0.0, 34.0, 18.0, 30.0, 10.0, 0.0, 21.0, 29.0, 28.0, 18.0, 0.0, 28.0, 19.0, 0.0, 32.0, 28.0, 0.0, 42.0, 17.0, 50.0, 14.0, 21.0, 24.0, 64.0, 31.0, 45.0, 20.0, 25.0, 28.0, 0.0, 4.0, 13.0, 34.0, 5.0, 52.0, 36.0, 0.0, 30.0, 49.0, 0.0, 29.0, 65.0, 0.0, 50.0, 0.0, 48.0, 34.0, 47.0, 48.0, 0.0, 38.0, 0.0, 56.0, 0.0, 0.75, 0.0, 38.0, 33.0, 23.0, 22.0, 0.0, 34.0, 29.0, 22.0, 2.0, 9.0, 0.0, 50.0, 63.0, 25.0, 0.0, 35.0, 58.0, 30.0, 9.0, 0.0, 21.0, 55.0, 71.0, 21.0, 0.0, 54.0, 0.0, 25.0, 24.0, 17.0, 21.0, 0.0, 37.0, 16.0, 18.0, 33.0, 0.0, 28.0, 26.0, 29.0, 0.0, 36.0, 54.0, 24.0, 47.0, 34.0, 0.0, 36.0, 32.0, 30.0, 22.0, 0.0, 44.0, 0.0, 40.5, 50.0, 0.0, 39.0, 23.0, 2.0, 0.0, 17.0, 0.0, 30.0, 7.0, 45.0, 30.0, 0.0, 22.0, 36.0, 9.0, 11.0, 32.0, 50.0, 64.0, 19.0, 0.0, 33.0, 8.0, 17.0, 27.0, 0.0, 22.0, 22.0, 62.0, 48.0, 0.0, 39.0, 36.0, 0.0, 40.0, 28.0, 0.0, 0.0, 24.0, 19.0, 29.0, 0.0, 32.0, 62.0, 53.0, 36.0, 0.0, 16.0, 19.0, 34.0, 39.0, 0.0, 32.0, 25.0, 39.0, 54.0, 36.0, 0.0, 18.0, 47.0, 60.0, 22.0, 0.0, 35.0, 52.0, 47.0, 0.0, 37.0, 36.0, 0.0, 49.0, 0.0, 49.0, 24.0, 0.0, 0.0, 44.0, 35.0, 36.0, 30.0, 27.0, 22.0, 40.0, 39.0, 0.0, 0.0, 0.0, 35.0, 24.0, 34.0, 26.0, 4.0, 26.0, 27.0, 42.0, 20.0, 21.0, 21.0, 61.0, 57.0, 21.0, 26.0, 0.0, 80.0, 51.0, 32.0, 0.0, 9.0, 28.0, 32.0, 31.0, 41.0, 0.0, 20.0, 24.0, 2.0, 0.0, 0.75, 48.0, 19.0, 56.0, 0.0, 23.0, 0.0, 18.0, 21.0, 0.0, 18.0, 24.0, 0.0, 32.0, 23.0, 58.0, 50.0, 40.0, 47.0, 36.0, 20.0, 32.0, 25.0, 0.0, 43.0, 0.0, 40.0, 31.0, 70.0, 31.0, 0.0, 18.0, 24.5, 18.0, 43.0, 36.0, 0.0, 27.0, 20.0, 14.0, 60.0, 25.0, 14.0, 19.0, 18.0, 15.0, 31.0, 4.0, 0.0, 25.0, 60.0, 52.0, 44.0, 0.0, 49.0, 42.0, 18.0, 35.0, 18.0, 25.0, 26.0, 39.0, 45.0, 42.0, 22.0, 0.0, 24.0, 0.0, 48.0, 29.0, 52.0, 19.0, 38.0, 27.0, 0.0, 33.0, 6.0, 17.0, 34.0, 50.0, 27.0, 20.0, 30.0, 0.0, 25.0, 25.0, 29.0, 11.0, 0.0, 23.0, 23.0, 28.5, 48.0, 35.0, 0.0, 0.0, 0.0, 36.0, 21.0, 24.0, 31.0, 70.0, 16.0, 30.0, 19.0, 31.0, 4.0, 6.0, 33.0, 23.0, 48.0, 0.67, 28.0, 18.0, 34.0, 33.0, 0.0, 41.0, 20.0, 36.0, 16.0, 51.0, 0.0, 30.5, 0.0, 32.0, 24.0, 48.0, 57.0, 0.0, 54.0, 18.0, 0.0, 5.0, 0.0, 43.0, 13.0, 17.0, 29.0, 0.0, 25.0, 25.0, 18.0, 8.0, 1.0, 46.0, 0.0, 16.0, 0.0, 0.0, 25.0, 39.0, 49.0, 31.0, 30.0, 30.0, 34.0, 31.0, 11.0, 0.42, 27.0, 31.0, 39.0, 18.0, 39.0, 33.0, 26.0, 39.0, 35.0, 6.0, 30.5, 0.0, 23.0, 31.0, 43.0, 10.0, 52.0, 27.0, 38.0, 27.0, 2.0, 0.0, 0.0, 1.0, 0.0, 62.0, 15.0, 0.83, 0.0, 23.0, 18.0, 39.0, 21.0, 0.0, 32.0, 0.0, 20.0, 16.0, 30.0, 34.5, 17.0, 42.0, 0.0, 35.0, 28.0, 0.0, 4.0, 74.0, 9.0, 16.0, 44.0, 18.0, 45.0, 51.0, 24.0, 0.0, 41.0, 21.0, 48.0, 0.0, 24.0, 42.0, 27.0, 31.0, 0.0, 4.0, 26.0, 47.0, 33.0, 47.0, 28.0, 15.0, 20.0, 19.0, 0.0, 56.0, 25.0, 33.0, 22.0, 28.0, 25.0, 39.0, 27.0, 19.0, 0.0, 26.0, 32.0]}, {\"name\": \"SibSp\", \"type\": \"measure\", \"values\": [1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 4.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 4.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 5.0, 0.0, 0.0, 1.0, 3.0, 0.0, 1.0, 0.0, 0.0, 4.0, 2.0, 0.0, 5.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 4.0, 2.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 8.0, 0.0, 4.0, 2.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 8.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 3.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 2.0, 2.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 1.0, 3.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 3.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 5.0, 1.0, 1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 3.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 1.0, 4.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 8.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0]}, {\"name\": \"Parch\", \"type\": \"measure\", \"values\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 5.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 2.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 3.0, 4.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 2.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 5.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 2.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 2.0, 0.0, 0.0]}, {\"name\": \"Ticket\", \"type\": \"dimension\", \"values\": [\"A/5 21171\", \"PC 17599\", \"STON/O2. 3101282\", \"113803\", \"373450\", \"330877\", \"17463\", \"349909\", \"347742\", \"237736\", \"PP 9549\", \"113783\", \"A/5. 2151\", \"347082\", \"350406\", \"248706\", \"382652\", \"244373\", \"345763\", \"2649\", \"239865\", \"248698\", \"330923\", \"113788\", \"349909\", \"347077\", \"2631\", \"19950\", \"330959\", \"349216\", \"PC 17601\", \"PC 17569\", \"335677\", \"C.A. 24579\", \"PC 17604\", \"113789\", \"2677\", \"A./5. 2152\", \"345764\", \"2651\", \"7546\", \"11668\", \"349253\", \"SC/Paris 2123\", \"330958\", \"S.C./A.4. 23567\", \"370371\", \"14311\", \"2662\", \"349237\", \"3101295\", \"A/4. 39886\", \"PC 17572\", \"2926\", \"113509\", \"19947\", \"C.A. 31026\", \"2697\", \"C.A. 34651\", \"CA 2144\", \"2669\", \"113572\", \"36973\", \"347088\", \"PC 17605\", \"2661\", \"C.A. 29395\", \"S.P. 3464\", \"3101281\", \"315151\", \"C.A. 33111\", \"CA 2144\", \"S.O.C. 14879\", \"2680\", \"1601\", \"348123\", \"349208\", \"374746\", \"248738\", \"364516\", \"345767\", \"345779\", \"330932\", \"113059\", \"SO/C 14885\", \"3101278\", \"W./C. 6608\", \"SOTON/OQ 392086\", \"19950\", \"343275\", \"343276\", \"347466\", \"W.E.P. 5734\", \"C.A. 2315\", \"364500\", \"374910\", \"PC 17754\", \"PC 17759\", \"231919\", \"244367\", \"349245\", \"349215\", \"35281\", \"7540\", \"3101276\", \"349207\", \"343120\", \"312991\", \"349249\", \"371110\", \"110465\", \"2665\", \"324669\", \"4136\", \"2627\", \"STON/O 2. 3101294\", \"370369\", \"11668\", \"PC 17558\", \"347082\", \"S.O.C. 14879\", \"A4. 54510\", \"237736\", \"27267\", \"35281\", \"2651\", \"370372\", \"C 17369\", \"2668\", \"347061\", \"349241\", \"SOTON/O.Q. 3101307\", \"A/5. 3337\", \"228414\", \"C.A. 29178\", \"SC/PARIS 2133\", \"11752\", \"113803\", \"7534\", \"PC 17593\", \"2678\", \"347081\", \"STON/O2. 3101279\", \"365222\", \"231945\", \"C.A. 33112\", \"350043\", \"W./C. 6608\", \"230080\", \"244310\", \"S.O.P. 1166\", \"113776\", \"A.5. 11206\", \"A/5. 851\", \"Fa 265302\", \"PC 17597\", \"35851\", \"SOTON/OQ 392090\", \"315037\", \"CA. 2343\", \"371362\", \"C.A. 33595\", \"347068\", \"315093\", \"3101295\", \"363291\", \"113505\", \"347088\", \"PC 17318\", \"1601\", \"111240\", \"382652\", \"347742\", \"STON/O 2. 3101280\", \"17764\", \"350404\", \"4133\", \"PC 17595\", \"250653\", \"LINE\", \"CA. 2343\", \"SC/PARIS 2131\", \"347077\", \"230136\", \"315153\", \"113767\", \"370365\", \"111428\", \"364849\", \"349247\", \"234604\", \"28424\", \"350046\", \"230080\", \"PC 17610\", \"PC 17569\", \"368703\", \"4579\", \"370370\", \"248747\", \"345770\", \"CA. 2343\", \"3101264\", \"2628\", \"A/5 3540\", \"347054\", \"3101278\", \"2699\", \"367231\", \"112277\", \"SOTON/O.Q. 3101311\", \"F.C.C. 13528\", \"A/5 21174\", \"250646\", \"367229\", \"35273\", \"STON/O2. 3101283\", \"243847\", \"11813\", \"W/C 14208\", \"SOTON/OQ 392089\", \"220367\", \"21440\", \"349234\", \"19943\", \"PP 4348\", \"SW/PP 751\", \"A/5 21173\", \"236171\", \"4133\", \"36973\", \"347067\", \"237442\", \"347077\", \"C.A. 29566\", \"W./C. 6609\", \"26707\", \"C.A. 31921\", \"28665\", \"SCO/W 1585\", \"2665\", \"367230\", \"W./C. 14263\", \"STON/O 2. 3101275\", \"2694\", \"19928\", \"347071\", \"250649\", \"11751\", \"244252\", \"362316\", \"347054\", \"113514\", \"A/5. 3336\", \"370129\", \"2650\", \"PC 17585\", \"110152\", \"PC 17755\", \"230433\", \"384461\", \"347077\", \"110413\", \"112059\", \"382649\", \"C.A. 17248\", \"3101295\", \"347083\", \"PC 17582\", \"PC 17760\", \"113798\", \"LINE\", \"250644\", \"PC 17596\", \"370375\", \"13502\", \"347073\", \"239853\", \"382652\", \"C.A. 2673\", \"336439\", \"347464\", \"345778\", \"A/5. 10482\", \"113056\", \"349239\", \"345774\", \"349206\", \"237798\", \"370373\", \"19877\", \"11967\", \"SC/Paris 2163\", \"349236\", \"349233\", \"PC 17612\", \"2693\", \"113781\", \"19988\", \"PC 17558\", \"9234\", \"367226\", \"LINE\", \"226593\", \"A/5 2466\", \"113781\", \"17421\", \"PC 17758\", \"P/PP 3381\", \"PC 17485\", \"11767\", \"PC 17608\", \"250651\", \"349243\", \"F.C.C. 13529\", \"347470\", \"244367\", \"29011\", \"36928\", \"16966\", \"A/5 21172\", \"349219\", \"234818\", \"248738\", \"CA. 2343\", \"PC 17760\", \"345364\", \"28551\", \"363291\", \"111361\", \"367226\", \"113043\", \"PC 17582\", \"345764\", \"PC 17611\", \"349225\", \"113776\", \"16966\", \"7598\", \"113784\", \"230080\", \"19950\", \"248740\", \"244361\", \"229236\", \"248733\", \"31418\", \"386525\", \"C.A. 37671\", \"315088\", \"7267\", \"113510\", \"2695\", \"349237\", \"2647\", \"345783\", \"113505\", \"237671\", \"330931\", \"330980\", \"347088\", \"SC/PARIS 2167\", \"2691\", \"SOTON/O.Q. 3101310\", \"370365\", \"C 7076\", \"110813\", \"2626\", \"14313\", \"PC 17477\", \"11765\", \"3101267\", \"323951\", \"PC 17760\", \"349909\", \"PC 17604\", \"C 7077\", \"113503\", \"2648\", \"347069\", \"PC 17757\", \"2653\", \"STON/O 2. 3101293\", \"113789\", \"349227\", \"S.O.C. 14879\", \"CA 2144\", \"27849\", \"367655\", \"SC 1748\", \"113760\", \"350034\", \"3101277\", \"35273\", \"PP 9549\", \"350052\", \"350407\", \"28403\", \"244278\", \"240929\", \"STON/O 2. 3101289\", \"341826\", \"4137\", \"STON/O2. 3101279\", \"315096\", \"28664\", \"347064\", \"29106\", \"312992\", \"4133\", \"349222\", \"394140\", \"19928\", \"239853\", \"STON/O 2. 3101269\", \"343095\", \"28220\", \"250652\", \"28228\", \"345773\", \"349254\", \"A/5. 13032\", \"315082\", \"347080\", \"370129\", \"A/4. 34244\", \"2003\", \"250655\", \"364851\", \"SOTON/O.Q. 392078\", \"110564\", \"376564\", \"SC/AH 3085\", \"STON/O 2. 3101274\", \"13507\", \"113760\", \"W./C. 6608\", \"29106\", \"19950\", \"C.A. 18723\", \"F.C.C. 13529\", \"345769\", \"347076\", \"230434\", \"65306\", \"33638\", \"250644\", \"113794\", \"2666\", \"113786\", \"C.A. 34651\", \"65303\", \"113051\", \"17453\", \"A/5 2817\", \"349240\", \"13509\", \"17464\", \"F.C.C. 13531\", \"371060\", \"19952\", \"364506\", \"111320\", \"234360\", \"A/S 2816\", \"SOTON/O.Q. 3101306\", \"239853\", \"113792\", \"36209\", \"2666\", \"323592\", \"315089\", \"C.A. 34651\", \"SC/AH Basle 541\", \"7553\", \"110465\", \"31027\", \"3460\", \"350060\", \"3101298\", \"CA 2144\", \"239854\", \"A/5 3594\", \"4134\", \"11967\", \"4133\", \"19943\", \"11771\", \"A.5. 18509\", \"C.A. 37671\", \"65304\", \"SOTON/OQ 3101317\", \"113787\", \"PC 17609\", \"A/4 45380\", \"2627\", \"36947\", \"C.A. 6212\", \"113781\", \"350035\", \"315086\", \"364846\", \"330909\", \"4135\", \"110152\", \"PC 17758\", \"26360\", \"111427\", \"C 4001\", \"1601\", \"382651\", \"SOTON/OQ 3101316\", \"PC 17473\", \"PC 17603\", \"349209\", \"36967\", \"C.A. 34260\", \"371110\", \"226875\", \"349242\", \"12749\", \"349252\", \"2624\", \"111361\", \"2700\", \"367232\", \"W./C. 14258\", \"PC 17483\", \"3101296\", \"29104\", \"26360\", \"2641\", \"2690\", \"2668\", \"315084\", \"F.C.C. 13529\", \"113050\", \"PC 17761\", \"364498\", \"13568\", \"WE/P 5735\", \"347082\", \"347082\", \"2908\", \"PC 17761\", \"693\", \"2908\", \"SC/PARIS 2146\", \"363291\", \"C.A. 33112\", \"17421\", \"244358\", \"330979\", \"2620\", \"347085\", \"113807\", \"11755\", \"PC 17757\", \"110413\", \"345572\", \"372622\", \"349251\", \"218629\", \"SOTON/OQ 392082\", \"SOTON/O.Q. 392087\", \"A/4 48871\", \"349205\", \"349909\", \"2686\", \"350417\", \"S.W./PP 752\", \"11769\", \"PC 17474\", \"14312\", \"A/4. 20589\", \"358585\", \"243880\", \"13507\", \"2689\", \"STON/O 2. 3101286\", \"237789\", \"17421\", \"28403\", \"13049\", \"3411\", \"110413\", \"237565\", \"13567\", \"14973\", \"A./5. 3235\", \"STON/O 2. 3101273\", \"36947\", \"A/5 3902\", \"364848\", \"SC/AH 29037\", \"345773\", \"248727\", \"LINE\", \"2664\", \"PC 17485\", \"243847\", \"349214\", \"113796\", \"364511\", \"111426\", \"349910\", \"349246\", \"113804\", \"SC/Paris 2123\", \"PC 17582\", \"347082\", \"SOTON/O.Q. 3101305\", \"367230\", \"370377\", \"364512\", \"220845\", \"347080\", \"A/5. 3336\", \"230136\", \"31028\", \"2659\", \"11753\", \"2653\", \"350029\", \"54636\", \"36963\", \"219533\", \"13502\", \"349224\", \"334912\", \"27042\", \"347743\", \"13214\", \"112052\", \"347088\", \"237668\", \"STON/O 2. 3101292\", \"C.A. 31921\", \"3101295\", \"376564\", \"350050\", \"PC 17477\", \"347088\", \"1601\", \"2666\", \"PC 17572\", \"349231\", \"13213\", \"S.O./P.P. 751\", \"CA. 2314\", \"349221\", \"231919\", \"8475\", \"330919\", \"365226\", \"S.O.C. 14879\", \"349223\", \"364849\", \"29751\", \"35273\", \"PC 17611\", \"2623\", \"5727\", \"349210\", \"STON/O 2. 3101285\", \"S.O.C. 14879\", \"234686\", \"312993\", \"A/5 3536\", \"19996\", \"29750\", \"F.C. 12750\", \"C.A. 24580\", \"244270\", \"239856\", \"349912\", \"342826\", \"4138\", \"CA 2144\", \"PC 17755\", \"330935\", \"PC 17572\", \"6563\", \"CA 2144\", \"29750\", \"SC/Paris 2123\", \"3101295\", \"349228\", \"350036\", \"24160\", \"17474\", \"349256\", \"1601\", \"2672\", \"113800\", \"248731\", \"363592\", \"35852\", \"17421\", \"348121\", \"PC 17757\", \"PC 17475\", \"2691\", \"36864\", \"350025\", \"250655\", \"223596\", \"PC 17476\", \"113781\", \"2661\", \"PC 17482\", \"113028\", \"19996\", \"7545\", \"250647\", \"348124\", \"PC 17757\", \"34218\", \"36568\", \"347062\", \"248727\", \"350048\", \"12233\", \"250643\", \"113806\", \"315094\", \"31027\", \"36866\", \"236853\", \"STON/O2. 3101271\", \"24160\", \"2699\", \"239855\", \"28425\", \"233639\", \"54636\", \"W./C. 6608\", \"PC 17755\", \"349201\", \"349218\", \"16988\", \"19877\", \"PC 17608\", \"376566\", \"STON/O 2. 3101288\", \"WE/P 5735\", \"C.A. 2673\", \"250648\", \"113773\", \"335097\", \"29103\", \"392096\", \"345780\", \"349204\", \"220845\", \"250649\", \"350042\", \"29108\", \"363294\", \"110152\", \"358585\", \"SOTON/O2 3101272\", \"2663\", \"113760\", \"347074\", \"13502\", \"112379\", \"364850\", \"371110\", \"8471\", \"345781\", \"350047\", \"S.O./P.P. 3\", \"2674\", \"29105\", \"347078\", \"383121\", \"364516\", \"36865\", \"24160\", \"2687\", \"17474\", \"113501\", \"W./C. 6607\", \"SOTON/O.Q. 3101312\", \"374887\", \"3101265\", \"382652\", \"C.A. 2315\", \"PC 17593\", \"12460\", \"239865\", \"CA. 2343\", \"PC 17600\", \"349203\", \"28213\", \"17465\", \"349244\", \"2685\", \"345773\", \"250647\", \"C.A. 31921\", \"113760\", \"2625\", \"347089\", \"347063\", \"112050\", \"347087\", \"248723\", \"113806\", \"3474\", \"A/4 48871\", \"28206\", \"347082\", \"364499\", \"112058\", \"STON/O2. 3101290\", \"S.C./PARIS 2079\", \"C 7075\", \"347088\", \"12749\", \"315098\", \"19972\", \"392096\", \"3101295\", \"368323\", \"1601\", \"S.C./PARIS 2079\", \"367228\", \"113572\", \"2659\", \"29106\", \"2671\", \"347468\", \"2223\", \"PC 17756\", \"315097\", \"392092\", \"1601\", \"11774\", \"SOTON/O2 3101287\", \"S.O./P.P. 3\", \"113798\", \"2683\", \"315090\", \"C.A. 5547\", \"CA. 2343\", \"349213\", \"248727\", \"17453\", \"347082\", \"347060\", \"2678\", \"PC 17592\", \"244252\", \"392091\", \"36928\", \"113055\", \"2666\", \"2629\", \"350026\", \"28134\", \"17466\", \"CA. 2343\", \"233866\", \"236852\", \"SC/PARIS 2149\", \"PC 17590\", \"345777\", \"347742\", \"349248\", \"11751\", \"695\", \"345765\", \"P/PP 3381\", \"2667\", \"7534\", \"349212\", \"349217\", \"11767\", \"230433\", \"349257\", \"7552\", \"C.A./SOTON 34068\", \"SOTON/OQ 392076\", \"382652\", \"211536\", \"112053\", \"W./C. 6607\", \"111369\", \"370376\"]}, {\"name\": \"Fare\", \"type\": \"measure\", \"values\": [7.25, 71.2833, 7.925, 53.1, 8.05, 8.4583, 51.8625, 21.075, 11.1333, 30.0708, 16.7, 26.55, 8.05, 31.275, 7.8542, 16.0, 29.125, 13.0, 18.0, 7.225, 26.0, 13.0, 8.0292, 35.5, 21.075, 31.3875, 7.225, 263.0, 7.8792, 7.8958, 27.7208, 146.5208, 7.75, 10.5, 82.1708, 52.0, 7.2292, 8.05, 18.0, 11.2417, 9.475, 21.0, 7.8958, 41.5792, 7.8792, 8.05, 15.5, 7.75, 21.6792, 17.8, 39.6875, 7.8, 76.7292, 26.0, 61.9792, 35.5, 10.5, 7.2292, 27.75, 46.9, 7.2292, 80.0, 83.475, 27.9, 27.7208, 15.2458, 10.5, 8.1583, 7.925, 8.6625, 10.5, 46.9, 73.5, 14.4542, 56.4958, 7.65, 7.8958, 8.05, 29.0, 12.475, 9.0, 9.5, 7.7875, 47.1, 10.5, 15.85, 34.375, 8.05, 263.0, 8.05, 8.05, 7.8542, 61.175, 20.575, 7.25, 8.05, 34.6542, 63.3583, 23.0, 26.0, 7.8958, 7.8958, 77.2875, 8.6542, 7.925, 7.8958, 7.65, 7.775, 7.8958, 24.15, 52.0, 14.4542, 8.05, 9.825, 14.4583, 7.925, 7.75, 21.0, 247.5208, 31.275, 73.5, 8.05, 30.0708, 13.0, 77.2875, 11.2417, 7.75, 7.1417, 22.3583, 6.975, 7.8958, 7.05, 14.5, 26.0, 13.0, 15.0458, 26.2833, 53.1, 9.2167, 79.2, 15.2458, 7.75, 15.85, 6.75, 11.5, 36.75, 7.7958, 34.375, 26.0, 13.0, 12.525, 66.6, 8.05, 14.5, 7.3125, 61.3792, 7.7333, 8.05, 8.6625, 69.55, 16.1, 15.75, 7.775, 8.6625, 39.6875, 20.525, 55.0, 27.9, 25.925, 56.4958, 33.5, 29.125, 11.1333, 7.925, 30.6958, 7.8542, 25.4667, 28.7125, 13.0, 0.0, 69.55, 15.05, 31.3875, 39.0, 22.025, 50.0, 15.5, 26.55, 15.5, 7.8958, 13.0, 13.0, 7.8542, 26.0, 27.7208, 146.5208, 7.75, 8.4042, 7.75, 13.0, 9.5, 69.55, 6.4958, 7.225, 8.05, 10.4625, 15.85, 18.7875, 7.75, 31.0, 7.05, 21.0, 7.25, 13.0, 7.75, 113.275, 7.925, 27.0, 76.2917, 10.5, 8.05, 13.0, 8.05, 7.8958, 90.0, 9.35, 10.5, 7.25, 13.0, 25.4667, 83.475, 7.775, 13.5, 31.3875, 10.5, 7.55, 26.0, 26.25, 10.5, 12.275, 14.4542, 15.5, 10.5, 7.125, 7.225, 90.0, 7.775, 14.5, 52.5542, 26.0, 7.25, 10.4625, 26.55, 16.1, 20.2125, 15.2458, 79.2, 86.5, 512.3292, 26.0, 7.75, 31.3875, 79.65, 0.0, 7.75, 10.5, 39.6875, 7.775, 153.4625, 135.6333, 31.0, 0.0, 19.5, 29.7, 7.75, 77.9583, 7.75, 0.0, 29.125, 20.25, 7.75, 7.8542, 9.5, 8.05, 26.0, 8.6625, 9.5, 7.8958, 13.0, 7.75, 78.85, 91.0792, 12.875, 8.85, 7.8958, 27.7208, 7.2292, 151.55, 30.5, 247.5208, 7.75, 23.25, 0.0, 12.35, 8.05, 151.55, 110.8833, 108.9, 24.0, 56.9292, 83.1583, 262.375, 26.0, 7.8958, 26.25, 7.8542, 26.0, 14.0, 164.8667, 134.5, 7.25, 7.8958, 12.35, 29.0, 69.55, 135.6333, 6.2375, 13.0, 20.525, 57.9792, 23.25, 28.5, 153.4625, 18.0, 133.65, 7.8958, 66.6, 134.5, 8.05, 35.5, 26.0, 263.0, 13.0, 13.0, 13.0, 13.0, 13.0, 16.1, 15.9, 8.6625, 9.225, 35.0, 7.2292, 17.8, 7.225, 9.5, 55.0, 13.0, 7.8792, 7.8792, 27.9, 27.7208, 14.4542, 7.05, 15.5, 7.25, 75.25, 7.2292, 7.75, 69.3, 55.4417, 6.4958, 8.05, 135.6333, 21.075, 82.1708, 7.25, 211.5, 4.0125, 7.775, 227.525, 15.7417, 7.925, 52.0, 7.8958, 73.5, 46.9, 13.0, 7.7292, 12.0, 120.0, 7.7958, 7.925, 113.275, 16.7, 7.7958, 7.8542, 26.0, 10.5, 12.65, 7.925, 8.05, 9.825, 15.85, 8.6625, 21.0, 7.75, 18.75, 7.775, 25.4667, 7.8958, 6.8583, 90.0, 0.0, 7.925, 8.05, 32.5, 13.0, 13.0, 24.15, 7.8958, 7.7333, 7.875, 14.4, 20.2125, 7.25, 26.0, 26.0, 7.75, 8.05, 26.55, 16.1, 26.0, 7.125, 55.9, 120.0, 34.375, 18.75, 263.0, 10.5, 26.25, 9.5, 7.775, 13.0, 8.1125, 81.8583, 19.5, 26.55, 19.2583, 30.5, 27.75, 19.9667, 27.75, 89.1042, 8.05, 7.8958, 26.55, 51.8625, 10.5, 7.75, 26.55, 8.05, 38.5, 13.0, 8.05, 7.05, 0.0, 26.55, 7.725, 19.2583, 7.25, 8.6625, 27.75, 13.7917, 9.8375, 52.0, 21.0, 7.0458, 7.5208, 12.2875, 46.9, 0.0, 8.05, 9.5875, 91.0792, 25.4667, 90.0, 29.7, 8.05, 15.9, 19.9667, 7.25, 30.5, 49.5042, 8.05, 14.4583, 78.2667, 15.1, 151.55, 7.7958, 8.6625, 7.75, 7.6292, 9.5875, 86.5, 108.9, 26.0, 26.55, 22.525, 56.4958, 7.75, 8.05, 26.2875, 59.4, 7.4958, 34.0208, 10.5, 24.15, 26.0, 7.8958, 93.5, 7.8958, 7.225, 57.9792, 7.2292, 7.75, 10.5, 221.7792, 7.925, 11.5, 26.0, 7.2292, 7.2292, 22.3583, 8.6625, 26.25, 26.55, 106.425, 14.5, 49.5, 71.0, 31.275, 31.275, 26.0, 106.425, 26.0, 26.0, 13.8625, 20.525, 36.75, 110.8833, 26.0, 7.8292, 7.225, 7.775, 26.55, 39.6, 227.525, 79.65, 17.4, 7.75, 7.8958, 13.5, 8.05, 8.05, 24.15, 7.8958, 21.075, 7.2292, 7.8542, 10.5, 51.4792, 26.3875, 7.75, 8.05, 14.5, 13.0, 55.9, 14.4583, 7.925, 30.0, 110.8833, 26.0, 40.125, 8.7125, 79.65, 15.0, 79.2, 8.05, 8.05, 7.125, 78.2667, 7.25, 7.75, 26.0, 24.15, 33.0, 0.0, 7.225, 56.9292, 27.0, 7.8958, 42.4, 8.05, 26.55, 15.55, 7.8958, 30.5, 41.5792, 153.4625, 31.275, 7.05, 15.5, 7.75, 8.05, 65.0, 14.4, 16.1, 39.0, 10.5, 14.4542, 52.5542, 15.7417, 7.8542, 16.1, 32.3208, 12.35, 77.9583, 7.8958, 7.7333, 30.0, 7.0542, 30.5, 0.0, 27.9, 13.0, 7.925, 26.25, 39.6875, 16.1, 7.8542, 69.3, 27.9, 56.4958, 19.2583, 76.7292, 7.8958, 35.5, 7.55, 7.55, 7.8958, 23.0, 8.4333, 7.8292, 6.75, 73.5, 7.8958, 15.5, 13.0, 113.275, 133.65, 7.225, 25.5875, 7.4958, 7.925, 73.5, 13.0, 7.775, 8.05, 52.0, 39.0, 52.0, 10.5, 13.0, 0.0, 7.775, 8.05, 9.8417, 46.9, 512.3292, 8.1375, 76.7292, 9.225, 46.9, 39.0, 41.5792, 39.6875, 10.1708, 7.7958, 211.3375, 57.0, 13.4167, 56.4958, 7.225, 26.55, 13.5, 8.05, 7.7333, 110.8833, 7.65, 227.525, 26.2875, 14.4542, 7.7417, 7.8542, 26.0, 13.5, 26.2875, 151.55, 15.2458, 49.5042, 26.55, 52.0, 9.4833, 13.0, 7.65, 227.525, 10.5, 15.5, 7.775, 33.0, 7.0542, 13.0, 13.0, 53.1, 8.6625, 21.0, 7.7375, 26.0, 7.925, 211.3375, 18.7875, 0.0, 13.0, 13.0, 16.1, 34.375, 512.3292, 7.8958, 7.8958, 30.0, 78.85, 262.375, 16.1, 7.925, 71.0, 20.25, 13.0, 53.1, 7.75, 23.0, 12.475, 9.5, 7.8958, 65.0, 14.5, 7.7958, 11.5, 8.05, 86.5, 14.5, 7.125, 7.2292, 120.0, 7.775, 77.9583, 39.6, 7.75, 24.15, 8.3625, 9.5, 7.8542, 10.5, 7.225, 23.0, 7.75, 7.75, 12.475, 7.7375, 211.3375, 7.2292, 57.0, 30.0, 23.45, 7.05, 7.25, 7.4958, 29.125, 20.575, 79.2, 7.75, 26.0, 69.55, 30.6958, 7.8958, 13.0, 25.9292, 8.6833, 7.2292, 24.15, 13.0, 26.25, 120.0, 8.5167, 6.975, 7.775, 0.0, 7.775, 13.0, 53.1, 7.8875, 24.15, 10.5, 31.275, 8.05, 0.0, 7.925, 37.0042, 6.45, 27.9, 93.5, 8.6625, 0.0, 12.475, 39.6875, 6.95, 56.4958, 37.0042, 7.75, 80.0, 14.4542, 18.75, 7.2292, 7.8542, 8.3, 83.1583, 8.6625, 8.05, 56.4958, 29.7, 7.925, 10.5, 31.0, 6.4375, 8.6625, 7.55, 69.55, 7.8958, 33.0, 89.1042, 31.275, 7.775, 15.2458, 39.4, 26.0, 9.35, 164.8667, 26.55, 19.2583, 7.2292, 14.1083, 11.5, 25.9292, 69.55, 13.0, 13.0, 13.8583, 50.4958, 9.5, 11.1333, 7.8958, 52.5542, 5.0, 9.0, 24.0, 7.225, 9.8458, 7.8958, 7.8958, 83.1583, 26.0, 7.8958, 10.5167, 10.5, 7.05, 29.125, 13.0, 30.0, 23.45, 30.0, 7.75]}, {\"name\": \"Cabin\", \"type\": \"dimension\", \"values\": [\"\", \"C85\", \"\", \"C123\", \"\", \"\", \"E46\", \"\", \"\", \"\", \"G6\", \"C103\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D56\", \"\", \"A6\", \"\", \"\", \"\", \"C23 C25 C27\", \"\", \"\", \"\", \"B78\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D33\", \"\", \"B30\", \"C52\", \"\", \"\", \"\", \"\", \"\", \"B28\", \"C83\", \"\", \"\", \"\", \"F33\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F G73\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C23 C25 C27\", \"\", \"\", \"\", \"E31\", \"\", \"\", \"\", \"A5\", \"D10 D12\", \"\", \"\", \"\", \"\", \"D26\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C110\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B58 B60\", \"\", \"\", \"\", \"\", \"E101\", \"D26\", \"\", \"\", \"\", \"F E69\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D47\", \"C123\", \"\", \"B86\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F2\", \"\", \"\", \"C2\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"E33\", \"\", \"\", \"\", \"B19\", \"\", \"\", \"\", \"A7\", \"\", \"\", \"C49\", \"\", \"\", \"\", \"\", \"\", \"F4\", \"\", \"A32\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F2\", \"B4\", \"B80\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"G6\", \"\", \"\", \"\", \"A31\", \"\", \"\", \"\", \"\", \"\", \"D36\", \"\", \"\", \"D15\", \"\", \"\", \"\", \"\", \"\", \"C93\", \"\", \"\", \"\", \"\", \"\", \"C83\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C78\", \"\", \"\", \"D35\", \"\", \"\", \"G6\", \"C87\", \"\", \"\", \"\", \"\", \"B77\", \"\", \"\", \"\", \"\", \"E67\", \"B94\", \"\", \"\", \"\", \"\", \"C125\", \"C99\", \"\", \"\", \"\", \"C118\", \"\", \"D7\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"A19\", \"\", \"\", \"\", \"\", \"\", \"\", \"B49\", \"D\", \"\", \"\", \"\", \"\", \"C22 C26\", \"C106\", \"B58 B60\", \"\", \"\", \"\", \"E101\", \"\", \"C22 C26\", \"\", \"C65\", \"\", \"E36\", \"C54\", \"B57 B59 B63 B66\", \"\", \"\", \"\", \"\", \"\", \"\", \"C7\", \"E34\", \"\", \"\", \"\", \"\", \"\", \"C32\", \"\", \"D\", \"\", \"B18\", \"\", \"C124\", \"C91\", \"\", \"\", \"\", \"C2\", \"E40\", \"\", \"T\", \"F2\", \"C23 C25 C27\", \"\", \"\", \"\", \"F33\", \"\", \"\", \"\", \"\", \"\", \"C128\", \"\", \"\", \"\", \"\", \"E33\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D37\", \"\", \"\", \"B35\", \"E50\", \"\", \"\", \"\", \"\", \"\", \"\", \"C82\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B96 B98\", \"\", \"\", \"D36\", \"G6\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C78\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"E10\", \"C52\", \"\", \"\", \"\", \"E44\", \"B96 B98\", \"\", \"\", \"C23 C25 C27\", \"\", \"\", \"\", \"\", \"\", \"\", \"A34\", \"\", \"\", \"\", \"C104\", \"\", \"\", \"C111\", \"C92\", \"\", \"\", \"E38\", \"D21\", \"\", \"\", \"E12\", \"\", \"E63\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D\", \"\", \"A14\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B49\", \"\", \"C93\", \"B37\", \"\", \"\", \"\", \"\", \"C30\", \"\", \"\", \"\", \"D20\", \"\", \"C22 C26\", \"\", \"\", \"\", \"\", \"\", \"B79\", \"C65\", \"\", \"\", \"\", \"\", \"\", \"\", \"E25\", \"\", \"\", \"D46\", \"F33\", \"\", \"\", \"\", \"B73\", \"\", \"\", \"B18\", \"\", \"\", \"\", \"C95\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B38\", \"\", \"\", \"B39\", \"B22\", \"\", \"\", \"\", \"C86\", \"\", \"\", \"\", \"\", \"\", \"C70\", \"\", \"\", \"\", \"\", \"\", \"A16\", \"\", \"E67\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C101\", \"E25\", \"\", \"\", \"\", \"\", \"E44\", \"\", \"\", \"\", \"C68\", \"\", \"A10\", \"\", \"E68\", \"\", \"B41\", \"\", \"\", \"\", \"D20\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"A20\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C125\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"F4\", \"\", \"\", \"D19\", \"\", \"\", \"\", \"D50\", \"\", \"D9\", \"\", \"\", \"A23\", \"\", \"B50\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B35\", \"\", \"\", \"\", \"D33\", \"\", \"A26\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"D48\", \"\", \"\", \"E58\", \"\", \"\", \"\", \"\", \"\", \"\", \"C126\", \"\", \"B71\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B51 B53 B55\", \"\", \"D49\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B5\", \"B20\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C68\", \"F G63\", \"C62 C64\", \"E24\", \"\", \"\", \"\", \"\", \"\", \"E24\", \"\", \"\", \"C90\", \"C124\", \"C126\", \"\", \"\", \"F G73\", \"C45\", \"E101\", \"\", \"\", \"\", \"\", \"\", \"\", \"E8\", \"\", \"\", \"\", \"\", \"\", \"B5\", \"\", \"\", \"\", \"\", \"\", \"\", \"B101\", \"\", \"\", \"D45\", \"C46\", \"B57 B59 B63 B66\", \"\", \"\", \"B22\", \"\", \"\", \"D30\", \"\", \"\", \"E121\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B77\", \"\", \"\", \"\", \"B96 B98\", \"\", \"D11\", \"\", \"\", \"\", \"\", \"\", \"\", \"E77\", \"\", \"\", \"\", \"F38\", \"\", \"\", \"B3\", \"\", \"B20\", \"D6\", \"\", \"\", \"\", \"\", \"\", \"\", \"B82 B84\", \"\", \"\", \"\", \"\", \"\", \"\", \"D17\", \"\", \"\", \"\", \"\", \"\", \"B96 B98\", \"\", \"\", \"\", \"A36\", \"\", \"\", \"E8\", \"\", \"\", \"\", \"\", \"\", \"B102\", \"\", \"\", \"\", \"\", \"B69\", \"\", \"\", \"E121\", \"\", \"\", \"\", \"\", \"\", \"B28\", \"\", \"\", \"\", \"\", \"\", \"E49\", \"\", \"\", \"\", \"C47\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"C92\", \"\", \"\", \"\", \"D28\", \"\", \"\", \"\", \"E17\", \"\", \"\", \"\", \"\", \"D17\", \"\", \"\", \"\", \"\", \"A24\", \"\", \"\", \"\", \"D35\", \"B51 B53 B55\", \"\", \"\", \"\", \"\", \"\", \"\", \"C50\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"B42\", \"\", \"C148\", \"\"]}, {\"name\": \"Embarked\", \"type\": \"dimension\", \"values\": [\"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"C\", \"C\", \"Q\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"C\", \"Q\", \"S\", \"Q\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"C\", \"Q\", \"Q\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"C\", \"C\", \"C\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"C\", \"C\", \"S\", \"Q\", \"S\", \"C\", \"C\", \"Q\", \"C\", \"C\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"C\", \"C\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"C\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"Q\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"S\", \"Q\", \"C\", \"S\", \"C\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"Q\", \"Q\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"Q\", \"S\", \"Q\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"Q\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"C\", \"Q\", \"\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"C\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"S\", \"C\", \"C\", \"S\", \"S\", \"S\", \"C\", \"S\", \"S\", \"S\", \"S\", \"S\", \"Q\", \"S\", \"S\", \"S\", \"C\", \"Q\"]}]}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"config\": {\"x\": \"Count\", \"y\": \"Sex\", \"label\": \"Count\", \"title\": \"Passengers of the Titanic\"}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"config\": {\"x\": [\"Count\", \"Survived\"], \"label\": [\"Count\", \"Survived\"], \"color\": \"Survived\"}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "window.ipyvizzu.animate(element, '37e72ef', 'actual', false, lib => { return {\"config\": {\"x\": \"Count\", \"y\": [\"Sex\", \"Survived\"]}} }, undefined);" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# sample\n", + "\n", + "import pandas as pd\n", + "from ipyvizzu import Chart, Data, Config\n", + "\n", + "data_frame = pd.read_csv(\n", + " \"https://raw.githubusercontent.com/vizzuhq/ipyvizzu/main/docs/examples/stories/titanic/titanic.csv\"\n", + ")\n", + "data = Data()\n", + "data.add_data_frame(data_frame)\n", + "\n", + "chart = Chart(width=\"640px\", height=\"360px\")\n", + "\n", + "chart.animate(data)\n", + "\n", + "chart.animate(\n", + " Config(\n", + " {\n", + " \"x\": \"Count\",\n", + " \"y\": \"Sex\",\n", + " \"label\": \"Count\",\n", + " \"title\": \"Passengers of the Titanic\",\n", + " }\n", + " )\n", + ")\n", + "chart.animate(\n", + " Config(\n", + " {\n", + " \"x\": [\"Count\", \"Survived\"],\n", + " \"label\": [\"Count\", \"Survived\"],\n", + " \"color\": \"Survived\",\n", + " }\n", + " )\n", + ")\n", + "chart.animate(Config({\"x\": \"Count\", \"y\": [\"Sex\", \"Survived\"]}))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe241db8-2491-4ded-adc0-47f6594a1ea6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/playground/nlp/.ipynb_checkpoints/spacy-checkpoint.ipynb b/playground/nlp/.ipynb_checkpoints/spacy-checkpoint.ipynb new file mode 100644 index 0000000..91620fd --- /dev/null +++ b/playground/nlp/.ipynb_checkpoints/spacy-checkpoint.ipynb @@ -0,0 +1,126 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "4b1a1586-0823-4046-ab19-0fa99a0f241b", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Defaulting to user installation because normal site-packages is not writeable\n", + "Collecting spacy\n", + " Downloading spacy-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.4/6.4 MB\u001b[0m \u001b[31m15.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting thinc<8.2.0,>=8.1.0\n", + " Downloading thinc-8.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (822 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m822.5/822.5 KB\u001b[0m \u001b[31m10.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting cymem<2.1.0,>=2.0.2\n", + " Using cached cymem-2.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (35 kB)\n", + "Requirement already satisfied: requests<3.0.0,>=2.13.0 in /usr/lib/python3/dist-packages (from spacy) (2.25.1)\n", + "Collecting wasabi<1.1.0,>=0.9.1\n", + " Downloading wasabi-0.10.1-py3-none-any.whl (26 kB)\n", + "Requirement already satisfied: packaging>=20.0 in /home/donaldrich/.local/lib/python3.10/site-packages (from spacy) (21.3)\n", + "Collecting spacy-legacy<3.1.0,>=3.0.9\n", + " Using cached spacy_legacy-3.0.9-py2.py3-none-any.whl (20 kB)\n", + "Requirement already satisfied: jinja2 in /usr/lib/python3/dist-packages (from spacy) (3.0.3)\n", + "Collecting langcodes<4.0.0,>=3.2.0\n", + " Using cached langcodes-3.3.0-py3-none-any.whl (181 kB)\n", + "Collecting pathy>=0.3.5\n", + " Downloading pathy-0.6.2-py3-none-any.whl (42 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.8/42.8 KB\u001b[0m \u001b[31m1.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting murmurhash<1.1.0,>=0.28.0\n", + " Using cached murmurhash-1.0.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21 kB)\n", + "Collecting tqdm<5.0.0,>=4.38.0\n", + " Downloading tqdm-4.64.0-py2.py3-none-any.whl (78 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m78.4/78.4 KB\u001b[0m \u001b[31m2.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting preshed<3.1.0,>=3.0.2\n", + " Using cached preshed-3.0.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (128 kB)\n", + "Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from spacy) (59.6.0)\n", + "Collecting spacy-loggers<2.0.0,>=1.0.0\n", + " Downloading spacy_loggers-1.0.3-py3-none-any.whl (9.3 kB)\n", + "Collecting catalogue<2.1.0,>=2.0.6\n", + " Downloading catalogue-2.0.8-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: typer<0.5.0,>=0.3.0 in /home/donaldrich/.local/lib/python3.10/site-packages (from spacy) (0.4.2)\n", + "Requirement already satisfied: numpy>=1.15.0 in /usr/lib/python3/dist-packages (from spacy) (1.21.5)\n", + "Collecting srsly<3.0.0,>=2.4.3\n", + " Downloading srsly-2.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (460 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m460.0/460.0 KB\u001b[0m \u001b[31m10.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pydantic!=1.8,!=1.8.1,<1.10.0,>=1.7.4 in /home/donaldrich/.local/lib/python3.10/site-packages (from spacy) (1.9.1)\n", + "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/lib/python3/dist-packages (from packaging>=20.0->spacy) (2.4.7)\n", + "Collecting smart-open<6.0.0,>=5.2.1\n", + " Using cached smart_open-5.2.1-py3-none-any.whl (58 kB)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /home/donaldrich/.local/lib/python3.10/site-packages (from pydantic!=1.8,!=1.8.1,<1.10.0,>=1.7.4->spacy) (4.3.0)\n", + "Collecting blis<0.8.0,>=0.7.8\n", + " Downloading blis-0.7.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m19.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m0:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: click<9.0.0,>=7.1.1 in /usr/lib/python3/dist-packages (from typer<0.5.0,>=0.3.0->spacy) (8.0.3)\n", + "Installing collected packages: wasabi, murmurhash, cymem, tqdm, spacy-loggers, spacy-legacy, smart-open, preshed, langcodes, catalogue, blis, srsly, pathy, thinc, spacy\n", + "Successfully installed blis-0.7.8 catalogue-2.0.8 cymem-2.0.6 langcodes-3.3.0 murmurhash-1.0.7 pathy-0.6.2 preshed-3.0.6 smart-open-5.2.1 spacy-3.4.1 spacy-legacy-3.0.9 spacy-loggers-1.0.3 srsly-2.4.4 thinc-8.1.0 tqdm-4.64.0 wasabi-0.10.1\n", + "zsh:1: command not found: python\n" + ] + } + ], + "source": [ + "!pip install -U spacy\n", + "!python -m spacy download en_core_web_sm" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0d80ae8-94a9-45b6-af8b-790dbb12e469", + "metadata": {}, + "outputs": [], + "source": [ + "import spacy\n", + "from spacy import displacy\n", + "\n", + "text = \"When Sebastian Thrun started working on self-driving cars at Google in 2007, few people outside of the company took him seriously.\"\n", + "\n", + "nlp = spacy.load(\"en_core_web_sm\")\n", + "doc = nlp(text)\n", + "displacy.serve(doc, style=\"ent\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2b9b88c-343b-4839-b56a-48423773a03b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.5" + }, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/playground/nlp/spacy.ipynb b/playground/nlp/spacy.ipynb index 2df18df..959501f 100644 --- a/playground/nlp/spacy.ipynb +++ b/playground/nlp/spacy.ipynb @@ -99,7 +99,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.10.4 64-bit", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -113,7 +113,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.6" }, "vscode": { "interpreter": { diff --git a/playground/syntax.ipynb b/playground/syntax.ipynb new file mode 100644 index 0000000..552f499 --- /dev/null +++ b/playground/syntax.ipynb @@ -0,0 +1,344 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "default:\n", + "\u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n", + "\u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfunction\u001b[39m(test\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m):\n", + " \u001b[38;5;28;01mif\u001b[39;00m test \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;241m3\u001b[39m,\u001b[38;5;241m4\u001b[39m]:\n", + " \u001b[38;5;28mprint\u001b[39m(test)\n", + "\n", + "emacs:\n", + "\u001b[38;5;129;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n", + "\u001b[38;5;129;01mdef\u001b[39;00m \u001b[38;5;34mfunction\u001b[39m(test\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m):\n", + " \u001b[38;5;129;01mif\u001b[39;00m test \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;241m3\u001b[39m,\u001b[38;5;241m4\u001b[39m]:\n", + " \u001b[38;5;129mprint\u001b[39m(test)\n", + "\n", + "friendly:\n", + "\u001b[38;5;22;01mimport\u001b[39;00m \u001b[38;5;31;01mos\u001b[39;00m\n", + "\u001b[38;5;22;01mdef\u001b[39;00m \u001b[38;5;18mfunction\u001b[39m(test\u001b[38;5;241m=\u001b[39m\u001b[38;5;71m1\u001b[39m):\n", + " \u001b[38;5;22;01mif\u001b[39;00m test \u001b[38;5;22;01min\u001b[39;00m [\u001b[38;5;71m3\u001b[39m,\u001b[38;5;71m4\u001b[39m]:\n", + " \u001b[38;5;22mprint\u001b[39m(test)\n", + "\n", + "friendly_grayscale:\n", + "\u001b[38;5;240;01mimport\u001b[39;00m \u001b[38;5;8;01mos\u001b[39;00m\n", + "\u001b[38;5;240;01mdef\u001b[39;00m \u001b[38;5;237mfunction\u001b[39m(test\u001b[38;5;241m=\u001b[39m\u001b[38;5;102m1\u001b[39m):\n", + " \u001b[38;5;240;01mif\u001b[39;00m test \u001b[38;5;240;01min\u001b[39;00m [\u001b[38;5;102m3\u001b[39m,\u001b[38;5;102m4\u001b[39m]:\n", + " \u001b[38;5;240mprint\u001b[39m(test)\n", + "\n", + "colorful:\n", + "\u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;31;01mos\u001b[39;00m\n", + "\u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;25;01mfunction\u001b[39;00m(test\u001b[38;5;236m=\u001b[39m\u001b[38;5;20;01m1\u001b[39;00m):\n", + " \u001b[38;5;28;01mif\u001b[39;00m test \u001b[38;5;0;01min\u001b[39;00m [\u001b[38;5;20;01m3\u001b[39;00m,\u001b[38;5;20;01m4\u001b[39;00m]:\n", + " \u001b[38;5;22mprint\u001b[39m(test)\n", + "\n", + "autumn:\n", + "\u001b[38;5;19mimport\u001b[39m \u001b[38;5;37;04mos\u001b[39;00m\n", + "\u001b[38;5;19mdef\u001b[39m \u001b[38;5;34mfunction\u001b[39m(test=\u001b[38;5;30m1\u001b[39m):\n", + " \u001b[38;5;19mif\u001b[39m test \u001b[38;5;19min\u001b[39m [\u001b[38;5;30m3\u001b[39m,\u001b[38;5;30m4\u001b[39m]:\n", + " \u001b[38;5;37mprint\u001b[39m(test)\n", + "\n", + "murphy:\n", + "\u001b[38;5;30;01mimport\u001b[39;00m \u001b[38;5;31;01mos\u001b[39;00m\n", + "\u001b[38;5;30;01mdef\u001b[39;00m \u001b[38;5;86;01mfunction\u001b[39;00m(test\u001b[38;5;236m=\u001b[39m\u001b[38;5;63;01m1\u001b[39;00m):\n", + " \u001b[38;5;30;01mif\u001b[39;00m test \u001b[38;5;0;01min\u001b[39;00m [\u001b[38;5;63;01m3\u001b[39;00m,\u001b[38;5;63;01m4\u001b[39;00m]:\n", + " \u001b[38;5;28mprint\u001b[39m(test)\n", + "\n", + "manni:\n", + "\u001b[38;5;24;01mimport\u001b[39;00m \u001b[38;5;45;01mos\u001b[39;00m\n", + "\u001b[38;5;24;01mdef\u001b[39;00m \u001b[38;5;165mfunction\u001b[39m(test\u001b[38;5;240m=\u001b[39m\u001b[38;5;202m1\u001b[39m):\n", + " \u001b[38;5;24;01mif\u001b[39;00m test \u001b[38;5;0;01min\u001b[39;00m [\u001b[38;5;202m3\u001b[39m,\u001b[38;5;202m4\u001b[39m]:\n", + " \u001b[38;5;240mprint\u001b[39m(test)\n", + "\n", + "material:\n", + "\u001b[38;5;117;03mimport\u001b[39;00m\u001b[38;5;15m \u001b[39m\u001b[38;5;221mos\u001b[39m\n", + "\u001b[38;5;139mdef\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;111mfunction\u001b[39m\u001b[38;5;117m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;117m=\u001b[39m\u001b[38;5;209m1\u001b[39m\u001b[38;5;117m)\u001b[39m\u001b[38;5;117m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;139mif\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;117;03min\u001b[39;00m\u001b[38;5;15m \u001b[39m\u001b[38;5;117m[\u001b[39m\u001b[38;5;209m3\u001b[39m\u001b[38;5;117m,\u001b[39m\u001b[38;5;209m4\u001b[39m\u001b[38;5;117m]\u001b[39m\u001b[38;5;117m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;111mprint\u001b[39m\u001b[38;5;117m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;117m)\u001b[39m\n", + "\n", + "monokai:\n", + "\u001b[38;5;197mimport\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15mos\u001b[39m\n", + "\u001b[38;5;81mdef\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;148mfunction\u001b[39m\u001b[38;5;15m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;197m=\u001b[39m\u001b[38;5;141m1\u001b[39m\u001b[38;5;15m)\u001b[39m\u001b[38;5;15m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;81mif\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;197min\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15m[\u001b[39m\u001b[38;5;141m3\u001b[39m\u001b[38;5;15m,\u001b[39m\u001b[38;5;141m4\u001b[39m\u001b[38;5;15m]\u001b[39m\u001b[38;5;15m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;15mprint\u001b[39m\u001b[38;5;15m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m)\u001b[39m\n", + "\n", + "perldoc:\n", + "\u001b[38;5;90;01mimport\u001b[39;00m \u001b[38;5;29;04mos\u001b[39;00m\n", + "\u001b[38;5;90;01mdef\u001b[39;00m \u001b[38;5;29mfunction\u001b[39m(test=\u001b[38;5;134m1\u001b[39m):\n", + " \u001b[38;5;90;01mif\u001b[39;00m test \u001b[38;5;90min\u001b[39m [\u001b[38;5;134m3\u001b[39m,\u001b[38;5;134m4\u001b[39m]:\n", + " \u001b[38;5;64mprint\u001b[39m(test)\n", + "\n", + "pastie:\n", + "\u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;125;01mos\u001b[39;00m\n", + "\u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;25;01mfunction\u001b[39;00m(test=\u001b[38;5;20;01m1\u001b[39;00m):\n", + " \u001b[38;5;28;01mif\u001b[39;00m test \u001b[38;5;28min\u001b[39m [\u001b[38;5;20;01m3\u001b[39;00m,\u001b[38;5;20;01m4\u001b[39;00m]:\n", + " \u001b[38;5;24mprint\u001b[39m(test)\n", + "\n", + "borland:\n", + "\u001b[38;5;18;01mimport\u001b[39;00m os\n", + "\u001b[38;5;18;01mdef\u001b[39;00m function(test=\u001b[38;5;21m1\u001b[39m):\n", + " \u001b[38;5;18;01mif\u001b[39;00m test \u001b[01min\u001b[00m [\u001b[38;5;21m3\u001b[39m,\u001b[38;5;21m4\u001b[39m]:\n", + " print(test)\n", + "\n", + "trac:\n", + "\u001b[01mimport\u001b[00m \u001b[38;5;240mos\u001b[39m\n", + "\u001b[01mdef\u001b[00m \u001b[38;5;88;01mfunction\u001b[39;00m(test\u001b[01m=\u001b[00m\u001b[38;5;30m1\u001b[39m):\n", + " \u001b[01mif\u001b[00m test \u001b[01min\u001b[00m [\u001b[38;5;30m3\u001b[39m,\u001b[38;5;30m4\u001b[39m]:\n", + " \u001b[38;5;246mprint\u001b[39m(test)\n", + "\n", + "native:\n", + "\u001b[38;5;70;01mimport\u001b[39;00m\u001b[38;5;252m \u001b[39m\u001b[38;5;75;04mos\u001b[39;00m\n", + "\u001b[38;5;70;01mdef\u001b[39;00m\u001b[38;5;252m \u001b[39m\u001b[38;5;75mfunction\u001b[39m\u001b[38;5;252m(\u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m=\u001b[39m\u001b[38;5;75m1\u001b[39m\u001b[38;5;252m)\u001b[39m\u001b[38;5;252m:\u001b[39m\n", + "\u001b[38;5;252m \u001b[39m\u001b[38;5;70;01mif\u001b[39;00m\u001b[38;5;252m \u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;70;01min\u001b[39;00m\u001b[38;5;252m \u001b[39m\u001b[38;5;252m[\u001b[39m\u001b[38;5;75m3\u001b[39m\u001b[38;5;252m,\u001b[39m\u001b[38;5;75m4\u001b[39m\u001b[38;5;252m]\u001b[39m\u001b[38;5;252m:\u001b[39m\n", + "\u001b[38;5;252m \u001b[39m\u001b[38;5;38mprint\u001b[39m\u001b[38;5;252m(\u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m)\u001b[39m\n", + "\n", + "fruity:\n", + "\u001b[38;5;202;01mimport\u001b[39;00m\u001b[38;5;15m \u001b[39m\u001b[38;5;15mos\u001b[39m\n", + "\u001b[38;5;202;01mdef\u001b[39;00m\u001b[38;5;15m \u001b[39m\u001b[38;5;198;01mfunction\u001b[39;00m\u001b[38;5;15m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m=\u001b[39m\u001b[38;5;33;01m1\u001b[39;00m\u001b[38;5;15m)\u001b[39m\u001b[38;5;15m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;202;01mif\u001b[39;00m\u001b[38;5;15m \u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15min\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15m[\u001b[39m\u001b[38;5;33;01m3\u001b[39;00m\u001b[38;5;15m,\u001b[39m\u001b[38;5;33;01m4\u001b[39;00m\u001b[38;5;15m]\u001b[39m\u001b[38;5;15m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;15mprint\u001b[39m\u001b[38;5;15m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m)\u001b[39m\n", + "\n", + "bw:\n", + "\u001b[01mimport\u001b[00m \u001b[01mos\u001b[00m\n", + "\u001b[01mdef\u001b[00m function(test=1):\n", + " \u001b[01mif\u001b[00m test \u001b[01min\u001b[00m [3,4]:\n", + " print(test)\n", + "\n", + "vim:\n", + "\u001b[38;5;5mimport\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;252mos\u001b[39m\n", + "\u001b[38;5;3mdef\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;252mfunction\u001b[39m\u001b[38;5;252m(\u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;68m=\u001b[39m\u001b[38;5;5m1\u001b[39m\u001b[38;5;252m)\u001b[39m\u001b[38;5;252m:\u001b[39m\n", + "\u001b[38;5;252m \u001b[39m\u001b[38;5;3mif\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;3min\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;252m[\u001b[39m\u001b[38;5;5m3\u001b[39m\u001b[38;5;252m,\u001b[39m\u001b[38;5;5m4\u001b[39m\u001b[38;5;252m]\u001b[39m\u001b[38;5;252m:\u001b[39m\n", + "\u001b[38;5;252m \u001b[39m\u001b[38;5;5mprint\u001b[39m\u001b[38;5;252m(\u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m)\u001b[39m\n", + "\n", + "vs:\n", + "\u001b[38;5;21mimport\u001b[39m os\n", + "\u001b[38;5;21mdef\u001b[39m function(test=1):\n", + " \u001b[38;5;21mif\u001b[39m test \u001b[38;5;21min\u001b[39m [3,4]:\n", + " print(test)\n", + "\n", + "tango:\n", + "\u001b[38;5;24;01mimport\u001b[39;00m \u001b[38;5;0mos\u001b[39m\n", + "\u001b[38;5;24;01mdef\u001b[39;00m \u001b[38;5;0mfunction\u001b[39m\u001b[38;5;0;01m(\u001b[39;00m\u001b[38;5;0mtest\u001b[39m\u001b[38;5;166;01m=\u001b[39;00m\u001b[38;5;20;01m1\u001b[39;00m\u001b[38;5;0;01m)\u001b[39;00m\u001b[38;5;0;01m:\u001b[39;00m\n", + " \u001b[38;5;24;01mif\u001b[39;00m \u001b[38;5;0mtest\u001b[39m \u001b[38;5;24;01min\u001b[39;00m \u001b[38;5;0;01m[\u001b[39;00m\u001b[38;5;20;01m3\u001b[39;00m\u001b[38;5;0;01m,\u001b[39;00m\u001b[38;5;20;01m4\u001b[39;00m\u001b[38;5;0;01m]\u001b[39;00m\u001b[38;5;0;01m:\u001b[39;00m\n", + " \u001b[38;5;24mprint\u001b[39m\u001b[38;5;0;01m(\u001b[39;00m\u001b[38;5;0mtest\u001b[39m\u001b[38;5;0;01m)\u001b[39;00m\n", + "\n", + "rrt:\n", + "\u001b[38;5;9mimport\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;253mos\u001b[39m\n", + "\u001b[38;5;9mdef\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;11mfunction\u001b[39m\u001b[38;5;253m(\u001b[39m\u001b[38;5;253mtest\u001b[39m\u001b[38;5;253m=\u001b[39m\u001b[38;5;253m1\u001b[39m\u001b[38;5;253m)\u001b[39m\u001b[38;5;253m:\u001b[39m\n", + "\u001b[38;5;253m \u001b[39m\u001b[38;5;9mif\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;253mtest\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;253min\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;253m[\u001b[39m\u001b[38;5;253m3\u001b[39m\u001b[38;5;253m,\u001b[39m\u001b[38;5;253m4\u001b[39m\u001b[38;5;253m]\u001b[39m\u001b[38;5;253m:\u001b[39m\n", + "\u001b[38;5;253m \u001b[39m\u001b[38;5;253mprint\u001b[39m\u001b[38;5;253m(\u001b[39m\u001b[38;5;253mtest\u001b[39m\u001b[38;5;253m)\u001b[39m\n", + "\n", + "xcode:\n", + "\u001b[38;5;126mimport\u001b[39m \u001b[38;5;0mos\u001b[39m\n", + "\u001b[38;5;126mdef\u001b[39m \u001b[38;5;0mfunction\u001b[39m(\u001b[38;5;0mtest\u001b[39m\u001b[38;5;0m=\u001b[39m\u001b[38;5;20m1\u001b[39m):\n", + " \u001b[38;5;126mif\u001b[39m \u001b[38;5;0mtest\u001b[39m \u001b[38;5;0min\u001b[39m [\u001b[38;5;20m3\u001b[39m,\u001b[38;5;20m4\u001b[39m]:\n", + " \u001b[38;5;126mprint\u001b[39m(\u001b[38;5;0mtest\u001b[39m)\n", + "\n", + "igor:\n", + "\u001b[38;5;21mimport\u001b[39m os\n", + "\u001b[38;5;21mdef\u001b[39m \u001b[38;5;130mfunction\u001b[39m(test=1):\n", + " \u001b[38;5;21mif\u001b[39m test in [3,4]:\n", + " print(test)\n", + "\n", + "paraiso-light:\n", + "\u001b[38;5;79mimport\u001b[39m\u001b[38;5;235m \u001b[39m\u001b[38;5;220mos\u001b[39m\n", + "\u001b[38;5;97mdef\u001b[39m\u001b[38;5;235m \u001b[39m\u001b[38;5;39mfunction\u001b[39m\u001b[38;5;235m(\u001b[39m\u001b[38;5;235mtest\u001b[39m\u001b[38;5;79m=\u001b[39m\u001b[38;5;208m1\u001b[39m\u001b[38;5;235m)\u001b[39m\u001b[38;5;235m:\u001b[39m\n", + "\u001b[38;5;235m \u001b[39m\u001b[38;5;97mif\u001b[39m\u001b[38;5;235m \u001b[39m\u001b[38;5;235mtest\u001b[39m\u001b[38;5;235m \u001b[39m\u001b[38;5;79min\u001b[39m\u001b[38;5;235m \u001b[39m\u001b[38;5;235m[\u001b[39m\u001b[38;5;208m3\u001b[39m\u001b[38;5;235m,\u001b[39m\u001b[38;5;208m4\u001b[39m\u001b[38;5;235m]\u001b[39m\u001b[38;5;235m:\u001b[39m\n", + "\u001b[38;5;235m \u001b[39m\u001b[38;5;235mprint\u001b[39m\u001b[38;5;235m(\u001b[39m\u001b[38;5;235mtest\u001b[39m\u001b[38;5;235m)\u001b[39m\n", + "\n", + "paraiso-dark:\n", + "\u001b[38;5;79mimport\u001b[39m\u001b[38;5;7m \u001b[39m\u001b[38;5;220mos\u001b[39m\n", + "\u001b[38;5;97mdef\u001b[39m\u001b[38;5;7m \u001b[39m\u001b[38;5;39mfunction\u001b[39m\u001b[38;5;7m(\u001b[39m\u001b[38;5;7mtest\u001b[39m\u001b[38;5;79m=\u001b[39m\u001b[38;5;208m1\u001b[39m\u001b[38;5;7m)\u001b[39m\u001b[38;5;7m:\u001b[39m\n", + "\u001b[38;5;7m \u001b[39m\u001b[38;5;97mif\u001b[39m\u001b[38;5;7m \u001b[39m\u001b[38;5;7mtest\u001b[39m\u001b[38;5;7m \u001b[39m\u001b[38;5;79min\u001b[39m\u001b[38;5;7m \u001b[39m\u001b[38;5;7m[\u001b[39m\u001b[38;5;208m3\u001b[39m\u001b[38;5;7m,\u001b[39m\u001b[38;5;208m4\u001b[39m\u001b[38;5;7m]\u001b[39m\u001b[38;5;7m:\u001b[39m\n", + "\u001b[38;5;7m \u001b[39m\u001b[38;5;7mprint\u001b[39m\u001b[38;5;7m(\u001b[39m\u001b[38;5;7mtest\u001b[39m\u001b[38;5;7m)\u001b[39m\n", + "\n", + "lovelace:\n", + "\u001b[38;5;25mimport\u001b[39m \u001b[38;5;29mos\u001b[39m\n", + "\u001b[38;5;25mdef\u001b[39m \u001b[38;5;95mfunction\u001b[39m\u001b[38;5;102m(\u001b[39mtest\u001b[38;5;241m=\u001b[39m\u001b[38;5;238m1\u001b[39m\u001b[38;5;102m)\u001b[39m\u001b[38;5;102m:\u001b[39m\n", + " \u001b[38;5;25mif\u001b[39m test \u001b[38;5;133min\u001b[39m \u001b[38;5;102m[\u001b[39m\u001b[38;5;238m3\u001b[39m\u001b[38;5;102m,\u001b[39m\u001b[38;5;238m4\u001b[39m\u001b[38;5;102m]\u001b[39m\u001b[38;5;102m:\u001b[39m\n", + " \u001b[38;5;65mprint\u001b[39m\u001b[38;5;102m(\u001b[39mtest\u001b[38;5;102m)\u001b[39m\n", + "\n", + "algol:\n", + "\u001b[01;04mimport\u001b[00m \u001b[38;5;241;01;03mos\u001b[39;00m\n", + "\u001b[01;04mdef\u001b[00m \u001b[38;5;241;01;03mfunction\u001b[39;00m(test=1):\n", + " \u001b[01;04mif\u001b[00m test \u001b[01min\u001b[00m [3,4]:\n", + " \u001b[01;03mprint\u001b[00m(test)\n", + "\n", + "algol_nu:\n", + "\u001b[01mimport\u001b[00m \u001b[38;5;241;01;03mos\u001b[39;00m\n", + "\u001b[01mdef\u001b[00m \u001b[38;5;241;01;03mfunction\u001b[39;00m(test=1):\n", + " \u001b[01mif\u001b[00m test \u001b[01min\u001b[00m [3,4]:\n", + " \u001b[01;03mprint\u001b[00m(test)\n", + "\n", + "arduino:\n", + "\u001b[38;5;64mimport\u001b[39m \u001b[38;5;239mos\u001b[39m\n", + "\u001b[38;5;64mdef\u001b[39m \u001b[38;5;166mfunction\u001b[39m(\u001b[38;5;239mtest\u001b[39m\u001b[38;5;64m=\u001b[39m\u001b[38;5;101m1\u001b[39m):\n", + " \u001b[38;5;64mif\u001b[39m \u001b[38;5;239mtest\u001b[39m \u001b[38;5;64min\u001b[39m [\u001b[38;5;101m3\u001b[39m,\u001b[38;5;101m4\u001b[39m]:\n", + " \u001b[38;5;64mprint\u001b[39m(\u001b[38;5;239mtest\u001b[39m)\n", + "\n", + "rainbow_dash:\n", + "\u001b[38;5;26;01mimport\u001b[39;00m\u001b[38;5;239m \u001b[39mos\n", + "\u001b[38;5;26;01mdef\u001b[39;00m\u001b[38;5;239m \u001b[39m\u001b[38;5;208;01mfunction\u001b[39;00m(test\u001b[38;5;26m=\u001b[39m\u001b[38;5;55;01m1\u001b[39;00m):\n", + "\u001b[38;5;239m \u001b[39m\u001b[38;5;26;01mif\u001b[39;00m\u001b[38;5;239m \u001b[39mtest\u001b[38;5;239m \u001b[39m\u001b[38;5;26;01min\u001b[39;00m\u001b[38;5;239m \u001b[39m[\u001b[38;5;55;01m3\u001b[39;00m,\u001b[38;5;55;01m4\u001b[39;00m]:\n", + "\u001b[38;5;239m \u001b[39m\u001b[38;5;55;01mprint\u001b[39;00m(test)\n", + "\n", + "abap:\n", + "\u001b[38;5;21mimport\u001b[39m \u001b[38;5;0mos\u001b[39m\n", + "\u001b[38;5;21mdef\u001b[39m \u001b[38;5;0mfunction\u001b[39m(\u001b[38;5;0mtest\u001b[39m=\u001b[38;5;75m1\u001b[39m):\n", + " \u001b[38;5;21mif\u001b[39m \u001b[38;5;0mtest\u001b[39m \u001b[38;5;21min\u001b[39m [\u001b[38;5;75m3\u001b[39m,\u001b[38;5;75m4\u001b[39m]:\n", + " \u001b[38;5;0mprint\u001b[39m(\u001b[38;5;0mtest\u001b[39m)\n", + "\n", + "solarized-dark:\n", + "\u001b[38;5;166mimport\u001b[39m\u001b[38;5;245m \u001b[39m\u001b[38;5;32mos\u001b[39m\n", + "\u001b[38;5;100mdef\u001b[39m\u001b[38;5;245m \u001b[39m\u001b[38;5;32mfunction\u001b[39m\u001b[38;5;245m(\u001b[39m\u001b[38;5;245mtest\u001b[39m\u001b[38;5;242m=\u001b[39m\u001b[38;5;36m1\u001b[39m\u001b[38;5;245m)\u001b[39m\u001b[38;5;245m:\u001b[39m\n", + "\u001b[38;5;245m \u001b[39m\u001b[38;5;100mif\u001b[39m\u001b[38;5;245m \u001b[39m\u001b[38;5;245mtest\u001b[39m\u001b[38;5;245m \u001b[39m\u001b[38;5;100min\u001b[39m\u001b[38;5;245m \u001b[39m\u001b[38;5;245m[\u001b[39m\u001b[38;5;36m3\u001b[39m\u001b[38;5;245m,\u001b[39m\u001b[38;5;36m4\u001b[39m\u001b[38;5;245m]\u001b[39m\u001b[38;5;245m:\u001b[39m\n", + "\u001b[38;5;245m \u001b[39m\u001b[38;5;32mprint\u001b[39m\u001b[38;5;245m(\u001b[39m\u001b[38;5;245mtest\u001b[39m\u001b[38;5;245m)\u001b[39m\n", + "\n", + "solarized-light:\n", + "\u001b[38;5;166mimport\u001b[39m\u001b[38;5;66m \u001b[39m\u001b[38;5;32mos\u001b[39m\n", + "\u001b[38;5;100mdef\u001b[39m\u001b[38;5;66m \u001b[39m\u001b[38;5;32mfunction\u001b[39m\u001b[38;5;66m(\u001b[39m\u001b[38;5;66mtest\u001b[39m\u001b[38;5;247m=\u001b[39m\u001b[38;5;36m1\u001b[39m\u001b[38;5;66m)\u001b[39m\u001b[38;5;66m:\u001b[39m\n", + "\u001b[38;5;66m \u001b[39m\u001b[38;5;100mif\u001b[39m\u001b[38;5;66m \u001b[39m\u001b[38;5;66mtest\u001b[39m\u001b[38;5;66m \u001b[39m\u001b[38;5;100min\u001b[39m\u001b[38;5;66m \u001b[39m\u001b[38;5;66m[\u001b[39m\u001b[38;5;36m3\u001b[39m\u001b[38;5;66m,\u001b[39m\u001b[38;5;36m4\u001b[39m\u001b[38;5;66m]\u001b[39m\u001b[38;5;66m:\u001b[39m\n", + "\u001b[38;5;66m \u001b[39m\u001b[38;5;32mprint\u001b[39m\u001b[38;5;66m(\u001b[39m\u001b[38;5;66mtest\u001b[39m\u001b[38;5;66m)\u001b[39m\n", + "\n", + "sas:\n", + "\u001b[38;5;21mimport\u001b[39m os\n", + "\u001b[38;5;21mdef\u001b[39m \u001b[01;03mfunction\u001b[00m(test=\u001b[38;5;29;01m1\u001b[39;00m):\n", + " \u001b[38;5;21mif\u001b[39m test in [\u001b[38;5;29;01m3\u001b[39;00m,\u001b[38;5;29;01m4\u001b[39;00m]:\n", + " \u001b[38;5;21mprint\u001b[39m(test)\n", + "\n", + "stata:\n", + "\u001b[38;5;60;01mimport\u001b[39;00m\u001b[38;5;233m \u001b[39mos\n", + "\u001b[38;5;60;01mdef\u001b[39;00m\u001b[38;5;233m \u001b[39m\u001b[38;5;21mfunction\u001b[39m(test=\u001b[38;5;21m1\u001b[39m):\n", + "\u001b[38;5;233m \u001b[39m\u001b[38;5;60;01mif\u001b[39;00m\u001b[38;5;233m \u001b[39mtest\u001b[38;5;233m \u001b[39min\u001b[38;5;233m \u001b[39m[\u001b[38;5;21m3\u001b[39m,\u001b[38;5;21m4\u001b[39m]:\n", + "\u001b[38;5;233m \u001b[39mprint(test)\n", + "\n", + "stata-light:\n", + "\u001b[38;5;60;01mimport\u001b[39;00m\u001b[38;5;233m \u001b[39mos\n", + "\u001b[38;5;60;01mdef\u001b[39;00m\u001b[38;5;233m \u001b[39m\u001b[38;5;21mfunction\u001b[39m(test=\u001b[38;5;21m1\u001b[39m):\n", + "\u001b[38;5;233m \u001b[39m\u001b[38;5;60;01mif\u001b[39;00m\u001b[38;5;233m \u001b[39mtest\u001b[38;5;233m \u001b[39min\u001b[38;5;233m \u001b[39m[\u001b[38;5;21m3\u001b[39m,\u001b[38;5;21m4\u001b[39m]:\n", + "\u001b[38;5;233m \u001b[39mprint(test)\n", + "\n", + "stata-dark:\n", + "\u001b[38;5;103;01mimport\u001b[39;00m\u001b[38;5;252m \u001b[39m\u001b[38;5;252mos\u001b[39m\n", + "\u001b[38;5;103;01mdef\u001b[39;00m\u001b[38;5;252m \u001b[39m\u001b[38;5;63mfunction\u001b[39m\u001b[38;5;252m(\u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m=\u001b[39m\u001b[38;5;74m1\u001b[39m\u001b[38;5;252m)\u001b[39m\u001b[38;5;252m:\u001b[39m\n", + "\u001b[38;5;252m \u001b[39m\u001b[38;5;103;01mif\u001b[39;00m\u001b[38;5;252m \u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;252min\u001b[39m\u001b[38;5;252m \u001b[39m\u001b[38;5;252m[\u001b[39m\u001b[38;5;74m3\u001b[39m\u001b[38;5;252m,\u001b[39m\u001b[38;5;74m4\u001b[39m\u001b[38;5;252m]\u001b[39m\u001b[38;5;252m:\u001b[39m\n", + "\u001b[38;5;252m \u001b[39m\u001b[38;5;252mprint\u001b[39m\u001b[38;5;252m(\u001b[39m\u001b[38;5;252mtest\u001b[39m\u001b[38;5;252m)\u001b[39m\n", + "\n", + "inkpot:\n", + "\u001b[38;5;105mimport\u001b[39m\u001b[38;5;181m \u001b[39m\u001b[38;5;9mos\u001b[39m\n", + "\u001b[38;5;105mdef\u001b[39m\u001b[38;5;181m \u001b[39m\u001b[38;5;140mfunction\u001b[39m\u001b[38;5;181m(\u001b[39m\u001b[38;5;181mtest\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;215m1\u001b[39m\u001b[38;5;181m)\u001b[39m\u001b[38;5;181m:\u001b[39m\n", + "\u001b[38;5;181m \u001b[39m\u001b[38;5;105mif\u001b[39m\u001b[38;5;181m \u001b[39m\u001b[38;5;181mtest\u001b[39m\u001b[38;5;181m \u001b[39m\u001b[38;5;241min\u001b[39m\u001b[38;5;181m \u001b[39m\u001b[38;5;181m[\u001b[39m\u001b[38;5;215m3\u001b[39m\u001b[38;5;181m,\u001b[39m\u001b[38;5;215m4\u001b[39m\u001b[38;5;181m]\u001b[39m\u001b[38;5;181m:\u001b[39m\n", + "\u001b[38;5;181m \u001b[39m\u001b[38;5;105mprint\u001b[39m\u001b[38;5;181m(\u001b[39m\u001b[38;5;181mtest\u001b[39m\u001b[38;5;181m)\u001b[39m\n", + "\n", + "zenburn:\n", + "\u001b[38;5;223mimport\u001b[39m\u001b[38;5;188m \u001b[39m\u001b[38;5;188mos\u001b[39m\n", + "\u001b[38;5;223mdef\u001b[39m\u001b[38;5;188m \u001b[39m\u001b[38;5;228mfunction\u001b[39m\u001b[38;5;230m(\u001b[39m\u001b[38;5;188mtest\u001b[39m\u001b[38;5;230m=\u001b[39m\u001b[38;5;116m1\u001b[39m\u001b[38;5;230m)\u001b[39m\u001b[38;5;230m:\u001b[39m\n", + "\u001b[38;5;188m \u001b[39m\u001b[38;5;223mif\u001b[39m\u001b[38;5;188m \u001b[39m\u001b[38;5;188mtest\u001b[39m\u001b[38;5;188m \u001b[39m\u001b[38;5;230min\u001b[39m\u001b[38;5;188m \u001b[39m\u001b[38;5;230m[\u001b[39m\u001b[38;5;116m3\u001b[39m\u001b[38;5;230m,\u001b[39m\u001b[38;5;116m4\u001b[39m\u001b[38;5;230m]\u001b[39m\u001b[38;5;230m:\u001b[39m\n", + "\u001b[38;5;188m \u001b[39m\u001b[38;5;228mprint\u001b[39m\u001b[38;5;230m(\u001b[39m\u001b[38;5;188mtest\u001b[39m\u001b[38;5;230m)\u001b[39m\n", + "\n", + "gruvbox-dark:\n", + "\u001b[38;5;203mimport\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;108mos\u001b[39m\n", + "\u001b[38;5;203mdef\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;108mfunction\u001b[39m\u001b[38;5;253m(\u001b[39m\u001b[38;5;253mtest\u001b[39m\u001b[38;5;253m=\u001b[39m\u001b[38;5;174m1\u001b[39m\u001b[38;5;253m)\u001b[39m\u001b[38;5;253m:\u001b[39m\n", + "\u001b[38;5;253m \u001b[39m\u001b[38;5;203mif\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;253mtest\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;203min\u001b[39m\u001b[38;5;253m \u001b[39m\u001b[38;5;253m[\u001b[39m\u001b[38;5;174m3\u001b[39m\u001b[38;5;253m,\u001b[39m\u001b[38;5;174m4\u001b[39m\u001b[38;5;253m]\u001b[39m\u001b[38;5;253m:\u001b[39m\n", + "\u001b[38;5;253m \u001b[39m\u001b[38;5;208mprint\u001b[39m\u001b[38;5;253m(\u001b[39m\u001b[38;5;253mtest\u001b[39m\u001b[38;5;253m)\u001b[39m\n", + "\n", + "gruvbox-light:\n", + "\u001b[38;5;124mimport\u001b[39m \u001b[38;5;65mos\u001b[39m\n", + "\u001b[38;5;124mdef\u001b[39m \u001b[38;5;65mfunction\u001b[39m(test=\u001b[38;5;95m1\u001b[39m):\n", + " \u001b[38;5;124mif\u001b[39m test \u001b[38;5;124min\u001b[39m [\u001b[38;5;95m3\u001b[39m,\u001b[38;5;95m4\u001b[39m]:\n", + " \u001b[38;5;130mprint\u001b[39m(test)\n", + "\n", + "dracula:\n", + "\u001b[38;5;212mimport\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15mos\u001b[39m\n", + "\u001b[38;5;212mdef\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;84mfunction\u001b[39m\u001b[38;5;15m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;212m=\u001b[39m\u001b[38;5;215m1\u001b[39m\u001b[38;5;15m)\u001b[39m\u001b[38;5;15m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;212mif\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;212min\u001b[39m\u001b[38;5;15m \u001b[39m\u001b[38;5;15m[\u001b[39m\u001b[38;5;215m3\u001b[39m\u001b[38;5;15m,\u001b[39m\u001b[38;5;215m4\u001b[39m\u001b[38;5;15m]\u001b[39m\u001b[38;5;15m:\u001b[39m\n", + "\u001b[38;5;15m \u001b[39m\u001b[38;5;117;03mprint\u001b[39;00m\u001b[38;5;15m(\u001b[39m\u001b[38;5;15mtest\u001b[39m\u001b[38;5;15m)\u001b[39m\n", + "\n", + "one-dark:\n", + "\u001b[38;5;176mimport\u001b[39m\u001b[38;5;249m \u001b[39m\u001b[38;5;168mos\u001b[39m\n", + "\u001b[38;5;176mdef\u001b[39m\u001b[38;5;249m \u001b[39m\u001b[38;5;75;01mfunction\u001b[39;00m\u001b[38;5;249m(\u001b[39m\u001b[38;5;168mtest\u001b[39m\u001b[38;5;73m=\u001b[39m\u001b[38;5;173m1\u001b[39m\u001b[38;5;249m)\u001b[39m\u001b[38;5;249m:\u001b[39m\n", + "\u001b[38;5;249m \u001b[39m\u001b[38;5;176mif\u001b[39m\u001b[38;5;249m \u001b[39m\u001b[38;5;168mtest\u001b[39m\u001b[38;5;249m \u001b[39m\u001b[38;5;73min\u001b[39m\u001b[38;5;249m \u001b[39m\u001b[38;5;249m[\u001b[39m\u001b[38;5;173m3\u001b[39m\u001b[38;5;249m,\u001b[39m\u001b[38;5;173m4\u001b[39m\u001b[38;5;249m]\u001b[39m\u001b[38;5;249m:\u001b[39m\n", + "\u001b[38;5;249m \u001b[39m\u001b[38;5;180mprint\u001b[39m\u001b[38;5;249m(\u001b[39m\u001b[38;5;168mtest\u001b[39m\u001b[38;5;249m)\u001b[39m\n", + "\n", + "lilypond:\n", + "\u001b[01mimport\u001b[00m os\n", + "\u001b[01mdef\u001b[00m function(test=\u001b[38;5;94m1\u001b[39m):\n", + " \u001b[01mif\u001b[00m test in [\u001b[38;5;94m3\u001b[39m,\u001b[38;5;94m4\u001b[39m]:\n", + " print(test)\n", + "\n" + ] + } + ], + "source": [ + "from pygments.styles import get_all_styles\n", + "from pygments.formatters import Terminal256Formatter\n", + "from pygments.lexers import PythonLexer\n", + "from pygments import highlight\n", + "\n", + "code = \"\"\"\n", + "import os\n", + "def function(test=1):\n", + " if test in [3,4]:\n", + " print(test)\n", + "\"\"\"\n", + "for style in get_all_styles():\n", + " highlighted_code = highlight(code, PythonLexer(),\n", + " Terminal256Formatter(style=style))\n", + " print(f\"{style}:\\n{highlighted_code}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['default', 'emacs', 'friendly', 'friendly_grayscale', 'colorful', 'autumn', 'murphy', 'manni', 'material', 'monokai', 'perldoc', 'pastie', 'borland', 'trac', 'native', 'fruity', 'bw', 'vim', 'vs', 'tango', 'rrt', 'xcode', 'igor', 'paraiso-light', 'paraiso-dark', 'lovelace', 'algol', 'algol_nu', 'arduino', 'rainbow_dash', 'abap', 'solarized-dark', 'solarized-light', 'sas', 'stata', 'stata-light', 'stata-dark', 'inkpot', 'zenburn', 'gruvbox-dark', 'gruvbox-light', 'dracula', 'one-dark', 'lilypond']\n" + ] + } + ], + "source": [ + "from pygments.styles import get_all_styles\n", + "\n", + "print(list(get_all_styles()))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.8.9 64-bit", + "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.10.6" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/storage/.ipynb_checkpoints/awesome2monge-checkpoint.ipynb b/storage/.ipynb_checkpoints/awesome2monge-checkpoint.ipynb new file mode 100644 index 0000000..4741104 --- /dev/null +++ b/storage/.ipynb_checkpoints/awesome2monge-checkpoint.ipynb @@ -0,0 +1,187 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Node.js\n", + "Node.js - Cross-Platform\n", + "Frontend Development\n", + "iOS\n", + "Android\n", + "IoT & Hybrid Apps\n", + "Electron\n", + "Cordova\n", + "React Native\n", + "Xamarin\n", + "Linux\n", + "Linux - Containers\n", + "Linux - eBPF\n", + "Linux - Arch-based Projects\n", + "Linux - AppImage\n", + "macOS - Screensavers\n", + "macOS - Apps\n", + "macOS - Open Source Apps\n", + "watchOS\n", + "JVM\n", + "Salesforce\n", + "Amazon Web Services\n", + "Windows\n", + "IPFS\n", + "Fuse\n", + "Heroku\n", + "Raspberry Pi\n", + "Qt\n", + "WebExtensions\n", + "Smart TV\n", + "GNOME\n", + "KDE\n" + ] + }, + { + "ename": "InvalidName", + "evalue": "collection names must not start or end with '.': '.NET'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mInvalidName\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [25]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 28\u001b[0m link \u001b[38;5;241m=\u001b[39m string\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m-\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 30\u001b[0m mydb \u001b[38;5;241m=\u001b[39m myclient[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mawesome-lists\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[0;32m---> 31\u001b[0m mycol \u001b[38;5;241m=\u001b[39m \u001b[43mmydb\u001b[49m\u001b[43m[\u001b[49m\u001b[43mtitle\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 33\u001b[0m one_list \u001b[38;5;241m=\u001b[39m requests\u001b[38;5;241m.\u001b[39mget(\n\u001b[1;32m 34\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://raw.githubusercontent.com/lockys/awesome.json/master/repo-json/\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;241m+\u001b[39m link \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.json\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 36\u001b[0m headers\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAccept\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mapplication/vnd.github.v3+json\u001b[39m\u001b[38;5;124m\"\u001b[39m},\n\u001b[1;32m 37\u001b[0m )\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28mprint\u001b[39m(title)\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/database.py:237\u001b[0m, in \u001b[0;36mDatabase.__getitem__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 229\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__getitem__\u001b[39m(\u001b[38;5;28mself\u001b[39m, name: \u001b[38;5;28mstr\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCollection[_DocumentType]\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 230\u001b[0m \u001b[38;5;124;03m\"\"\"Get a collection of this database by name.\u001b[39;00m\n\u001b[1;32m 231\u001b[0m \n\u001b[1;32m 232\u001b[0m \u001b[38;5;124;03m Raises InvalidName if an invalid collection name is used.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 235\u001b[0m \u001b[38;5;124;03m - `name`: the name of the collection to get\u001b[39;00m\n\u001b[1;32m 236\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 237\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mCollection\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pymongo/collection.py:212\u001b[0m, in \u001b[0;36mCollection.__init__\u001b[0;34m(self, database, name, create, codec_options, read_preference, write_concern, read_concern, session, **kwargs)\u001b[0m\n\u001b[1;32m 210\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m InvalidName(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcollection names must not contain \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m$\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m%r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m name)\n\u001b[1;32m 211\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m name[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m name[\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 212\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m InvalidName(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcollection names must not start or end with \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m%r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m name)\n\u001b[1;32m 213\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\x00\u001b[39;00m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m name:\n\u001b[1;32m 214\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m InvalidName(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcollection names must not contain the null character\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "\u001b[0;31mInvalidName\u001b[0m: collection names must not start or end with '.': '.NET'" + ] + } + ], + "source": [ + "import json\n", + "import pprint\n", + "import requests\n", + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\n", + " \"mongodb://donaldrich:ibanez69@192.168.1.101:27017\")\n", + "# DB\n", + "\n", + "data = requests.get(\n", + " \"https://raw.githubusercontent.com/lockys/Awesome.json/master/awesome/awesome.json?ref=master\",\n", + " headers={\"Accept\": \"application/vnd.github.v3+json\"},\n", + ")\n", + "#\n", + "\n", + "repos = data.json()\n", + "\n", + "for x in repos.values():\n", + " for z in x:\n", + " try:\n", + " string = z['repo']\n", + "# if len(z['name']) > 0:\n", + "# title = z['name']\n", + "# else:\n", + "# title = \"none\"\n", + "# # print(count)\n", + " title = z['name']\n", + " title = title.replace(\".\", \"\")\n", + " link = string.replace(\"/\", \"-\")\n", + "\n", + " mydb = myclient[\"awesome-lists\"]\n", + " mycol = mydb[title]\n", + "\n", + " one_list = requests.get(\n", + " \"https://raw.githubusercontent.com/lockys/awesome.json/master/repo-json/\"\n", + " + link + \".json\",\n", + " headers={\"Accept\": \"application/vnd.github.v3+json\"},\n", + " )\n", + " print(title)\n", + " for x in one_list.json():\n", + " try:\n", + " mydict = x\n", + "\n", + "# pprint.pprint(mydict)\n", + "\n", + " new = mycol.insert_one(mydict)\n", + "\n", + " # print(new.inserted_id)\n", + " except:\n", + " print(x)\n", + " except ValueError as error:\n", + " print(z)\n", + "# print(\"invalid json: %s\" % error)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "63136ab944dfc9e0de996f01\n", + "['test']\n" + ] + } + ], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://donaldrich:ibanez69@192.168.1.101:27017\")\n", + "# DB\n", + "\n", + "mydb = myclient[\"awesome-lists\"]\n", + "\n", + "# Collectinon\n", + "\n", + "mycol = mydb[\"test\"]\n", + "\n", + "mydict = {\"name\": \"Peter\", \"address\": \"Lowstreet 27\"}\n", + "\n", + "x = mycol.insert_one(mydict)\n", + "\n", + "print(x.inserted_id)\n", + "\n", + "print(mydb.list_collection_names())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install pymongo" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.5" + }, + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/storage/.ipynb_checkpoints/minio-checkpoint.ipynb b/storage/.ipynb_checkpoints/minio-checkpoint.ipynb new file mode 100644 index 0000000..1ad1cf9 --- /dev/null +++ b/storage/.ipynb_checkpoints/minio-checkpoint.ipynb @@ -0,0 +1,53 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from minio import Minio\n", + "from minio.error import S3Error\n", + "\n", + "\n", + "def main():\n", + "\n", + " client = Minio(\n", + " \"minio_endpoint\",\n", + " access_key=\"key\",\n", + " secret_key=\"secret\",\n", + " )\n", + "\n", + " # Make 'asiatrip' bucket if not exist.\n", + " found = client.bucket_exists(\"bucket\")\n", + " if not found:\n", + " client.make_bucket(\"bucket\")\n", + " else:\n", + " print(\"Bucket already exists\")\n", + "\n", + " client.fput_object(\n", + " \"bucket\", \"bucket_file\", \"local_file_path\",\n", + " )\n", + " print(\n", + " \"'local_file_path' is successfully uploaded as \"\n", + " \"object 'bucket_file' to bucket 'bucket'.\"\n", + " )\n", + "\n", + "\n", + "if __name__ == \"__main__\":\n", + " try:\n", + " main()\n", + " except S3Error as exc:\n", + " print(\"error occurred.\", exc)" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/storage/.ipynb_checkpoints/mongo-checkpoint.ipynb b/storage/.ipynb_checkpoints/mongo-checkpoint.ipynb new file mode 100644 index 0000000..5874001 --- /dev/null +++ b/storage/.ipynb_checkpoints/mongo-checkpoint.ipynb @@ -0,0 +1,236 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 9, + "id": "22005864-a267-4819-b083-935a85452b39", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pymongo in /opt/conda/lib/python3.10/site-packages (4.2.0)\r\n" + ] + } + ], + "source": [ + "!pip install pymongo" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "d1690099-dbf9-4d75-946c-c556c13ec34d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "630855c7014e9a17ccd6bd03\n", + "['customers']\n" + ] + } + ], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://donaldrich:ibanez69@mongo:27017\")\n", + "# DB\n", + "\n", + "mydb = myclient[\"mydatabase\"]\n", + "\n", + "# Collectino\n", + "\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "mydict = { \"name\": \"Peter\", \"address\": \"Lowstreet 27\" }\n", + "\n", + "x = mycol.insert_one(mydict)\n", + "\n", + "print(x.inserted_id)\n", + "\n", + "print(mydb.list_collection_names())" + ] + }, + { + "cell_type": "markdown", + "id": "d97181c9-08bb-47c0-a8a3-50f8ea878a15", + "metadata": {}, + "source": [ + "# hjhj" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "54535d13-e279-44bc-bd9d-52d14cb550fb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[]\n" + ] + } + ], + "source": [ + "# DB\n", + "\n", + "mydb = myclient[\"mydatabase\"]\n", + "\n", + "# Collectino\n", + "\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "print(mydb.list_collection_names())" + ] + }, + { + "cell_type": "markdown", + "id": "7b7a6e52-4de9-4f6d-91b4-b3716baba323", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ed477f1-9044-498c-9d3e-5021df5bdc93", + "metadata": {}, + "outputs": [], + "source": [ + "mydict = { \"name\": \"Peter\", \"address\": \"Lowstreet 27\" }\n", + "\n", + "x = mycol.insert_one(mydict)\n", + "\n", + "print(x.inserted_id)" + ] + }, + { + "cell_type": "markdown", + "id": "efb52832-dc7d-4e4c-b70c-d29b923f02db", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "430085cf-e0b4-4a12-b382-90f9351e5490", + "metadata": {}, + "outputs": [], + "source": [ + "mylist = [\n", + " { \"_id\": 1, \"name\": \"John\", \"address\": \"Highway 37\"},\n", + " { \"_id\": 2, \"name\": \"Peter\", \"address\": \"Lowstreet 27\"},\n", + " { \"_id\": 3, \"name\": \"Amy\", \"address\": \"Apple st 652\"},\n", + " { \"_id\": 4, \"name\": \"Hannah\", \"address\": \"Mountain 21\"},\n", + " { \"_id\": 5, \"name\": \"Michael\", \"address\": \"Valley 345\"},\n", + " { \"_id\": 6, \"name\": \"Sandy\", \"address\": \"Ocean blvd 2\"},\n", + " { \"_id\": 7, \"name\": \"Betty\", \"address\": \"Green Grass 1\"},\n", + " { \"_id\": 8, \"name\": \"Richard\", \"address\": \"Sky st 331\"},\n", + " { \"_id\": 9, \"name\": \"Susan\", \"address\": \"One way 98\"},\n", + " { \"_id\": 10, \"name\": \"Vicky\", \"address\": \"Yellow Garden 2\"},\n", + " { \"_id\": 11, \"name\": \"Ben\", \"address\": \"Park Lane 38\"},\n", + " { \"_id\": 12, \"name\": \"William\", \"address\": \"Central st 954\"},\n", + " { \"_id\": 13, \"name\": \"Chuck\", \"address\": \"Main Road 989\"},\n", + " { \"_id\": 14, \"name\": \"Viola\", \"address\": \"Sideway 1633\"}\n", + "]\n", + "\n", + "x = mycol.insert_many(mylist)\n", + "\n", + "#print list of the _id values of the inserted documents:\n", + "print(x.inserted_ids)c" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a107bb3-0a12-4000-98b0-ac72b0b07731", + "metadata": {}, + "outputs": [], + "source": [ + "myquery = { \"address\": \"Park Lane 38\" }\n", + "\n", + "mydoc = mycol.find(myquery)\n", + "\n", + "for x in mydoc:\n", + " print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "191814c5-990e-4c30-9c5f-363fc479e734", + "metadata": {}, + "outputs": [], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://localhost:27017/\")\n", + "mydb = myclient[\"mydatabase\"]\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "myquery = { \"address\": \"Mountain 21\" }\n", + "\n", + "mycol.delete_one(myquery)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "024256e0-4c13-4820-812b-c9cb7d7ff53b", + "metadata": {}, + "outputs": [], + "source": [ + "mycol.drop()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62487b99-8edc-4179-a33b-28a0536afd1e", + "metadata": {}, + "outputs": [], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://localhost:27017/\")\n", + "mydb = myclient[\"mydatabase\"]\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "for x in mycol.find({},{ \"_id\": 0, \"name\": 1, \"address\": 1 }):\n", + " print(x)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.5" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/storage/.ipynb_checkpoints/new-workspace-checkpoint.json b/storage/.ipynb_checkpoints/new-workspace-checkpoint.json new file mode 100644 index 0000000..28b63ad --- /dev/null +++ b/storage/.ipynb_checkpoints/new-workspace-checkpoint.json @@ -0,0 +1 @@ +{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":2,"widgets":["notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Container Inventory to Directus.ipynb","notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Homebrew Inventory to Directusa.ipynb","notebook:projects/secrets/jupyter-notebooks/storage/Untitled.ipynb","help-doc:https://docs.python.org/3.10","setting-editor:setting-editor","notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Inventories to wiki.ipynb","notebook:projects/secrets/jupyter-notebooks/data_transfer/Directus query.ipynb"]},"current":"setting-editor:setting-editor"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"current":"filebrowser","widgets":["filebrowser","running-sessions","git-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.33482089182629515,0.6651791081737048,0]},"setting-editor:setting-editor":{"data":{}},"file-browser-filebrowser:cwd":{"path":"projects/secrets/jupyter-notebooks/storage"},"notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Container Inventory to Directus.ipynb":{"data":{"path":"projects/secrets/jupyter-notebooks/data_transfer/Add Container Inventory to Directus.ipynb","factory":"Notebook"}},"notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Homebrew Inventory to Directusa.ipynb":{"data":{"path":"projects/secrets/jupyter-notebooks/data_transfer/Add Homebrew Inventory to Directusa.ipynb","factory":"Notebook"}},"notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Inventories to wiki.ipynb":{"data":{"path":"projects/secrets/jupyter-notebooks/data_transfer/Add Inventories to wiki.ipynb","factory":"Notebook"}},"notebook:projects/secrets/jupyter-notebooks/data_transfer/Directus query.ipynb":{"data":{"path":"projects/secrets/jupyter-notebooks/data_transfer/Directus query.ipynb","factory":"Notebook"}},"notebook:projects/secrets/jupyter-notebooks/storage/Untitled.ipynb":{"data":{"path":"projects/secrets/jupyter-notebooks/storage/Untitled.ipynb","factory":"Notebook"}},"help-doc:https://docs.python.org/3.10":{"data":{"url":"https://docs.python.org/3.10","text":"Python Reference"}},"help-doc:https://jupyter.org/documentation":{"data":{"url":"https://jupyter.org/documentation","text":"Jupyter Reference"}},"help-doc:https://jupyterlab.readthedocs.io/en/3.4.x/":{"data":{"url":"https://jupyterlab.readthedocs.io/en/3.4.x/","text":"JupyterLab Reference"}}},"metadata":{"id":"new-workspace","last_modified":"2022-08-26T06:51:28.885170+00:00","created":"2022-08-26T06:51:28.885170+00:00"}} \ No newline at end of file diff --git a/storage/awesome.json b/storage/awesome.json new file mode 100644 index 0000000..05aa69d --- /dev/null +++ b/storage/awesome.json @@ -0,0 +1,3788 @@ +{ + "Platforms": [ + { + "name": "Node.js", + "url": "https://github.com/sindresorhus/awesome-nodejs", + "repo": "sindresorhus/awesome-nodejs", + "cate": "Platforms" + }, + { + "name": "Node.js - Cross-Platform", + "url": "https://github.com/bcoe/awesome-cross-platform-nodejs", + "repo": "bcoe/awesome-cross-platform-nodejs", + "cate": "Platforms" + }, + { + "name": "Frontend Development", + "url": "https://github.com/dypsilon/frontend-dev-bookmarks", + "repo": "dypsilon/frontend-dev-bookmarks", + "cate": "Platforms" + }, + { + "name": "iOS", + "url": "https://github.com/vsouza/awesome-ios", + "repo": "vsouza/awesome-ios", + "cate": "Platforms" + }, + { + "name": "Android", + "url": "https://github.com/JStumpp/awesome-android", + "repo": "JStumpp/awesome-android", + "cate": "Platforms" + }, + { + "name": "IoT & Hybrid Apps", + "url": "https://github.com/weblancaster/awesome-IoT-hybrid", + "repo": "weblancaster/awesome-IoT-hybrid", + "cate": "Platforms" + }, + { + "name": "Electron", + "url": "https://github.com/sindresorhus/awesome-electron", + "repo": "sindresorhus/awesome-electron", + "cate": "Platforms" + }, + { + "name": "Cordova", + "url": "https://github.com/busterc/awesome-cordova", + "repo": "busterc/awesome-cordova", + "cate": "Platforms" + }, + { + "name": "React Native", + "url": "https://github.com/jondot/awesome-react-native", + "repo": "jondot/awesome-react-native", + "cate": "Platforms" + }, + { + "name": "Xamarin", + "url": "https://github.com/XamSome/awesome-xamarin", + "repo": "XamSome/awesome-xamarin", + "cate": "Platforms" + }, + { + "name": "Linux", + "url": "https://github.com/inputsh/awesome-linux", + "repo": "inputsh/awesome-linux", + "cate": "Platforms" + }, + { + "name": "Linux - Containers", + "url": "https://github.com/Friz-zy/awesome-linux-containers", + "repo": "Friz-zy/awesome-linux-containers", + "cate": "Platforms" + }, + { + "name": "Linux - eBPF", + "url": "https://github.com/zoidbergwill/awesome-ebpf", + "repo": "zoidbergwill/awesome-ebpf", + "cate": "Platforms" + }, + { + "name": "Linux - Arch-based Projects", + "url": "https://github.com/PandaFoss/Awesome-Arch", + "repo": "PandaFoss/Awesome-Arch", + "cate": "Platforms" + }, + { + "name": "Linux - AppImage", + "url": "https://github.com/AppImage/awesome-appimage", + "repo": "AppImage/awesome-appimage", + "cate": "Platforms" + }, + { + "name": "macOS - Screensavers", + "url": "https://github.com/agarrharr/awesome-macos-screensavers", + "repo": "agarrharr/awesome-macos-screensavers", + "cate": "Platforms" + }, + { + "name": "macOS - Apps", + "url": "https://github.com/jaywcjlove/awesome-mac", + "repo": "jaywcjlove/awesome-mac", + "cate": "Platforms" + }, + { + "name": "macOS - Open Source Apps", + "url": "https://github.com/serhii-londar/open-source-mac-os-apps", + "repo": "serhii-londar/open-source-mac-os-apps", + "cate": "Platforms" + }, + { + "name": "watchOS", + "url": "https://github.com/yenchenlin/awesome-watchos", + "repo": "yenchenlin/awesome-watchos", + "cate": "Platforms" + }, + { + "name": "JVM", + "url": "https://github.com/deephacks/awesome-jvm", + "repo": "deephacks/awesome-jvm", + "cate": "Platforms" + }, + { + "name": "Salesforce", + "url": "https://github.com/mailtoharshit/awesome-salesforce", + "repo": "mailtoharshit/awesome-salesforce", + "cate": "Platforms" + }, + { + "name": "Amazon Web Services", + "url": "https://github.com/donnemartin/awesome-aws", + "repo": "donnemartin/awesome-aws", + "cate": "Platforms" + }, + { + "name": "Windows", + "url": "https://github.com/Awesome-Windows/Awesome", + "repo": "Awesome-Windows/Awesome", + "cate": "Platforms" + }, + { + "name": "IPFS", + "url": "https://github.com/ipfs/awesome-ipfs", + "repo": "ipfs/awesome-ipfs", + "cate": "Platforms" + }, + { + "name": "Fuse", + "url": "https://github.com/fuse-compound/awesome-fuse", + "repo": "fuse-compound/awesome-fuse", + "cate": "Platforms" + }, + { + "name": "Heroku", + "url": "https://github.com/ianstormtaylor/awesome-heroku", + "repo": "ianstormtaylor/awesome-heroku", + "cate": "Platforms" + }, + { + "name": "Raspberry Pi", + "url": "https://github.com/thibmaek/awesome-raspberry-pi", + "repo": "thibmaek/awesome-raspberry-pi", + "cate": "Platforms" + }, + { + "name": "Qt", + "url": "https://github.com/JesseTG/awesome-qt", + "repo": "JesseTG/awesome-qt", + "cate": "Platforms" + }, + { + "name": "WebExtensions", + "url": "https://github.com/fregante/Awesome-WebExtensions", + "repo": "fregante/Awesome-WebExtensions", + "cate": "Platforms" + }, + { + "name": "Smart TV", + "url": "https://github.com/vitalets/awesome-smart-tv", + "repo": "vitalets/awesome-smart-tv", + "cate": "Platforms" + }, + { + "name": "GNOME", + "url": "https://github.com/Kazhnuz/awesome-gnome", + "repo": "Kazhnuz/awesome-gnome", + "cate": "Platforms" + }, + { + "name": "KDE", + "url": "https://github.com/francoism90/awesome-kde", + "repo": "francoism90/awesome-kde", + "cate": "Platforms" + }, + { + "name": ".NET", + "url": "https://github.com/quozd/awesome-dotnet", + "repo": "quozd/awesome-dotnet", + "cate": "Platforms" + }, + { + "name": ".NET - Core", + "url": "https://github.com/thangchung/awesome-dotnet-core", + "repo": "thangchung/awesome-dotnet-core", + "cate": "Platforms" + }, + { + "name": ".NET - Roslyn", + "url": "https://github.com/ironcev/awesome-roslyn", + "repo": "ironcev/awesome-roslyn", + "cate": "Platforms" + }, + { + "name": "Amazon Alexa", + "url": "https://github.com/miguelmota/awesome-amazon-alexa", + "repo": "miguelmota/awesome-amazon-alexa", + "cate": "Platforms" + }, + { + "name": "DigitalOcean", + "url": "https://github.com/jonleibowitz/awesome-digitalocean", + "repo": "jonleibowitz/awesome-digitalocean", + "cate": "Platforms" + }, + { + "name": "Flutter", + "url": "https://github.com/Solido/awesome-flutter", + "repo": "Solido/awesome-flutter", + "cate": "Platforms" + }, + { + "name": "Home Assistant", + "url": "https://github.com/frenck/awesome-home-assistant", + "repo": "frenck/awesome-home-assistant", + "cate": "Platforms" + }, + { + "name": "IBM Cloud", + "url": "https://github.com/victorshinya/awesome-ibmcloud", + "repo": "victorshinya/awesome-ibmcloud", + "cate": "Platforms" + }, + { + "name": "Firebase", + "url": "https://github.com/jthegedus/awesome-firebase", + "repo": "jthegedus/awesome-firebase", + "cate": "Platforms" + }, + { + "name": "Robot Operating System 2.0", + "url": "https://github.com/fkromer/awesome-ros2", + "repo": "fkromer/awesome-ros2", + "cate": "Platforms" + }, + { + "name": "Adafruit IO", + "url": "https://github.com/adafruit/awesome-adafruitio", + "repo": "adafruit/awesome-adafruitio", + "cate": "Platforms" + }, + { + "name": "Cloudflare", + "url": "https://github.com/irazasyed/awesome-cloudflare", + "repo": "irazasyed/awesome-cloudflare", + "cate": "Platforms" + }, + { + "name": "Actions on Google", + "url": "https://github.com/ravirupareliya/awesome-actions-on-google", + "repo": "ravirupareliya/awesome-actions-on-google", + "cate": "Platforms" + }, + { + "name": "ESP", + "url": "https://github.com/agucova/awesome-esp", + "repo": "agucova/awesome-esp", + "cate": "Platforms" + }, + { + "name": "Deno", + "url": "https://github.com/denolib/awesome-deno", + "repo": "denolib/awesome-deno", + "cate": "Platforms" + }, + { + "name": "DOS", + "url": "https://github.com/balintkissdev/awesome-dos", + "repo": "balintkissdev/awesome-dos", + "cate": "Platforms" + }, + { + "name": "Nix", + "url": "https://github.com/nix-community/awesome-nix", + "repo": "nix-community/awesome-nix", + "cate": "Platforms" + }, + { + "name": "Integration", + "url": "https://github.com/stn1slv/awesome-integration", + "repo": "stn1slv/awesome-integration", + "cate": "Platforms" + }, + { + "name": "Node-RED", + "url": "https://github.com/naimo84/awesome-nodered", + "repo": "naimo84/awesome-nodered", + "cate": "Platforms" + }, + { + "name": "Low Code", + "url": "https://github.com/zenitysec/awesome-low-code", + "repo": "zenitysec/awesome-low-code", + "cate": "Platforms" + }, + { + "name": "Capacitor", + "url": "https://github.com/riderx/awesome-capacitor", + "repo": "riderx/awesome-capacitor", + "cate": "Platforms" + }, + { + "name": "ArcGIS Developer", + "url": "https://github.com/Esri/awesome-arcgis-developer", + "repo": "Esri/awesome-arcgis-developer", + "cate": "Platforms" + } + ], + "Programming Languages": [ + { + "name": "JavaScript", + "url": "https://github.com/sorrycc/awesome-javascript", + "repo": "sorrycc/awesome-javascript", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Promises", + "url": "https://github.com/wbinnssmith/awesome-promises", + "repo": "wbinnssmith/awesome-promises", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Standard Style", + "url": "https://github.com/standard/awesome-standard", + "repo": "standard/awesome-standard", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Must Watch Talks", + "url": "https://github.com/bolshchikov/js-must-watch", + "repo": "bolshchikov/js-must-watch", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Tips", + "url": "https://github.com/loverajoel/jstips", + "repo": "loverajoel/jstips", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Network Layer", + "url": "https://github.com/Kikobeats/awesome-network-js", + "repo": "Kikobeats/awesome-network-js", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Micro npm Packages", + "url": "https://github.com/parro-it/awesome-micro-npm-packages", + "repo": "parro-it/awesome-micro-npm-packages", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Mad Science npm Packages", + "url": "https://github.com/feross/awesome-mad-science", + "repo": "feross/awesome-mad-science", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Maintenance Modules", + "url": "https://github.com/maxogden/maintenance-modules", + "repo": "maxogden/maintenance-modules", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - npm", + "url": "https://github.com/sindresorhus/awesome-npm", + "repo": "sindresorhus/awesome-npm", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - AVA", + "url": "https://github.com/avajs/awesome-ava", + "repo": "avajs/awesome-ava", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - ESLint", + "url": "https://github.com/dustinspecker/awesome-eslint", + "repo": "dustinspecker/awesome-eslint", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Functional Programming", + "url": "https://github.com/stoeffel/awesome-fp-js", + "repo": "stoeffel/awesome-fp-js", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Observables", + "url": "https://github.com/sindresorhus/awesome-observables", + "repo": "sindresorhus/awesome-observables", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - npm scripts", + "url": "https://github.com/RyanZim/awesome-npm-scripts", + "repo": "RyanZim/awesome-npm-scripts", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - 30 Seconds of Code", + "url": "https://github.com/30-seconds/30-seconds-of-code", + "repo": "30-seconds/30-seconds-of-code", + "cate": "Programming Languages" + }, + { + "name": "JavaScript - Ponyfills", + "url": "https://github.com/Richienb/awesome-ponyfills", + "repo": "Richienb/awesome-ponyfills", + "cate": "Programming Languages" + }, + { + "name": "Swift", + "url": "https://github.com/matteocrippa/awesome-swift", + "repo": "matteocrippa/awesome-swift", + "cate": "Programming Languages" + }, + { + "name": "Swift - Education", + "url": "https://github.com/hsavit1/Awesome-Swift-Education", + "repo": "hsavit1/Awesome-Swift-Education", + "cate": "Programming Languages" + }, + { + "name": "Swift - Playgrounds", + "url": "https://github.com/uraimo/Awesome-Swift-Playgrounds", + "repo": "uraimo/Awesome-Swift-Playgrounds", + "cate": "Programming Languages" + }, + { + "name": "Python", + "url": "https://github.com/vinta/awesome-python", + "repo": "vinta/awesome-python", + "cate": "Programming Languages" + }, + { + "name": "Python - Asyncio", + "url": "https://github.com/timofurrer/awesome-asyncio", + "repo": "timofurrer/awesome-asyncio", + "cate": "Programming Languages" + }, + { + "name": "Python - Scientific Audio", + "url": "https://github.com/faroit/awesome-python-scientific-audio", + "repo": "faroit/awesome-python-scientific-audio", + "cate": "Programming Languages" + }, + { + "name": "Python - CircuitPython", + "url": "https://github.com/adafruit/awesome-circuitpython", + "repo": "adafruit/awesome-circuitpython", + "cate": "Programming Languages" + }, + { + "name": "Python - Data Science", + "url": "https://github.com/krzjoa/awesome-python-data-science", + "repo": "krzjoa/awesome-python-data-science", + "cate": "Programming Languages" + }, + { + "name": "Python - Typing", + "url": "https://github.com/typeddjango/awesome-python-typing", + "repo": "typeddjango/awesome-python-typing", + "cate": "Programming Languages" + }, + { + "name": "Python - MicroPython", + "url": "https://github.com/mcauser/awesome-micropython", + "repo": "mcauser/awesome-micropython", + "cate": "Programming Languages" + }, + { + "name": "Rust", + "url": "https://github.com/rust-unofficial/awesome-rust", + "repo": "rust-unofficial/awesome-rust", + "cate": "Programming Languages" + }, + { + "name": "Haskell", + "url": "https://github.com/krispo/awesome-haskell", + "repo": "krispo/awesome-haskell", + "cate": "Programming Languages" + }, + { + "name": "PureScript", + "url": "https://github.com/passy/awesome-purescript", + "repo": "passy/awesome-purescript", + "cate": "Programming Languages" + }, + { + "name": "Go", + "url": "https://github.com/avelino/awesome-go", + "repo": "avelino/awesome-go", + "cate": "Programming Languages" + }, + { + "name": "Scala", + "url": "https://github.com/lauris/awesome-scala", + "repo": "lauris/awesome-scala", + "cate": "Programming Languages" + }, + { + "name": "Scala - Scala Native", + "url": "https://github.com/tindzk/awesome-scala-native", + "repo": "tindzk/awesome-scala-native", + "cate": "Programming Languages" + }, + { + "name": "Ruby", + "url": "https://github.com/markets/awesome-ruby", + "repo": "markets/awesome-ruby", + "cate": "Programming Languages" + }, + { + "name": "Clojure", + "url": "https://github.com/razum2um/awesome-clojure", + "repo": "razum2um/awesome-clojure", + "cate": "Programming Languages" + }, + { + "name": "ClojureScript", + "url": "https://github.com/hantuzun/awesome-clojurescript", + "repo": "hantuzun/awesome-clojurescript", + "cate": "Programming Languages" + }, + { + "name": "Elixir", + "url": "https://github.com/h4cc/awesome-elixir", + "repo": "h4cc/awesome-elixir", + "cate": "Programming Languages" + }, + { + "name": "Elm", + "url": "https://github.com/sporto/awesome-elm", + "repo": "sporto/awesome-elm", + "cate": "Programming Languages" + }, + { + "name": "Erlang", + "url": "https://github.com/drobakowski/awesome-erlang", + "repo": "drobakowski/awesome-erlang", + "cate": "Programming Languages" + }, + { + "name": "Julia", + "url": "https://github.com/svaksha/Julia.jl", + "repo": "svaksha/Julia.jl", + "cate": "Programming Languages" + }, + { + "name": "Lua", + "url": "https://github.com/LewisJEllis/awesome-lua", + "repo": "LewisJEllis/awesome-lua", + "cate": "Programming Languages" + }, + { + "name": "C", + "url": "https://github.com/inputsh/awesome-c", + "repo": "inputsh/awesome-c", + "cate": "Programming Languages" + }, + { + "name": "C/C++", + "url": "https://github.com/fffaraz/awesome-cpp", + "repo": "fffaraz/awesome-cpp", + "cate": "Programming Languages" + }, + { + "name": "R", + "url": "https://github.com/qinwf/awesome-R", + "repo": "qinwf/awesome-R", + "cate": "Programming Languages" + }, + { + "name": "R - Learning", + "url": "https://github.com/iamericfletcher/awesome-r-learning-resources", + "repo": "iamericfletcher/awesome-r-learning-resources", + "cate": "Programming Languages" + }, + { + "name": "D", + "url": "https://github.com/dlang-community/awesome-d", + "repo": "dlang-community/awesome-d", + "cate": "Programming Languages" + }, + { + "name": "Common Lisp", + "url": "https://github.com/CodyReichert/awesome-cl", + "repo": "CodyReichert/awesome-cl", + "cate": "Programming Languages" + }, + { + "name": "Common Lisp - Learning", + "url": "https://github.com/GustavBertram/awesome-common-lisp-learning", + "repo": "GustavBertram/awesome-common-lisp-learning", + "cate": "Programming Languages" + }, + { + "name": "Perl", + "url": "https://github.com/hachiojipm/awesome-perl", + "repo": "hachiojipm/awesome-perl", + "cate": "Programming Languages" + }, + { + "name": "Groovy", + "url": "https://github.com/kdabir/awesome-groovy", + "repo": "kdabir/awesome-groovy", + "cate": "Programming Languages" + }, + { + "name": "Dart", + "url": "https://github.com/yissachar/awesome-dart", + "repo": "yissachar/awesome-dart", + "cate": "Programming Languages" + }, + { + "name": "Java", + "url": "https://github.com/akullpp/awesome-java", + "repo": "akullpp/awesome-java", + "cate": "Programming Languages" + }, + { + "name": "Java - RxJava", + "url": "https://github.com/eleventigers/awesome-rxjava", + "repo": "eleventigers/awesome-rxjava", + "cate": "Programming Languages" + }, + { + "name": "Kotlin", + "url": "https://github.com/KotlinBy/awesome-kotlin", + "repo": "KotlinBy/awesome-kotlin", + "cate": "Programming Languages" + }, + { + "name": "OCaml", + "url": "https://github.com/ocaml-community/awesome-ocaml", + "repo": "ocaml-community/awesome-ocaml", + "cate": "Programming Languages" + }, + { + "name": "ColdFusion", + "url": "https://github.com/seancoyne/awesome-coldfusion", + "repo": "seancoyne/awesome-coldfusion", + "cate": "Programming Languages" + }, + { + "name": "Fortran", + "url": "https://github.com/rabbiabram/awesome-fortran", + "repo": "rabbiabram/awesome-fortran", + "cate": "Programming Languages" + }, + { + "name": "PHP", + "url": "https://github.com/ziadoz/awesome-php", + "repo": "ziadoz/awesome-php", + "cate": "Programming Languages" + }, + { + "name": "PHP - Composer", + "url": "https://github.com/jakoch/awesome-composer", + "repo": "jakoch/awesome-composer", + "cate": "Programming Languages" + }, + { + "name": "Pascal", + "url": "https://github.com/Fr0sT-Brutal/awesome-pascal", + "repo": "Fr0sT-Brutal/awesome-pascal", + "cate": "Programming Languages" + }, + { + "name": "AutoHotkey", + "url": "https://github.com/ahkscript/awesome-AutoHotkey", + "repo": "ahkscript/awesome-AutoHotkey", + "cate": "Programming Languages" + }, + { + "name": "AutoIt", + "url": "https://github.com/J2TeaM/awesome-AutoIt", + "repo": "J2TeaM/awesome-AutoIt", + "cate": "Programming Languages" + }, + { + "name": "Crystal", + "url": "https://github.com/veelenga/awesome-crystal", + "repo": "veelenga/awesome-crystal", + "cate": "Programming Languages" + }, + { + "name": "Frege", + "url": "https://github.com/sfischer13/awesome-frege", + "repo": "sfischer13/awesome-frege", + "cate": "Programming Languages" + }, + { + "name": "CMake", + "url": "https://github.com/onqtam/awesome-cmake", + "repo": "onqtam/awesome-cmake", + "cate": "Programming Languages" + }, + { + "name": "ActionScript 3", + "url": "https://github.com/robinrodricks/awesome-actionscript3", + "repo": "robinrodricks/awesome-actionscript3", + "cate": "Programming Languages" + }, + { + "name": "Eta", + "url": "https://github.com/sfischer13/awesome-eta", + "repo": "sfischer13/awesome-eta", + "cate": "Programming Languages" + }, + { + "name": "Idris", + "url": "https://github.com/joaomilho/awesome-idris", + "repo": "joaomilho/awesome-idris", + "cate": "Programming Languages" + }, + { + "name": "Ada/SPARK", + "url": "https://github.com/ohenley/awesome-ada", + "repo": "ohenley/awesome-ada", + "cate": "Programming Languages" + }, + { + "name": "Q#", + "url": "https://github.com/ebraminio/awesome-qsharp", + "repo": "ebraminio/awesome-qsharp", + "cate": "Programming Languages" + }, + { + "name": "Imba", + "url": "https://github.com/koolamusic/awesome-imba", + "repo": "koolamusic/awesome-imba", + "cate": "Programming Languages" + }, + { + "name": "Vala", + "url": "https://github.com/desiderantes/awesome-vala", + "repo": "desiderantes/awesome-vala", + "cate": "Programming Languages" + }, + { + "name": "Coq", + "url": "https://github.com/coq-community/awesome-coq", + "repo": "coq-community/awesome-coq", + "cate": "Programming Languages" + }, + { + "name": "V", + "url": "https://github.com/vlang/awesome-v", + "repo": "vlang/awesome-v", + "cate": "Programming Languages" + }, + { + "name": "Zig", + "url": "https://github.com/catdevnull/awesome-zig", + "repo": "catdevnull/awesome-zig", + "cate": "Programming Languages" + } + ], + "Front-End Development": [ + { + "name": "ES6 Tools", + "url": "https://github.com/addyosmani/es6-tools", + "repo": "addyosmani/es6-tools", + "cate": "Front-End Development" + }, + { + "name": "Web Performance Optimization", + "url": "https://github.com/davidsonfellipe/awesome-wpo", + "repo": "davidsonfellipe/awesome-wpo", + "cate": "Front-End Development" + }, + { + "name": "Web Tools", + "url": "https://github.com/lvwzhen/tools", + "repo": "lvwzhen/tools", + "cate": "Front-End Development" + }, + { + "name": "CSS", + "url": "https://github.com/awesome-css-group/awesome-css", + "repo": "awesome-css-group/awesome-css", + "cate": "Front-End Development" + }, + { + "name": "CSS - Critical-Path Tools", + "url": "https://github.com/addyosmani/critical-path-css-tools", + "repo": "addyosmani/critical-path-css-tools", + "cate": "Front-End Development" + }, + { + "name": "CSS - Scalability", + "url": "https://github.com/davidtheclark/scalable-css-reading-list", + "repo": "davidtheclark/scalable-css-reading-list", + "cate": "Front-End Development" + }, + { + "name": "CSS - Must-Watch Talks", + "url": "https://github.com/AllThingsSmitty/must-watch-css", + "repo": "AllThingsSmitty/must-watch-css", + "cate": "Front-End Development" + }, + { + "name": "CSS - Protips", + "url": "https://github.com/AllThingsSmitty/css-protips", + "repo": "AllThingsSmitty/css-protips", + "cate": "Front-End Development" + }, + { + "name": "CSS - Frameworks", + "url": "https://github.com/troxler/awesome-css-frameworks", + "repo": "troxler/awesome-css-frameworks", + "cate": "Front-End Development" + }, + { + "name": "React", + "url": "https://github.com/enaqx/awesome-react", + "repo": "enaqx/awesome-react", + "cate": "Front-End Development" + }, + { + "name": "React - Relay", + "url": "https://github.com/expede/awesome-relay", + "repo": "expede/awesome-relay", + "cate": "Front-End Development" + }, + { + "name": "React - React Hooks", + "url": "https://github.com/glauberfc/awesome-react-hooks", + "repo": "glauberfc/awesome-react-hooks", + "cate": "Front-End Development" + }, + { + "name": "Web Components", + "url": "https://github.com/mateusortiz/webcomponents-the-right-way", + "repo": "mateusortiz/webcomponents-the-right-way", + "cate": "Front-End Development" + }, + { + "name": "Polymer", + "url": "https://github.com/Granze/awesome-polymer", + "repo": "Granze/awesome-polymer", + "cate": "Front-End Development" + }, + { + "name": "Angular", + "url": "https://github.com/PatrickJS/awesome-angular", + "repo": "PatrickJS/awesome-angular", + "cate": "Front-End Development" + }, + { + "name": "Backbone", + "url": "https://github.com/sadcitizen/awesome-backbone", + "repo": "sadcitizen/awesome-backbone", + "cate": "Front-End Development" + }, + { + "name": "HTML5", + "url": "https://github.com/diegocard/awesome-html5", + "repo": "diegocard/awesome-html5", + "cate": "Front-End Development" + }, + { + "name": "SVG", + "url": "https://github.com/willianjusten/awesome-svg", + "repo": "willianjusten/awesome-svg", + "cate": "Front-End Development" + }, + { + "name": "Canvas", + "url": "https://github.com/raphamorim/awesome-canvas", + "repo": "raphamorim/awesome-canvas", + "cate": "Front-End Development" + }, + { + "name": "KnockoutJS", + "url": "https://github.com/dnbard/awesome-knockout", + "repo": "dnbard/awesome-knockout", + "cate": "Front-End Development" + }, + { + "name": "Dojo Toolkit", + "url": "https://github.com/petk/awesome-dojo", + "repo": "petk/awesome-dojo", + "cate": "Front-End Development" + }, + { + "name": "Inspiration", + "url": "https://github.com/NoahBuscher/Inspire", + "repo": "NoahBuscher/Inspire", + "cate": "Front-End Development" + }, + { + "name": "Ember", + "url": "https://github.com/ember-community-russia/awesome-ember", + "repo": "ember-community-russia/awesome-ember", + "cate": "Front-End Development" + }, + { + "name": "Android UI", + "url": "https://github.com/wasabeef/awesome-android-ui", + "repo": "wasabeef/awesome-android-ui", + "cate": "Front-End Development" + }, + { + "name": "iOS UI", + "url": "https://github.com/cjwirth/awesome-ios-ui", + "repo": "cjwirth/awesome-ios-ui", + "cate": "Front-End Development" + }, + { + "name": "Meteor", + "url": "https://github.com/Urigo/awesome-meteor", + "repo": "Urigo/awesome-meteor", + "cate": "Front-End Development" + }, + { + "name": "BEM", + "url": "https://github.com/sturobson/BEM-resources", + "repo": "sturobson/BEM-resources", + "cate": "Front-End Development" + }, + { + "name": "Flexbox", + "url": "https://github.com/afonsopacifer/awesome-flexbox", + "repo": "afonsopacifer/awesome-flexbox", + "cate": "Front-End Development" + }, + { + "name": "Web Typography", + "url": "https://github.com/deanhume/typography", + "repo": "deanhume/typography", + "cate": "Front-End Development" + }, + { + "name": "Web Accessibility", + "url": "https://github.com/brunopulis/awesome-a11y", + "repo": "brunopulis/awesome-a11y", + "cate": "Front-End Development" + }, + { + "name": "Material Design", + "url": "https://github.com/sachin1092/awesome-material", + "repo": "sachin1092/awesome-material", + "cate": "Front-End Development" + }, + { + "name": "D3", + "url": "https://github.com/wbkd/awesome-d3", + "repo": "wbkd/awesome-d3", + "cate": "Front-End Development" + }, + { + "name": "Emails", + "url": "https://github.com/jonathandion/awesome-emails", + "repo": "jonathandion/awesome-emails", + "cate": "Front-End Development" + }, + { + "name": "jQuery", + "url": "https://github.com/petk/awesome-jquery", + "repo": "petk/awesome-jquery", + "cate": "Front-End Development" + }, + { + "name": "jQuery - Tips", + "url": "https://github.com/AllThingsSmitty/jquery-tips-everyone-should-know", + "repo": "AllThingsSmitty/jquery-tips-everyone-should-know", + "cate": "Front-End Development" + }, + { + "name": "Web Audio", + "url": "https://github.com/notthetup/awesome-webaudio", + "repo": "notthetup/awesome-webaudio", + "cate": "Front-End Development" + }, + { + "name": "Offline-First", + "url": "https://github.com/pazguille/offline-first", + "repo": "pazguille/offline-first", + "cate": "Front-End Development" + }, + { + "name": "Static Website Services", + "url": "https://github.com/agarrharr/awesome-static-website-services", + "repo": "agarrharr/awesome-static-website-services", + "cate": "Front-End Development" + }, + { + "name": "Cycle.js", + "url": "https://github.com/cyclejs-community/awesome-cyclejs", + "repo": "cyclejs-community/awesome-cyclejs", + "cate": "Front-End Development" + }, + { + "name": "Text Editing", + "url": "https://github.com/dok/awesome-text-editing", + "repo": "dok/awesome-text-editing", + "cate": "Front-End Development" + }, + { + "name": "Motion UI Design", + "url": "https://github.com/fliptheweb/motion-ui-design", + "repo": "fliptheweb/motion-ui-design", + "cate": "Front-End Development" + }, + { + "name": "Vue.js", + "url": "https://github.com/vuejs/awesome-vue", + "repo": "vuejs/awesome-vue", + "cate": "Front-End Development" + }, + { + "name": "Marionette.js", + "url": "https://github.com/sadcitizen/awesome-marionette", + "repo": "sadcitizen/awesome-marionette", + "cate": "Front-End Development" + }, + { + "name": "Aurelia", + "url": "https://github.com/aurelia-contrib/awesome-aurelia", + "repo": "aurelia-contrib/awesome-aurelia", + "cate": "Front-End Development" + }, + { + "name": "Charting", + "url": "https://github.com/zingchart/awesome-charting", + "repo": "zingchart/awesome-charting", + "cate": "Front-End Development" + }, + { + "name": "Ionic Framework 2", + "url": "https://github.com/candelibas/awesome-ionic", + "repo": "candelibas/awesome-ionic", + "cate": "Front-End Development" + }, + { + "name": "Chrome DevTools", + "url": "https://github.com/ChromeDevTools/awesome-chrome-devtools", + "repo": "ChromeDevTools/awesome-chrome-devtools", + "cate": "Front-End Development" + }, + { + "name": "PostCSS", + "url": "https://github.com/jdrgomes/awesome-postcss", + "repo": "jdrgomes/awesome-postcss", + "cate": "Front-End Development" + }, + { + "name": "Draft.js", + "url": "https://github.com/nikgraf/awesome-draft-js", + "repo": "nikgraf/awesome-draft-js", + "cate": "Front-End Development" + }, + { + "name": "Service Workers", + "url": "https://github.com/TalAter/awesome-service-workers", + "repo": "TalAter/awesome-service-workers", + "cate": "Front-End Development" + }, + { + "name": "Progressive Web Apps", + "url": "https://github.com/TalAter/awesome-progressive-web-apps", + "repo": "TalAter/awesome-progressive-web-apps", + "cate": "Front-End Development" + }, + { + "name": "choo", + "url": "https://github.com/choojs/awesome-choo", + "repo": "choojs/awesome-choo", + "cate": "Front-End Development" + }, + { + "name": "Redux", + "url": "https://github.com/brillout/awesome-redux", + "repo": "brillout/awesome-redux", + "cate": "Front-End Development" + }, + { + "name": "Browserify", + "url": "https://github.com/browserify/awesome-browserify", + "repo": "browserify/awesome-browserify", + "cate": "Front-End Development" + }, + { + "name": "Sass", + "url": "https://github.com/Famolus/awesome-sass", + "repo": "Famolus/awesome-sass", + "cate": "Front-End Development" + }, + { + "name": "Ant Design", + "url": "https://github.com/websemantics/awesome-ant-design", + "repo": "websemantics/awesome-ant-design", + "cate": "Front-End Development" + }, + { + "name": "Less", + "url": "https://github.com/LucasBassetti/awesome-less", + "repo": "LucasBassetti/awesome-less", + "cate": "Front-End Development" + }, + { + "name": "WebGL", + "url": "https://github.com/sjfricke/awesome-webgl", + "repo": "sjfricke/awesome-webgl", + "cate": "Front-End Development" + }, + { + "name": "Preact", + "url": "https://github.com/preactjs/awesome-preact", + "repo": "preactjs/awesome-preact", + "cate": "Front-End Development" + }, + { + "name": "Progressive Enhancement", + "url": "https://github.com/jbmoelker/progressive-enhancement-resources", + "repo": "jbmoelker/progressive-enhancement-resources", + "cate": "Front-End Development" + }, + { + "name": "Next.js", + "url": "https://github.com/unicodeveloper/awesome-nextjs", + "repo": "unicodeveloper/awesome-nextjs", + "cate": "Front-End Development" + }, + { + "name": "lit", + "url": "https://github.com/web-padawan/awesome-lit", + "repo": "web-padawan/awesome-lit", + "cate": "Front-End Development" + }, + { + "name": "JAMstack", + "url": "https://github.com/automata/awesome-jamstack", + "repo": "automata/awesome-jamstack", + "cate": "Front-End Development" + }, + { + "name": "WordPress-Gatsby", + "url": "https://github.com/henrikwirth/awesome-wordpress-gatsby", + "repo": "henrikwirth/awesome-wordpress-gatsby", + "cate": "Front-End Development" + }, + { + "name": "Mobile Web Development", + "url": "https://github.com/myshov/awesome-mobile-web-development", + "repo": "myshov/awesome-mobile-web-development", + "cate": "Front-End Development" + }, + { + "name": "Storybook", + "url": "https://github.com/lauthieb/awesome-storybook", + "repo": "lauthieb/awesome-storybook", + "cate": "Front-End Development" + }, + { + "name": "Blazor", + "url": "https://github.com/AdrienTorris/awesome-blazor", + "repo": "AdrienTorris/awesome-blazor", + "cate": "Front-End Development" + }, + { + "name": "PageSpeed Metrics", + "url": "https://github.com/csabapalfi/awesome-pagespeed-metrics", + "repo": "csabapalfi/awesome-pagespeed-metrics", + "cate": "Front-End Development" + }, + { + "name": "Tailwind CSS", + "url": "https://github.com/aniftyco/awesome-tailwindcss", + "repo": "aniftyco/awesome-tailwindcss", + "cate": "Front-End Development" + }, + { + "name": "Seed", + "url": "https://github.com/seed-rs/awesome-seed-rs", + "repo": "seed-rs/awesome-seed-rs", + "cate": "Front-End Development" + }, + { + "name": "Web Performance Budget", + "url": "https://github.com/pajaydev/awesome-web-performance-budget", + "repo": "pajaydev/awesome-web-performance-budget", + "cate": "Front-End Development" + }, + { + "name": "Web Animation", + "url": "https://github.com/sergey-pimenov/awesome-web-animation", + "repo": "sergey-pimenov/awesome-web-animation", + "cate": "Front-End Development" + }, + { + "name": "Yew", + "url": "https://github.com/jetli/awesome-yew", + "repo": "jetli/awesome-yew", + "cate": "Front-End Development" + }, + { + "name": "Material-UI", + "url": "https://github.com/nadunindunil/awesome-material-ui", + "repo": "nadunindunil/awesome-material-ui", + "cate": "Front-End Development" + }, + { + "name": "Building Blocks for Web Apps", + "url": "https://github.com/componently-com/awesome-building-blocks-for-web-apps", + "repo": "componently-com/awesome-building-blocks-for-web-apps", + "cate": "Front-End Development" + }, + { + "name": "Svelte", + "url": "https://github.com/TheComputerM/awesome-svelte", + "repo": "TheComputerM/awesome-svelte", + "cate": "Front-End Development" + }, + { + "name": "Design systems", + "url": "https://github.com/klaufel/awesome-design-systems", + "repo": "klaufel/awesome-design-systems", + "cate": "Front-End Development" + }, + { + "name": "Inertia.js", + "url": "https://github.com/innocenzi/awesome-inertiajs", + "repo": "innocenzi/awesome-inertiajs", + "cate": "Front-End Development" + }, + { + "name": "MDBootstrap", + "url": "https://github.com/mdbootstrap/awesome-mdbootstrap", + "repo": "mdbootstrap/awesome-mdbootstrap", + "cate": "Front-End Development" + } + ], + "Back-End Development": [ + { + "name": "Flask", + "url": "https://github.com/mjhea0/awesome-flask", + "repo": "mjhea0/awesome-flask", + "cate": "Back-End Development" + }, + { + "name": "Docker", + "url": "https://github.com/veggiemonk/awesome-docker", + "repo": "veggiemonk/awesome-docker", + "cate": "Back-End Development" + }, + { + "name": "Vagrant", + "url": "https://github.com/iJackUA/awesome-vagrant", + "repo": "iJackUA/awesome-vagrant", + "cate": "Back-End Development" + }, + { + "name": "Pyramid", + "url": "https://github.com/uralbash/awesome-pyramid", + "repo": "uralbash/awesome-pyramid", + "cate": "Back-End Development" + }, + { + "name": "Play1 Framework", + "url": "https://github.com/PerfectCarl/awesome-play1", + "repo": "PerfectCarl/awesome-play1", + "cate": "Back-End Development" + }, + { + "name": "CakePHP", + "url": "https://github.com/friendsofcake/awesome-cakephp", + "repo": "friendsofcake/awesome-cakephp", + "cate": "Back-End Development" + }, + { + "name": "Symfony", + "url": "https://github.com/sitepoint-editors/awesome-symfony", + "repo": "sitepoint-editors/awesome-symfony", + "cate": "Back-End Development" + }, + { + "name": "Symfony - Education", + "url": "https://github.com/pehapkari/awesome-symfony-education", + "repo": "pehapkari/awesome-symfony-education", + "cate": "Back-End Development" + }, + { + "name": "Laravel", + "url": "https://github.com/chiraggude/awesome-laravel", + "repo": "chiraggude/awesome-laravel", + "cate": "Back-End Development" + }, + { + "name": "Laravel - Education", + "url": "https://github.com/fukuball/Awesome-Laravel-Education", + "repo": "fukuball/Awesome-Laravel-Education", + "cate": "Back-End Development" + }, + { + "name": "Laravel - TALL Stack", + "url": "https://github.com/livewire/awesome-tall-stack", + "repo": "livewire/awesome-tall-stack", + "cate": "Back-End Development" + }, + { + "name": "Rails", + "url": "https://github.com/gramantin/awesome-rails", + "repo": "gramantin/awesome-rails", + "cate": "Back-End Development" + }, + { + "name": "Rails - Gems", + "url": "https://github.com/hothero/awesome-rails-gem", + "repo": "hothero/awesome-rails-gem", + "cate": "Back-End Development" + }, + { + "name": "Phalcon", + "url": "https://github.com/phalcon/awesome-phalcon", + "repo": "phalcon/awesome-phalcon", + "cate": "Back-End Development" + }, + { + "name": "Useful .htaccess Snippets", + "url": "https://github.com/phanan/htaccess", + "repo": "phanan/htaccess", + "cate": "Back-End Development" + }, + { + "name": "nginx", + "url": "https://github.com/fcambus/nginx-resources", + "repo": "fcambus/nginx-resources", + "cate": "Back-End Development" + }, + { + "name": "Dropwizard", + "url": "https://github.com/stve/awesome-dropwizard", + "repo": "stve/awesome-dropwizard", + "cate": "Back-End Development" + }, + { + "name": "Kubernetes", + "url": "https://github.com/ramitsurana/awesome-kubernetes", + "repo": "ramitsurana/awesome-kubernetes", + "cate": "Back-End Development" + }, + { + "name": "Lumen", + "url": "https://github.com/unicodeveloper/awesome-lumen", + "repo": "unicodeveloper/awesome-lumen", + "cate": "Back-End Development" + }, + { + "name": "Serverless Framework", + "url": "https://github.com/pmuens/awesome-serverless", + "repo": "pmuens/awesome-serverless", + "cate": "Back-End Development" + }, + { + "name": "Apache Wicket", + "url": "https://github.com/PhantomYdn/awesome-wicket", + "repo": "PhantomYdn/awesome-wicket", + "cate": "Back-End Development" + }, + { + "name": "Vert.x", + "url": "https://github.com/vert-x3/vertx-awesome", + "repo": "vert-x3/vertx-awesome", + "cate": "Back-End Development" + }, + { + "name": "Terraform", + "url": "https://github.com/shuaibiyy/awesome-terraform", + "repo": "shuaibiyy/awesome-terraform", + "cate": "Back-End Development" + }, + { + "name": "Vapor", + "url": "https://github.com/vapor-community/awesome-vapor", + "repo": "vapor-community/awesome-vapor", + "cate": "Back-End Development" + }, + { + "name": "Dash", + "url": "https://github.com/ucg8j/awesome-dash", + "repo": "ucg8j/awesome-dash", + "cate": "Back-End Development" + }, + { + "name": "FastAPI", + "url": "https://github.com/mjhea0/awesome-fastapi", + "repo": "mjhea0/awesome-fastapi", + "cate": "Back-End Development" + }, + { + "name": "CDK", + "url": "https://github.com/kolomied/awesome-cdk", + "repo": "kolomied/awesome-cdk", + "cate": "Back-End Development" + }, + { + "name": "IAM", + "url": "https://github.com/kdeldycke/awesome-iam", + "repo": "kdeldycke/awesome-iam", + "cate": "Back-End Development" + }, + { + "name": "Slim", + "url": "https://github.com/nekofar/awesome-slim", + "repo": "nekofar/awesome-slim", + "cate": "Back-End Development" + }, + { + "name": "Fiber", + "url": "https://github.com/gofiber/awesome-fiber", + "repo": "gofiber/awesome-fiber", + "cate": "Back-End Development" + } + ], + "Computer Science": [ + { + "name": "University Courses", + "url": "https://github.com/prakhar1989/awesome-courses", + "repo": "prakhar1989/awesome-courses", + "cate": "Computer Science" + }, + { + "name": "Data Science", + "url": "https://github.com/academic/awesome-datascience", + "repo": "academic/awesome-datascience", + "cate": "Computer Science" + }, + { + "name": "Data Science - Tutorials", + "url": "https://github.com/siboehm/awesome-learn-datascience", + "repo": "siboehm/awesome-learn-datascience", + "cate": "Computer Science" + }, + { + "name": "Machine Learning", + "url": "https://github.com/josephmisiti/awesome-machine-learning", + "repo": "josephmisiti/awesome-machine-learning", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - Tutorials", + "url": "https://github.com/ujjwalkarn/Machine-Learning-Tutorials", + "repo": "ujjwalkarn/Machine-Learning-Tutorials", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - ML with Ruby", + "url": "https://github.com/arbox/machine-learning-with-ruby", + "repo": "arbox/machine-learning-with-ruby", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - Core ML Models", + "url": "https://github.com/likedan/Awesome-CoreML-Models", + "repo": "likedan/Awesome-CoreML-Models", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - H2O", + "url": "https://github.com/h2oai/awesome-h2o", + "repo": "h2oai/awesome-h2o", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - Software Engineering for Machine Learning", + "url": "https://github.com/SE-ML/awesome-seml", + "repo": "SE-ML/awesome-seml", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - AI in Finance", + "url": "https://github.com/georgezouq/awesome-ai-in-finance", + "repo": "georgezouq/awesome-ai-in-finance", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - JAX", + "url": "https://github.com/n2cholas/awesome-jax", + "repo": "n2cholas/awesome-jax", + "cate": "Computer Science" + }, + { + "name": "Machine Learning - XAI", + "url": "https://github.com/altamiracorp/awesome-xai", + "repo": "altamiracorp/awesome-xai", + "cate": "Computer Science" + }, + { + "name": "Speech and Natural Language Processing", + "url": "https://github.com/edobashira/speech-language-processing", + "repo": "edobashira/speech-language-processing", + "cate": "Computer Science" + }, + { + "name": "Speech and Natural Language Processing - Spanish", + "url": "https://github.com/dav009/awesome-spanish-nlp", + "repo": "dav009/awesome-spanish-nlp", + "cate": "Computer Science" + }, + { + "name": "Speech and Natural Language Processing - NLP with Ruby", + "url": "https://github.com/arbox/nlp-with-ruby", + "repo": "arbox/nlp-with-ruby", + "cate": "Computer Science" + }, + { + "name": "Speech and Natural Language Processing - Question Answering", + "url": "https://github.com/seriousran/awesome-qa", + "repo": "seriousran/awesome-qa", + "cate": "Computer Science" + }, + { + "name": "Speech and Natural Language Processing - Natural Language Generation", + "url": "https://github.com/accelerated-text/awesome-nlg", + "repo": "accelerated-text/awesome-nlg", + "cate": "Computer Science" + }, + { + "name": "Linguistics", + "url": "https://github.com/theimpossibleastronaut/awesome-linguistics", + "repo": "theimpossibleastronaut/awesome-linguistics", + "cate": "Computer Science" + }, + { + "name": "Cryptography", + "url": "https://github.com/sobolevn/awesome-cryptography", + "repo": "sobolevn/awesome-cryptography", + "cate": "Computer Science" + }, + { + "name": "Cryptography - Papers", + "url": "https://github.com/pFarb/awesome-crypto-papers", + "repo": "pFarb/awesome-crypto-papers", + "cate": "Computer Science" + }, + { + "name": "Computer Vision", + "url": "https://github.com/jbhuang0604/awesome-computer-vision", + "repo": "jbhuang0604/awesome-computer-vision", + "cate": "Computer Science" + }, + { + "name": "Deep Learning", + "url": "https://github.com/ChristosChristofidis/awesome-deep-learning", + "repo": "ChristosChristofidis/awesome-deep-learning", + "cate": "Computer Science" + }, + { + "name": "Deep Learning - TensorFlow", + "url": "https://github.com/jtoy/awesome-tensorflow", + "repo": "jtoy/awesome-tensorflow", + "cate": "Computer Science" + }, + { + "name": "Deep Learning - TensorFlow.js", + "url": "https://github.com/aaronhma/awesome-tensorflow-js", + "repo": "aaronhma/awesome-tensorflow-js", + "cate": "Computer Science" + }, + { + "name": "Deep Learning - TensorFlow Lite", + "url": "https://github.com/margaretmz/awesome-tensorflow-lite", + "repo": "margaretmz/awesome-tensorflow-lite", + "cate": "Computer Science" + }, + { + "name": "Deep Learning - Papers", + "url": "https://github.com/terryum/awesome-deep-learning-papers", + "repo": "terryum/awesome-deep-learning-papers", + "cate": "Computer Science" + }, + { + "name": "Deep Learning - Education", + "url": "https://github.com/guillaume-chevalier/awesome-deep-learning-resources", + "repo": "guillaume-chevalier/awesome-deep-learning-resources", + "cate": "Computer Science" + }, + { + "name": "Deep Vision", + "url": "https://github.com/kjw0612/awesome-deep-vision", + "repo": "kjw0612/awesome-deep-vision", + "cate": "Computer Science" + }, + { + "name": "Open Source Society University", + "url": "https://github.com/ossu/computer-science", + "repo": "ossu/computer-science", + "cate": "Computer Science" + }, + { + "name": "Functional Programming", + "url": "https://github.com/lucasviola/awesome-functional-programming", + "repo": "lucasviola/awesome-functional-programming", + "cate": "Computer Science" + }, + { + "name": "Empirical Software Engineering", + "url": "https://github.com/dspinellis/awesome-msr", + "repo": "dspinellis/awesome-msr", + "cate": "Computer Science" + }, + { + "name": "Static Analysis & Code Quality", + "url": "https://github.com/analysis-tools-dev/static-analysis", + "repo": "analysis-tools-dev/static-analysis", + "cate": "Computer Science" + }, + { + "name": "Information Retrieval", + "url": "https://github.com/harpribot/awesome-information-retrieval", + "repo": "harpribot/awesome-information-retrieval", + "cate": "Computer Science" + }, + { + "name": "Quantum Computing", + "url": "https://github.com/desireevl/awesome-quantum-computing", + "repo": "desireevl/awesome-quantum-computing", + "cate": "Computer Science" + }, + { + "name": "Theoretical Computer Science", + "url": "https://github.com/mostafatouny/awesome-theoretical-computer-science", + "repo": "mostafatouny/awesome-theoretical-computer-science", + "cate": "Computer Science" + }, + { + "name": "Conversational AI", + "url": "https://github.com/jyguyomarch/awesome-conversational-ai", + "repo": "jyguyomarch/awesome-conversational-ai", + "cate": "Computer Science" + } + ], + "Big Data": [ + { + "name": "Big Data", + "url": "https://github.com/0xnr/awesome-bigdata", + "repo": "0xnr/awesome-bigdata", + "cate": "Big Data" + }, + { + "name": "Public Datasets", + "url": "https://github.com/awesomedata/awesome-public-datasets", + "repo": "awesomedata/awesome-public-datasets", + "cate": "Big Data" + }, + { + "name": "Hadoop", + "url": "https://github.com/youngwookim/awesome-hadoop", + "repo": "youngwookim/awesome-hadoop", + "cate": "Big Data" + }, + { + "name": "Data Engineering", + "url": "https://github.com/igorbarinov/awesome-data-engineering", + "repo": "igorbarinov/awesome-data-engineering", + "cate": "Big Data" + }, + { + "name": "Streaming", + "url": "https://github.com/manuzhang/awesome-streaming", + "repo": "manuzhang/awesome-streaming", + "cate": "Big Data" + }, + { + "name": "Apache Spark", + "url": "https://github.com/awesome-spark/awesome-spark", + "repo": "awesome-spark/awesome-spark", + "cate": "Big Data" + }, + { + "name": "Qlik", + "url": "https://github.com/ambster-public/awesome-qlik", + "repo": "ambster-public/awesome-qlik", + "cate": "Big Data" + }, + { + "name": "Splunk", + "url": "https://github.com/sduff/awesome-splunk", + "repo": "sduff/awesome-splunk", + "cate": "Big Data" + } + ], + "Theory": [ + { + "name": "Papers We Love", + "url": "https://github.com/papers-we-love/papers-we-love", + "repo": "papers-we-love/papers-we-love", + "cate": "Theory" + }, + { + "name": "Talks", + "url": "https://github.com/JanVanRyswyck/awesome-talks", + "repo": "JanVanRyswyck/awesome-talks", + "cate": "Theory" + }, + { + "name": "Algorithms", + "url": "https://github.com/tayllan/awesome-algorithms", + "repo": "tayllan/awesome-algorithms", + "cate": "Theory" + }, + { + "name": "Algorithms - Education", + "url": "https://github.com/gaerae/awesome-algorithms-education", + "repo": "gaerae/awesome-algorithms-education", + "cate": "Theory" + }, + { + "name": "Algorithm Visualizations", + "url": "https://github.com/enjalot/algovis", + "repo": "enjalot/algovis", + "cate": "Theory" + }, + { + "name": "Artificial Intelligence", + "url": "https://github.com/owainlewis/awesome-artificial-intelligence", + "repo": "owainlewis/awesome-artificial-intelligence", + "cate": "Theory" + }, + { + "name": "Search Engine Optimization", + "url": "https://github.com/marcobiedermann/search-engine-optimization", + "repo": "marcobiedermann/search-engine-optimization", + "cate": "Theory" + }, + { + "name": "Competitive Programming", + "url": "https://github.com/lnishan/awesome-competitive-programming", + "repo": "lnishan/awesome-competitive-programming", + "cate": "Theory" + }, + { + "name": "Math", + "url": "https://github.com/rossant/awesome-math", + "repo": "rossant/awesome-math", + "cate": "Theory" + }, + { + "name": "Recursion Schemes", + "url": "https://github.com/passy/awesome-recursion-schemes", + "repo": "passy/awesome-recursion-schemes", + "cate": "Theory" + }, + { + "name": "Audit Algorithms", + "url": "https://github.com/erwanlemerrer/awesome-audit-algorithms", + "repo": "erwanlemerrer/awesome-audit-algorithms", + "cate": "Theory" + }, + { + "name": "AGI & CoCoSci", + "url": "https://github.com/YuzheSHI/awesome-agi-cocosci", + "repo": "YuzheSHI/awesome-agi-cocosci", + "cate": "Theory" + } + ], + "Books": [ + { + "name": "Free Programming Books", + "url": "https://github.com/EbookFoundation/free-programming-books", + "repo": "EbookFoundation/free-programming-books", + "cate": "Books" + }, + { + "name": "Go Books", + "url": "https://github.com/dariubs/GoBooks", + "repo": "dariubs/GoBooks", + "cate": "Books" + }, + { + "name": "R Books", + "url": "https://github.com/RomanTsegelskyi/rbooks", + "repo": "RomanTsegelskyi/rbooks", + "cate": "Books" + }, + { + "name": "Mind Expanding Books", + "url": "https://github.com/hackerkid/Mind-Expanding-Books", + "repo": "hackerkid/Mind-Expanding-Books", + "cate": "Books" + }, + { + "name": "Book Authoring", + "url": "https://github.com/TalAter/awesome-book-authoring", + "repo": "TalAter/awesome-book-authoring", + "cate": "Books" + }, + { + "name": "Elixir Books", + "url": "https://github.com/sger/ElixirBooks", + "repo": "sger/ElixirBooks", + "cate": "Books" + } + ], + "Editors": [ + { + "name": "Sublime Text", + "url": "https://github.com/dreikanter/sublime-bookmarks", + "repo": "dreikanter/sublime-bookmarks", + "cate": "Editors" + }, + { + "name": "Vim", + "url": "https://github.com/mhinz/vim-galore", + "repo": "mhinz/vim-galore", + "cate": "Editors" + }, + { + "name": "Neovim", + "url": "https://github.com/rockerBOO/awesome-neovim", + "repo": "rockerBOO/awesome-neovim", + "cate": "Editors" + }, + { + "name": "Emacs", + "url": "https://github.com/emacs-tw/awesome-emacs", + "repo": "emacs-tw/awesome-emacs", + "cate": "Editors" + }, + { + "name": "Atom", + "url": "https://github.com/mehcode/awesome-atom", + "repo": "mehcode/awesome-atom", + "cate": "Editors" + }, + { + "name": "Visual Studio Code", + "url": "https://github.com/viatsko/awesome-vscode", + "repo": "viatsko/awesome-vscode", + "cate": "Editors" + } + ], + "Gaming": [ + { + "name": "Game Development", + "url": "https://github.com/ellisonleao/magictools", + "repo": "ellisonleao/magictools", + "cate": "Gaming" + }, + { + "name": "Game Talks", + "url": "https://github.com/hzoo/awesome-gametalks", + "repo": "hzoo/awesome-gametalks", + "cate": "Gaming" + }, + { + "name": "Godot", + "url": "https://github.com/godotengine/awesome-godot", + "repo": "godotengine/awesome-godot", + "cate": "Gaming" + }, + { + "name": "Open Source Games", + "url": "https://github.com/leereilly/games", + "repo": "leereilly/games", + "cate": "Gaming" + }, + { + "name": "Unity", + "url": "https://github.com/RyanNielson/awesome-unity", + "repo": "RyanNielson/awesome-unity", + "cate": "Gaming" + }, + { + "name": "Chess", + "url": "https://github.com/hkirat/awesome-chess", + "repo": "hkirat/awesome-chess", + "cate": "Gaming" + }, + { + "name": "LÖVE", + "url": "https://github.com/love2d-community/awesome-love2d", + "repo": "love2d-community/awesome-love2d", + "cate": "Gaming" + }, + { + "name": "PICO-8", + "url": "https://github.com/pico-8/awesome-PICO-8", + "repo": "pico-8/awesome-PICO-8", + "cate": "Gaming" + }, + { + "name": "Game Boy Development", + "url": "https://github.com/gbdev/awesome-gbdev", + "repo": "gbdev/awesome-gbdev", + "cate": "Gaming" + }, + { + "name": "Construct 2", + "url": "https://github.com/ConstructCommunity/awesome-construct", + "repo": "ConstructCommunity/awesome-construct", + "cate": "Gaming" + }, + { + "name": "Gideros", + "url": "https://github.com/stetso/awesome-gideros", + "repo": "stetso/awesome-gideros", + "cate": "Gaming" + }, + { + "name": "Minecraft", + "url": "https://github.com/bs-community/awesome-minecraft", + "repo": "bs-community/awesome-minecraft", + "cate": "Gaming" + }, + { + "name": "Game Datasets", + "url": "https://github.com/leomaurodesenv/game-datasets", + "repo": "leomaurodesenv/game-datasets", + "cate": "Gaming" + }, + { + "name": "Haxe Game Development", + "url": "https://github.com/Dvergar/awesome-haxe-gamedev", + "repo": "Dvergar/awesome-haxe-gamedev", + "cate": "Gaming" + }, + { + "name": "libGDX", + "url": "https://github.com/rafaskb/awesome-libgdx", + "repo": "rafaskb/awesome-libgdx", + "cate": "Gaming" + }, + { + "name": "PlayCanvas", + "url": "https://github.com/playcanvas/awesome-playcanvas", + "repo": "playcanvas/awesome-playcanvas", + "cate": "Gaming" + }, + { + "name": "Game Remakes", + "url": "https://github.com/radek-sprta/awesome-game-remakes", + "repo": "radek-sprta/awesome-game-remakes", + "cate": "Gaming" + }, + { + "name": "Flame", + "url": "https://github.com/flame-engine/awesome-flame", + "repo": "flame-engine/awesome-flame", + "cate": "Gaming" + }, + { + "name": "Discord Communities", + "url": "https://github.com/mhxion/awesome-discord-communities", + "repo": "mhxion/awesome-discord-communities", + "cate": "Gaming" + }, + { + "name": "CHIP-8", + "url": "https://github.com/tobiasvl/awesome-chip-8", + "repo": "tobiasvl/awesome-chip-8", + "cate": "Gaming" + }, + { + "name": "Games of Coding", + "url": "https://github.com/michelpereira/awesome-games-of-coding", + "repo": "michelpereira/awesome-games-of-coding", + "cate": "Gaming" + }, + { + "name": "Esports", + "url": "https://github.com/strift/awesome-esports", + "repo": "strift/awesome-esports", + "cate": "Gaming" + } + ], + "Development Environment": [ + { + "name": "Quick Look Plugins", + "url": "https://github.com/sindresorhus/quick-look-plugins", + "repo": "sindresorhus/quick-look-plugins", + "cate": "Development Environment" + }, + { + "name": "Dev Env", + "url": "https://github.com/jondot/awesome-devenv", + "repo": "jondot/awesome-devenv", + "cate": "Development Environment" + }, + { + "name": "Dotfiles", + "url": "https://github.com/webpro/awesome-dotfiles", + "repo": "webpro/awesome-dotfiles", + "cate": "Development Environment" + }, + { + "name": "Shell", + "url": "https://github.com/alebcay/awesome-shell", + "repo": "alebcay/awesome-shell", + "cate": "Development Environment" + }, + { + "name": "Fish", + "url": "https://github.com/jorgebucaran/awsm.fish", + "repo": "jorgebucaran/awsm.fish", + "cate": "Development Environment" + }, + { + "name": "Command-Line Apps", + "url": "https://github.com/agarrharr/awesome-cli-apps", + "repo": "agarrharr/awesome-cli-apps", + "cate": "Development Environment" + }, + { + "name": "ZSH Plugins", + "url": "https://github.com/unixorn/awesome-zsh-plugins", + "repo": "unixorn/awesome-zsh-plugins", + "cate": "Development Environment" + }, + { + "name": "GitHub", + "url": "https://github.com/phillipadsmith/awesome-github", + "repo": "phillipadsmith/awesome-github", + "cate": "Development Environment" + }, + { + "name": "GitHub - Browser Extensions", + "url": "https://github.com/stefanbuck/awesome-browser-extensions-for-github", + "repo": "stefanbuck/awesome-browser-extensions-for-github", + "cate": "Development Environment" + }, + { + "name": "GitHub - Cheat Sheet", + "url": "https://github.com/tiimgreen/github-cheat-sheet", + "repo": "tiimgreen/github-cheat-sheet", + "cate": "Development Environment" + }, + { + "name": "GitHub - Pinned Gists", + "url": "https://github.com/matchai/awesome-pinned-gists", + "repo": "matchai/awesome-pinned-gists", + "cate": "Development Environment" + }, + { + "name": "Git Cheat Sheet & Git Flow", + "url": "https://github.com/arslanbilal/git-cheat-sheet", + "repo": "arslanbilal/git-cheat-sheet", + "cate": "Development Environment" + }, + { + "name": "Git Tips", + "url": "https://github.com/git-tips/tips", + "repo": "git-tips/tips", + "cate": "Development Environment" + }, + { + "name": "Git Add-ons", + "url": "https://github.com/stevemao/awesome-git-addons", + "repo": "stevemao/awesome-git-addons", + "cate": "Development Environment" + }, + { + "name": "Git Hooks", + "url": "https://github.com/compscilauren/awesome-git-hooks", + "repo": "compscilauren/awesome-git-hooks", + "cate": "Development Environment" + }, + { + "name": "SSH", + "url": "https://github.com/moul/awesome-ssh", + "repo": "moul/awesome-ssh", + "cate": "Development Environment" + }, + { + "name": "FOSS for Developers", + "url": "https://github.com/tvvocold/FOSS-for-Dev", + "repo": "tvvocold/FOSS-for-Dev", + "cate": "Development Environment" + }, + { + "name": "Hyper", + "url": "https://github.com/bnb/awesome-hyper", + "repo": "bnb/awesome-hyper", + "cate": "Development Environment" + }, + { + "name": "PowerShell", + "url": "https://github.com/janikvonrotz/awesome-powershell", + "repo": "janikvonrotz/awesome-powershell", + "cate": "Development Environment" + }, + { + "name": "Alfred Workflows", + "url": "https://github.com/alfred-workflows/awesome-alfred-workflows", + "repo": "alfred-workflows/awesome-alfred-workflows", + "cate": "Development Environment" + }, + { + "name": "Terminals Are Sexy", + "url": "https://github.com/k4m4/terminals-are-sexy", + "repo": "k4m4/terminals-are-sexy", + "cate": "Development Environment" + }, + { + "name": "GitHub Actions", + "url": "https://github.com/sdras/awesome-actions", + "repo": "sdras/awesome-actions", + "cate": "Development Environment" + } + ], + "Entertainment": [ + { + "name": "Science Fiction", + "url": "https://github.com/sindresorhus/awesome-scifi", + "repo": "sindresorhus/awesome-scifi", + "cate": "Entertainment" + }, + { + "name": "Fantasy", + "url": "https://github.com/RichardLitt/awesome-fantasy", + "repo": "RichardLitt/awesome-fantasy", + "cate": "Entertainment" + }, + { + "name": "Podcasts", + "url": "https://github.com/ayr-ton/awesome-geek-podcasts", + "repo": "ayr-ton/awesome-geek-podcasts", + "cate": "Entertainment" + }, + { + "name": "Email Newsletters", + "url": "https://github.com/zudochkin/awesome-newsletters", + "repo": "zudochkin/awesome-newsletters", + "cate": "Entertainment" + }, + { + "name": "IT Quotes", + "url": "https://github.com/victorlaerte/awesome-it-quotes", + "repo": "victorlaerte/awesome-it-quotes", + "cate": "Entertainment" + } + ], + "Databases": [ + { + "name": "Database", + "url": "https://github.com/numetriclabz/awesome-db", + "repo": "numetriclabz/awesome-db", + "cate": "Databases" + }, + { + "name": "MySQL", + "url": "https://github.com/shlomi-noach/awesome-mysql", + "repo": "shlomi-noach/awesome-mysql", + "cate": "Databases" + }, + { + "name": "SQLAlchemy", + "url": "https://github.com/dahlia/awesome-sqlalchemy", + "repo": "dahlia/awesome-sqlalchemy", + "cate": "Databases" + }, + { + "name": "InfluxDB", + "url": "https://github.com/mark-rushakoff/awesome-influxdb", + "repo": "mark-rushakoff/awesome-influxdb", + "cate": "Databases" + }, + { + "name": "Neo4j", + "url": "https://github.com/neueda/awesome-neo4j", + "repo": "neueda/awesome-neo4j", + "cate": "Databases" + }, + { + "name": "MongoDB", + "url": "https://github.com/ramnes/awesome-mongodb", + "repo": "ramnes/awesome-mongodb", + "cate": "Databases" + }, + { + "name": "RethinkDB", + "url": "https://github.com/d3viant0ne/awesome-rethinkdb", + "repo": "d3viant0ne/awesome-rethinkdb", + "cate": "Databases" + }, + { + "name": "TinkerPop", + "url": "https://github.com/mohataher/awesome-tinkerpop", + "repo": "mohataher/awesome-tinkerpop", + "cate": "Databases" + }, + { + "name": "PostgreSQL", + "url": "https://github.com/dhamaniasad/awesome-postgres", + "repo": "dhamaniasad/awesome-postgres", + "cate": "Databases" + }, + { + "name": "CouchDB", + "url": "https://github.com/quangv/awesome-couchdb", + "repo": "quangv/awesome-couchdb", + "cate": "Databases" + }, + { + "name": "HBase", + "url": "https://github.com/rayokota/awesome-hbase", + "repo": "rayokota/awesome-hbase", + "cate": "Databases" + }, + { + "name": "NoSQL Guides", + "url": "https://github.com/erictleung/awesome-nosql-guides", + "repo": "erictleung/awesome-nosql-guides", + "cate": "Databases" + }, + { + "name": "Database Tools", + "url": "https://github.com/mgramin/awesome-db-tools", + "repo": "mgramin/awesome-db-tools", + "cate": "Databases" + }, + { + "name": "TypeDB", + "url": "https://github.com/vaticle/typedb-awesome", + "repo": "vaticle/typedb-awesome", + "cate": "Databases" + }, + { + "name": "Cassandra", + "url": "https://github.com/Anant/awesome-cassandra", + "repo": "Anant/awesome-cassandra", + "cate": "Databases" + }, + { + "name": "TDengine", + "url": "https://github.com/taosdata/awesome-tdengine", + "repo": "taosdata/awesome-tdengine", + "cate": "Databases" + } + ], + "Media": [ + { + "name": "Creative Commons Media", + "url": "https://github.com/shime/creative-commons-media", + "repo": "shime/creative-commons-media", + "cate": "Media" + }, + { + "name": "Fonts", + "url": "https://github.com/brabadu/awesome-fonts", + "repo": "brabadu/awesome-fonts", + "cate": "Media" + }, + { + "name": "Codeface", + "url": "https://github.com/chrissimpkins/codeface", + "repo": "chrissimpkins/codeface", + "cate": "Media" + }, + { + "name": "Stock Resources", + "url": "https://github.com/neutraltone/awesome-stock-resources", + "repo": "neutraltone/awesome-stock-resources", + "cate": "Media" + }, + { + "name": "GIF", + "url": "https://github.com/davisonio/awesome-gif", + "repo": "davisonio/awesome-gif", + "cate": "Media" + }, + { + "name": "Music", + "url": "https://github.com/ciconia/awesome-music", + "repo": "ciconia/awesome-music", + "cate": "Media" + }, + { + "name": "Open Source Documents", + "url": "https://github.com/44bits/awesome-opensource-documents", + "repo": "44bits/awesome-opensource-documents", + "cate": "Media" + }, + { + "name": "Audio Visualization", + "url": "https://github.com/willianjusten/awesome-audio-visualization", + "repo": "willianjusten/awesome-audio-visualization", + "cate": "Media" + }, + { + "name": "Broadcasting", + "url": "https://github.com/ebu/awesome-broadcasting", + "repo": "ebu/awesome-broadcasting", + "cate": "Media" + }, + { + "name": "Pixel Art", + "url": "https://github.com/Siilwyn/awesome-pixel-art", + "repo": "Siilwyn/awesome-pixel-art", + "cate": "Media" + }, + { + "name": "FFmpeg", + "url": "https://github.com/transitive-bullshit/awesome-ffmpeg", + "repo": "transitive-bullshit/awesome-ffmpeg", + "cate": "Media" + }, + { + "name": "Icons", + "url": "https://github.com/notlmn/awesome-icons", + "repo": "notlmn/awesome-icons", + "cate": "Media" + }, + { + "name": "Audiovisual", + "url": "https://github.com/stingalleman/awesome-audiovisual", + "repo": "stingalleman/awesome-audiovisual", + "cate": "Media" + }, + { + "name": "VLC", + "url": "https://github.com/mfkl/awesome-vlc", + "repo": "mfkl/awesome-vlc", + "cate": "Media" + } + ], + "Learn": [ + { + "name": "CLI Workshoppers", + "url": "https://github.com/therebelrobot/awesome-workshopper", + "repo": "therebelrobot/awesome-workshopper", + "cate": "Learn" + }, + { + "name": "Learn to Program", + "url": "https://github.com/karlhorky/learn-to-program", + "repo": "karlhorky/learn-to-program", + "cate": "Learn" + }, + { + "name": "Speaking", + "url": "https://github.com/matteofigus/awesome-speaking", + "repo": "matteofigus/awesome-speaking", + "cate": "Learn" + }, + { + "name": "Tech Videos", + "url": "https://github.com/lucasviola/awesome-tech-videos", + "repo": "lucasviola/awesome-tech-videos", + "cate": "Learn" + }, + { + "name": "Dive into Machine Learning", + "url": "https://github.com/hangtwenty/dive-into-machine-learning", + "repo": "hangtwenty/dive-into-machine-learning", + "cate": "Learn" + }, + { + "name": "Computer History", + "url": "https://github.com/watson/awesome-computer-history", + "repo": "watson/awesome-computer-history", + "cate": "Learn" + }, + { + "name": "Programming for Kids", + "url": "https://github.com/HollyAdele/awesome-programming-for-kids", + "repo": "HollyAdele/awesome-programming-for-kids", + "cate": "Learn" + }, + { + "name": "Educational Games", + "url": "https://github.com/yrgo/awesome-educational-games", + "repo": "yrgo/awesome-educational-games", + "cate": "Learn" + }, + { + "name": "JavaScript Learning", + "url": "https://github.com/micromata/awesome-javascript-learning", + "repo": "micromata/awesome-javascript-learning", + "cate": "Learn" + }, + { + "name": "CSS Learning", + "url": "https://github.com/micromata/awesome-css-learning", + "repo": "micromata/awesome-css-learning", + "cate": "Learn" + }, + { + "name": "Product Management", + "url": "https://github.com/dend/awesome-product-management", + "repo": "dend/awesome-product-management", + "cate": "Learn" + }, + { + "name": "Roadmaps", + "url": "https://github.com/liuchong/awesome-roadmaps", + "repo": "liuchong/awesome-roadmaps", + "cate": "Learn" + }, + { + "name": "YouTubers", + "url": "https://github.com/JoseDeFreitas/awesome-youtubers", + "repo": "JoseDeFreitas/awesome-youtubers", + "cate": "Learn" + } + ], + "Security": [ + { + "name": "Application Security", + "url": "https://github.com/paragonie/awesome-appsec", + "repo": "paragonie/awesome-appsec", + "cate": "Security" + }, + { + "name": "Security", + "url": "https://github.com/sbilly/awesome-security", + "repo": "sbilly/awesome-security", + "cate": "Security" + }, + { + "name": "CTF", + "url": "https://github.com/apsdehal/awesome-ctf", + "repo": "apsdehal/awesome-ctf", + "cate": "Security" + }, + { + "name": "Cyber Security University", + "url": "https://github.com/brootware/awesome-cyber-security-university", + "repo": "brootware/awesome-cyber-security-university", + "cate": "Security" + }, + { + "name": "Malware Analysis", + "url": "https://github.com/rshipp/awesome-malware-analysis", + "repo": "rshipp/awesome-malware-analysis", + "cate": "Security" + }, + { + "name": "Android Security", + "url": "https://github.com/ashishb/android-security-awesome", + "repo": "ashishb/android-security-awesome", + "cate": "Security" + }, + { + "name": "Hacking", + "url": "https://github.com/carpedm20/awesome-hacking", + "repo": "carpedm20/awesome-hacking", + "cate": "Security" + }, + { + "name": "Hacking Spots", + "url": "https://github.com/daviddias/awesome-hacking-locations", + "repo": "daviddias/awesome-hacking-locations", + "cate": "Security" + }, + { + "name": "Honeypots", + "url": "https://github.com/paralax/awesome-honeypots", + "repo": "paralax/awesome-honeypots", + "cate": "Security" + }, + { + "name": "Incident Response", + "url": "https://github.com/meirwah/awesome-incident-response", + "repo": "meirwah/awesome-incident-response", + "cate": "Security" + }, + { + "name": "Vehicle Security and Car Hacking", + "url": "https://github.com/jaredthecoder/awesome-vehicle-security", + "repo": "jaredthecoder/awesome-vehicle-security", + "cate": "Security" + }, + { + "name": "Web Security", + "url": "https://github.com/qazbnm456/awesome-web-security", + "repo": "qazbnm456/awesome-web-security", + "cate": "Security" + }, + { + "name": "Lockpicking", + "url": "https://github.com/fabacab/awesome-lockpicking", + "repo": "fabacab/awesome-lockpicking", + "cate": "Security" + }, + { + "name": "Cybersecurity Blue Team", + "url": "https://github.com/fabacab/awesome-cybersecurity-blueteam", + "repo": "fabacab/awesome-cybersecurity-blueteam", + "cate": "Security" + }, + { + "name": "Fuzzing", + "url": "https://github.com/cpuu/awesome-fuzzing", + "repo": "cpuu/awesome-fuzzing", + "cate": "Security" + }, + { + "name": "Embedded and IoT Security", + "url": "https://github.com/fkie-cad/awesome-embedded-and-iot-security", + "repo": "fkie-cad/awesome-embedded-and-iot-security", + "cate": "Security" + }, + { + "name": "GDPR", + "url": "https://github.com/bakke92/awesome-gdpr", + "repo": "bakke92/awesome-gdpr", + "cate": "Security" + }, + { + "name": "DevSecOps", + "url": "https://github.com/TaptuIT/awesome-devsecops", + "repo": "TaptuIT/awesome-devsecops", + "cate": "Security" + }, + { + "name": "Executable Packing", + "url": "https://github.com/dhondta/awesome-executable-packing", + "repo": "dhondta/awesome-executable-packing", + "cate": "Security" + }, + { + "name": "Malware Persistence", + "url": "https://github.com/Karneades/awesome-malware-persistence", + "repo": "Karneades/awesome-malware-persistence", + "cate": "Security" + }, + { + "name": "EVM Security", + "url": "https://github.com/kareniel/awesome-evm-security", + "repo": "kareniel/awesome-evm-security", + "cate": "Security" + } + ], + "Content Management Systems": [ + { + "name": "Umbraco", + "url": "https://github.com/umbraco-community/awesome-umbraco", + "repo": "umbraco-community/awesome-umbraco", + "cate": "Content Management Systems" + }, + { + "name": "Refinery CMS", + "url": "https://github.com/refinerycms-contrib/awesome-refinerycms", + "repo": "refinerycms-contrib/awesome-refinerycms", + "cate": "Content Management Systems" + }, + { + "name": "Wagtail", + "url": "https://github.com/springload/awesome-wagtail", + "repo": "springload/awesome-wagtail", + "cate": "Content Management Systems" + }, + { + "name": "Textpattern", + "url": "https://github.com/drmonkeyninja/awesome-textpattern", + "repo": "drmonkeyninja/awesome-textpattern", + "cate": "Content Management Systems" + }, + { + "name": "Drupal", + "url": "https://github.com/nirgn975/awesome-drupal", + "repo": "nirgn975/awesome-drupal", + "cate": "Content Management Systems" + }, + { + "name": "Craft CMS", + "url": "https://github.com/craftcms/awesome", + "repo": "craftcms/awesome", + "cate": "Content Management Systems" + }, + { + "name": "Sitecore", + "url": "https://github.com/MartinMiles/Awesome-Sitecore", + "repo": "MartinMiles/Awesome-Sitecore", + "cate": "Content Management Systems" + }, + { + "name": "Silverstripe CMS", + "url": "https://github.com/wernerkrauss/awesome-silverstripe-cms", + "repo": "wernerkrauss/awesome-silverstripe-cms", + "cate": "Content Management Systems" + }, + { + "name": "Directus", + "url": "https://github.com/directus-community/awesome-directus", + "repo": "directus-community/awesome-directus", + "cate": "Content Management Systems" + }, + { + "name": "Plone", + "url": "https://github.com/collective/awesome-plone", + "repo": "collective/awesome-plone", + "cate": "Content Management Systems" + } + ], + "Hardware": [ + { + "name": "Robotics", + "url": "https://github.com/Kiloreux/awesome-robotics", + "repo": "Kiloreux/awesome-robotics", + "cate": "Hardware" + }, + { + "name": "Internet of Things", + "url": "https://github.com/HQarroum/awesome-iot", + "repo": "HQarroum/awesome-iot", + "cate": "Hardware" + }, + { + "name": "Electronics", + "url": "https://github.com/kitspace/awesome-electronics", + "repo": "kitspace/awesome-electronics", + "cate": "Hardware" + }, + { + "name": "Bluetooth Beacons", + "url": "https://github.com/rabschi/awesome-beacon", + "repo": "rabschi/awesome-beacon", + "cate": "Hardware" + }, + { + "name": "Electric Guitar Specifications", + "url": "https://github.com/gitfrage/guitarspecs", + "repo": "gitfrage/guitarspecs", + "cate": "Hardware" + }, + { + "name": "Plotters", + "url": "https://github.com/beardicus/awesome-plotters", + "repo": "beardicus/awesome-plotters", + "cate": "Hardware" + }, + { + "name": "Robotic Tooling", + "url": "https://github.com/protontypes/awesome-robotic-tooling", + "repo": "protontypes/awesome-robotic-tooling", + "cate": "Hardware" + }, + { + "name": "LIDAR", + "url": "https://github.com/szenergy/awesome-lidar", + "repo": "szenergy/awesome-lidar", + "cate": "Hardware" + }, + { + "name": "Open Hardware", + "url": "https://github.com/delftopenhardware/awesome-open-hardware", + "repo": "delftopenhardware/awesome-open-hardware", + "cate": "Hardware" + } + ], + "Business": [ + { + "name": "Open Companies", + "url": "https://github.com/opencompany/awesome-open-company", + "repo": "opencompany/awesome-open-company", + "cate": "Business" + }, + { + "name": "Places to Post Your Startup", + "url": "https://github.com/mmccaff/PlacesToPostYourStartup", + "repo": "mmccaff/PlacesToPostYourStartup", + "cate": "Business" + }, + { + "name": "OKR Methodology", + "url": "https://github.com/domenicosolazzo/awesome-okr", + "repo": "domenicosolazzo/awesome-okr", + "cate": "Business" + }, + { + "name": "Leading and Managing", + "url": "https://github.com/LappleApple/awesome-leading-and-managing", + "repo": "LappleApple/awesome-leading-and-managing", + "cate": "Business" + }, + { + "name": "Indie", + "url": "https://github.com/mezod/awesome-indie", + "repo": "mezod/awesome-indie", + "cate": "Business" + }, + { + "name": "Tools of the Trade", + "url": "https://github.com/cjbarber/ToolsOfTheTrade", + "repo": "cjbarber/ToolsOfTheTrade", + "cate": "Business" + }, + { + "name": "Clean Tech", + "url": "https://github.com/nglgzz/awesome-clean-tech", + "repo": "nglgzz/awesome-clean-tech", + "cate": "Business" + }, + { + "name": "Wardley Maps", + "url": "https://github.com/wardley-maps-community/awesome-wardley-maps", + "repo": "wardley-maps-community/awesome-wardley-maps", + "cate": "Business" + }, + { + "name": "Social Enterprise", + "url": "https://github.com/RayBB/awesome-social-enterprise", + "repo": "RayBB/awesome-social-enterprise", + "cate": "Business" + }, + { + "name": "Engineering Team Management", + "url": "https://github.com/kdeldycke/awesome-engineering-team-management", + "repo": "kdeldycke/awesome-engineering-team-management", + "cate": "Business" + }, + { + "name": "Developer-First Products", + "url": "https://github.com/agamm/awesome-developer-first", + "repo": "agamm/awesome-developer-first", + "cate": "Business" + }, + { + "name": "Billing", + "url": "https://github.com/kdeldycke/awesome-billing", + "repo": "kdeldycke/awesome-billing", + "cate": "Business" + } + ], + "Work": [ + { + "name": "Slack", + "url": "https://github.com/matiassingers/awesome-slack", + "repo": "matiassingers/awesome-slack", + "cate": "Work" + }, + { + "name": "Slack - Communities", + "url": "https://github.com/filipelinhares/awesome-slack", + "repo": "filipelinhares/awesome-slack", + "cate": "Work" + }, + { + "name": "Remote Jobs", + "url": "https://github.com/lukasz-madon/awesome-remote-job", + "repo": "lukasz-madon/awesome-remote-job", + "cate": "Work" + }, + { + "name": "Productivity", + "url": "https://github.com/jyguyomarch/awesome-productivity", + "repo": "jyguyomarch/awesome-productivity", + "cate": "Work" + }, + { + "name": "Niche Job Boards", + "url": "https://github.com/tramcar/awesome-job-boards", + "repo": "tramcar/awesome-job-boards", + "cate": "Work" + }, + { + "name": "Programming Interviews", + "url": "https://github.com/DopplerHQ/awesome-interview-questions", + "repo": "DopplerHQ/awesome-interview-questions", + "cate": "Work" + }, + { + "name": "Code Review", + "url": "https://github.com/joho/awesome-code-review", + "repo": "joho/awesome-code-review", + "cate": "Work" + }, + { + "name": "Creative Technology", + "url": "https://github.com/j0hnm4r5/awesome-creative-technology", + "repo": "j0hnm4r5/awesome-creative-technology", + "cate": "Work" + }, + { + "name": "Internships", + "url": "https://github.com/lodthe/awesome-internships", + "repo": "lodthe/awesome-internships", + "cate": "Work" + } + ], + "Networking": [ + { + "name": "Software-Defined Networking", + "url": "https://github.com/sdnds-tw/awesome-sdn", + "repo": "sdnds-tw/awesome-sdn", + "cate": "Networking" + }, + { + "name": "Network Analysis", + "url": "https://github.com/briatte/awesome-network-analysis", + "repo": "briatte/awesome-network-analysis", + "cate": "Networking" + }, + { + "name": "PCAPTools", + "url": "https://github.com/caesar0301/awesome-pcaptools", + "repo": "caesar0301/awesome-pcaptools", + "cate": "Networking" + }, + { + "name": "Real-Time Communications", + "url": "https://github.com/rtckit/awesome-rtc", + "repo": "rtckit/awesome-rtc", + "cate": "Networking" + }, + { + "name": "SNMP", + "url": "https://github.com/eozer/awesome-snmp", + "repo": "eozer/awesome-snmp", + "cate": "Networking" + } + ], + "Decentralized Systems": [ + { + "name": "Bitcoin", + "url": "https://github.com/igorbarinov/awesome-bitcoin", + "repo": "igorbarinov/awesome-bitcoin", + "cate": "Decentralized Systems" + }, + { + "name": "Ripple", + "url": "https://github.com/vhpoet/awesome-ripple", + "repo": "vhpoet/awesome-ripple", + "cate": "Decentralized Systems" + }, + { + "name": "Non-Financial Blockchain", + "url": "https://github.com/machinomy/awesome-non-financial-blockchain", + "repo": "machinomy/awesome-non-financial-blockchain", + "cate": "Decentralized Systems" + }, + { + "name": "Mastodon", + "url": "https://github.com/tleb/awesome-mastodon", + "repo": "tleb/awesome-mastodon", + "cate": "Decentralized Systems" + }, + { + "name": "Ethereum", + "url": "https://github.com/ttumiel/Awesome-Ethereum", + "repo": "ttumiel/Awesome-Ethereum", + "cate": "Decentralized Systems" + }, + { + "name": "Blockchain AI", + "url": "https://github.com/steven2358/awesome-blockchain-ai", + "repo": "steven2358/awesome-blockchain-ai", + "cate": "Decentralized Systems" + }, + { + "name": "EOSIO", + "url": "https://github.com/DanailMinchev/awesome-eosio", + "repo": "DanailMinchev/awesome-eosio", + "cate": "Decentralized Systems" + }, + { + "name": "Corda", + "url": "https://github.com/chainstack/awesome-corda", + "repo": "chainstack/awesome-corda", + "cate": "Decentralized Systems" + }, + { + "name": "Waves", + "url": "https://github.com/msmolyakov/awesome-waves", + "repo": "msmolyakov/awesome-waves", + "cate": "Decentralized Systems" + }, + { + "name": "Substrate", + "url": "https://github.com/substrate-developer-hub/awesome-substrate", + "repo": "substrate-developer-hub/awesome-substrate", + "cate": "Decentralized Systems" + }, + { + "name": "Golem", + "url": "https://github.com/golemfactory/awesome-golem", + "repo": "golemfactory/awesome-golem", + "cate": "Decentralized Systems" + }, + { + "name": "Stacks", + "url": "https://github.com/friedger/awesome-stacks-chain", + "repo": "friedger/awesome-stacks-chain", + "cate": "Decentralized Systems" + }, + { + "name": "Algorand", + "url": "https://github.com/aorumbayev/awesome-algorand", + "repo": "aorumbayev/awesome-algorand", + "cate": "Decentralized Systems" + } + ], + "Higher Education": [ + { + "name": "Computational Neuroscience", + "url": "https://github.com/eselkin/awesome-computational-neuroscience", + "repo": "eselkin/awesome-computational-neuroscience", + "cate": "Higher Education" + }, + { + "name": "Digital History", + "url": "https://github.com/maehr/awesome-digital-history", + "repo": "maehr/awesome-digital-history", + "cate": "Higher Education" + }, + { + "name": "Scientific Writing", + "url": "https://github.com/writing-resources/awesome-scientific-writing", + "repo": "writing-resources/awesome-scientific-writing", + "cate": "Higher Education" + } + ], + "Events": [ + { + "name": "Creative Tech Events", + "url": "https://github.com/danvoyce/awesome-creative-tech-events", + "repo": "danvoyce/awesome-creative-tech-events", + "cate": "Events" + }, + { + "name": "Events in Italy", + "url": "https://github.com/ildoc/awesome-italy-events", + "repo": "ildoc/awesome-italy-events", + "cate": "Events" + }, + { + "name": "Events in the Netherlands", + "url": "https://github.com/awkward/awesome-netherlands-events", + "repo": "awkward/awesome-netherlands-events", + "cate": "Events" + } + ], + "Testing": [ + { + "name": "Testing", + "url": "https://github.com/TheJambo/awesome-testing", + "repo": "TheJambo/awesome-testing", + "cate": "Testing" + }, + { + "name": "Visual Regression Testing", + "url": "https://github.com/mojoaxel/awesome-regression-testing", + "repo": "mojoaxel/awesome-regression-testing", + "cate": "Testing" + }, + { + "name": "Selenium", + "url": "https://github.com/christian-bromann/awesome-selenium", + "repo": "christian-bromann/awesome-selenium", + "cate": "Testing" + }, + { + "name": "Appium", + "url": "https://github.com/SrinivasanTarget/awesome-appium", + "repo": "SrinivasanTarget/awesome-appium", + "cate": "Testing" + }, + { + "name": "TAP", + "url": "https://github.com/sindresorhus/awesome-tap", + "repo": "sindresorhus/awesome-tap", + "cate": "Testing" + }, + { + "name": "JMeter", + "url": "https://github.com/aliesbelik/awesome-jmeter", + "repo": "aliesbelik/awesome-jmeter", + "cate": "Testing" + }, + { + "name": "k6", + "url": "https://github.com/grafana/awesome-k6", + "repo": "grafana/awesome-k6", + "cate": "Testing" + }, + { + "name": "Playwright", + "url": "https://github.com/mxschmitt/awesome-playwright", + "repo": "mxschmitt/awesome-playwright", + "cate": "Testing" + }, + { + "name": "Quality Assurance Roadmap", + "url": "https://github.com/fityanos/awesome-quality-assurance-roadmap", + "repo": "fityanos/awesome-quality-assurance-roadmap", + "cate": "Testing" + }, + { + "name": "Gatling", + "url": "https://github.com/aliesbelik/awesome-gatling", + "repo": "aliesbelik/awesome-gatling", + "cate": "Testing" + } + ], + "Miscellaneous": [ + { + "name": "JSON", + "url": "https://github.com/burningtree/awesome-json", + "repo": "burningtree/awesome-json", + "cate": "Miscellaneous" + }, + { + "name": "JSON - GeoJSON", + "url": "https://github.com/tmcw/awesome-geojson", + "repo": "tmcw/awesome-geojson", + "cate": "Miscellaneous" + }, + { + "name": "JSON - Datasets", + "url": "https://github.com/jdorfman/awesome-json-datasets", + "repo": "jdorfman/awesome-json-datasets", + "cate": "Miscellaneous" + }, + { + "name": "CSV", + "url": "https://github.com/secretGeek/awesomeCSV", + "repo": "secretGeek/awesomeCSV", + "cate": "Miscellaneous" + }, + { + "name": "Discounts for Student Developers", + "url": "https://github.com/AchoArnold/discount-for-student-dev", + "repo": "AchoArnold/discount-for-student-dev", + "cate": "Miscellaneous" + }, + { + "name": "Radio", + "url": "https://github.com/kyleterry/awesome-radio", + "repo": "kyleterry/awesome-radio", + "cate": "Miscellaneous" + }, + { + "name": "Awesome", + "url": "https://github.com/sindresorhus/awesome", + "repo": "sindresorhus/awesome", + "cate": "Miscellaneous" + }, + { + "name": "Analytics", + "url": "https://github.com/0xnr/awesome-analytics", + "repo": "0xnr/awesome-analytics", + "cate": "Miscellaneous" + }, + { + "name": "REST", + "url": "https://github.com/marmelab/awesome-rest", + "repo": "marmelab/awesome-rest", + "cate": "Miscellaneous" + }, + { + "name": "Continuous Integration and Continuous Delivery", + "url": "https://github.com/cicdops/awesome-ciandcd", + "repo": "cicdops/awesome-ciandcd", + "cate": "Miscellaneous" + }, + { + "name": "Services Engineering", + "url": "https://github.com/mmcgrana/services-engineering", + "repo": "mmcgrana/services-engineering", + "cate": "Miscellaneous" + }, + { + "name": "Free for Developers", + "url": "https://github.com/ripienaar/free-for-dev", + "repo": "ripienaar/free-for-dev", + "cate": "Miscellaneous" + }, + { + "name": "Answers", + "url": "https://github.com/cyberglot/awesome-answers", + "repo": "cyberglot/awesome-answers", + "cate": "Miscellaneous" + }, + { + "name": "Sketch", + "url": "https://github.com/diessica/awesome-sketch", + "repo": "diessica/awesome-sketch", + "cate": "Miscellaneous" + }, + { + "name": "Boilerplate Projects", + "url": "https://github.com/melvin0008/awesome-projects-boilerplates", + "repo": "melvin0008/awesome-projects-boilerplates", + "cate": "Miscellaneous" + }, + { + "name": "Readme", + "url": "https://github.com/matiassingers/awesome-readme", + "repo": "matiassingers/awesome-readme", + "cate": "Miscellaneous" + }, + { + "name": "Design and Development Guides", + "url": "https://github.com/NARKOZ/guides", + "repo": "NARKOZ/guides", + "cate": "Miscellaneous" + }, + { + "name": "Software Engineering Blogs", + "url": "https://github.com/kilimchoi/engineering-blogs", + "repo": "kilimchoi/engineering-blogs", + "cate": "Miscellaneous" + }, + { + "name": "Self Hosted", + "url": "https://github.com/awesome-selfhosted/awesome-selfhosted", + "repo": "awesome-selfhosted/awesome-selfhosted", + "cate": "Miscellaneous" + }, + { + "name": "FOSS Production Apps", + "url": "https://github.com/DataDaoDe/awesome-foss-apps", + "repo": "DataDaoDe/awesome-foss-apps", + "cate": "Miscellaneous" + }, + { + "name": "Gulp", + "url": "https://github.com/alferov/awesome-gulp", + "repo": "alferov/awesome-gulp", + "cate": "Miscellaneous" + }, + { + "name": "AMA", + "url": "https://github.com/sindresorhus/amas", + "repo": "sindresorhus/amas", + "cate": "Miscellaneous" + }, + { + "name": "AMA - Answers", + "url": "https://github.com/stoeffel/awesome-ama-answers", + "repo": "stoeffel/awesome-ama-answers", + "cate": "Miscellaneous" + }, + { + "name": "Open Source Photography", + "url": "https://github.com/ibaaj/awesome-OpenSourcePhotography", + "repo": "ibaaj/awesome-OpenSourcePhotography", + "cate": "Miscellaneous" + }, + { + "name": "OpenGL", + "url": "https://github.com/eug/awesome-opengl", + "repo": "eug/awesome-opengl", + "cate": "Miscellaneous" + }, + { + "name": "GraphQL", + "url": "https://github.com/chentsulin/awesome-graphql", + "repo": "chentsulin/awesome-graphql", + "cate": "Miscellaneous" + }, + { + "name": "Urban & Regional Planning", + "url": "https://github.com/APA-Technology-Division/urban-and-regional-planning-resources", + "repo": "APA-Technology-Division/urban-and-regional-planning-resources", + "cate": "Miscellaneous" + }, + { + "name": "Transit", + "url": "https://github.com/CUTR-at-USF/awesome-transit", + "repo": "CUTR-at-USF/awesome-transit", + "cate": "Miscellaneous" + }, + { + "name": "Research Tools", + "url": "https://github.com/emptymalei/awesome-research", + "repo": "emptymalei/awesome-research", + "cate": "Miscellaneous" + }, + { + "name": "Data Visualization", + "url": "https://github.com/javierluraschi/awesome-dataviz", + "repo": "javierluraschi/awesome-dataviz", + "cate": "Miscellaneous" + }, + { + "name": "Microservices", + "url": "https://github.com/mfornos/awesome-microservices", + "repo": "mfornos/awesome-microservices", + "cate": "Miscellaneous" + }, + { + "name": "Unicode", + "url": "https://github.com/jagracey/Awesome-Unicode", + "repo": "jagracey/Awesome-Unicode", + "cate": "Miscellaneous" + }, + { + "name": "Unicode - Code Points", + "url": "https://github.com/Codepoints/awesome-codepoints", + "repo": "Codepoints/awesome-codepoints", + "cate": "Miscellaneous" + }, + { + "name": "Beginner-Friendly Projects", + "url": "https://github.com/MunGell/awesome-for-beginners", + "repo": "MunGell/awesome-for-beginners", + "cate": "Miscellaneous" + }, + { + "name": "Katas", + "url": "https://github.com/gamontal/awesome-katas", + "repo": "gamontal/awesome-katas", + "cate": "Miscellaneous" + }, + { + "name": "Tools for Activism", + "url": "https://github.com/drewrwilson/toolsforactivism", + "repo": "drewrwilson/toolsforactivism", + "cate": "Miscellaneous" + }, + { + "name": "Citizen Science", + "url": "https://github.com/dylanrees/citizen-science", + "repo": "dylanrees/citizen-science", + "cate": "Miscellaneous" + }, + { + "name": "MQTT", + "url": "https://github.com/hobbyquaker/awesome-mqtt", + "repo": "hobbyquaker/awesome-mqtt", + "cate": "Miscellaneous" + }, + { + "name": "For Girls", + "url": "https://github.com/cristianoliveira/awesome4girls", + "repo": "cristianoliveira/awesome4girls", + "cate": "Miscellaneous" + }, + { + "name": "Vorpal", + "url": "https://github.com/vorpaljs/awesome-vorpal", + "repo": "vorpaljs/awesome-vorpal", + "cate": "Miscellaneous" + }, + { + "name": "Vulkan", + "url": "https://github.com/vinjn/awesome-vulkan", + "repo": "vinjn/awesome-vulkan", + "cate": "Miscellaneous" + }, + { + "name": "LaTeX", + "url": "https://github.com/egeerardyn/awesome-LaTeX", + "repo": "egeerardyn/awesome-LaTeX", + "cate": "Miscellaneous" + }, + { + "name": "Economics", + "url": "https://github.com/antontarasenko/awesome-economics", + "repo": "antontarasenko/awesome-economics", + "cate": "Miscellaneous" + }, + { + "name": "Funny Markov Chains", + "url": "https://github.com/sublimino/awesome-funny-markov", + "repo": "sublimino/awesome-funny-markov", + "cate": "Miscellaneous" + }, + { + "name": "Bioinformatics", + "url": "https://github.com/danielecook/Awesome-Bioinformatics", + "repo": "danielecook/Awesome-Bioinformatics", + "cate": "Miscellaneous" + }, + { + "name": "Cheminformatics", + "url": "https://github.com/hsiaoyi0504/awesome-cheminformatics", + "repo": "hsiaoyi0504/awesome-cheminformatics", + "cate": "Miscellaneous" + }, + { + "name": "Colorful", + "url": "https://github.com/Siddharth11/Colorful", + "repo": "Siddharth11/Colorful", + "cate": "Miscellaneous" + }, + { + "name": "Steam", + "url": "https://github.com/scholtzm/awesome-steam", + "repo": "scholtzm/awesome-steam", + "cate": "Miscellaneous" + }, + { + "name": "Bots", + "url": "https://github.com/hackerkid/bots", + "repo": "hackerkid/bots", + "cate": "Miscellaneous" + }, + { + "name": "Site Reliability Engineering", + "url": "https://github.com/dastergon/awesome-sre", + "repo": "dastergon/awesome-sre", + "cate": "Miscellaneous" + }, + { + "name": "Empathy in Engineering", + "url": "https://github.com/KimberlyMunoz/empathy-in-engineering", + "repo": "KimberlyMunoz/empathy-in-engineering", + "cate": "Miscellaneous" + }, + { + "name": "DTrace", + "url": "https://github.com/xen0l/awesome-dtrace", + "repo": "xen0l/awesome-dtrace", + "cate": "Miscellaneous" + }, + { + "name": "Userscripts", + "url": "https://github.com/bvolpato/awesome-userscripts", + "repo": "bvolpato/awesome-userscripts", + "cate": "Miscellaneous" + }, + { + "name": "Pokémon", + "url": "https://github.com/tobiasbueschel/awesome-pokemon", + "repo": "tobiasbueschel/awesome-pokemon", + "cate": "Miscellaneous" + }, + { + "name": "ChatOps", + "url": "https://github.com/exAspArk/awesome-chatops", + "repo": "exAspArk/awesome-chatops", + "cate": "Miscellaneous" + }, + { + "name": "Falsehood", + "url": "https://github.com/kdeldycke/awesome-falsehood", + "repo": "kdeldycke/awesome-falsehood", + "cate": "Miscellaneous" + }, + { + "name": "Domain-Driven Design", + "url": "https://github.com/heynickc/awesome-ddd", + "repo": "heynickc/awesome-ddd", + "cate": "Miscellaneous" + }, + { + "name": "Quantified Self", + "url": "https://github.com/woop/awesome-quantified-self", + "repo": "woop/awesome-quantified-self", + "cate": "Miscellaneous" + }, + { + "name": "SaltStack", + "url": "https://github.com/hbokh/awesome-saltstack", + "repo": "hbokh/awesome-saltstack", + "cate": "Miscellaneous" + }, + { + "name": "Web Design", + "url": "https://github.com/nicolesaidy/awesome-web-design", + "repo": "nicolesaidy/awesome-web-design", + "cate": "Miscellaneous" + }, + { + "name": "Creative Coding", + "url": "https://github.com/terkelg/awesome-creative-coding", + "repo": "terkelg/awesome-creative-coding", + "cate": "Miscellaneous" + }, + { + "name": "No-Login Web Apps", + "url": "https://github.com/aviaryan/awesome-no-login-web-apps", + "repo": "aviaryan/awesome-no-login-web-apps", + "cate": "Miscellaneous" + }, + { + "name": "Free Software", + "url": "https://github.com/johnjago/awesome-free-software", + "repo": "johnjago/awesome-free-software", + "cate": "Miscellaneous" + }, + { + "name": "Framer", + "url": "https://github.com/podo/awesome-framer", + "repo": "podo/awesome-framer", + "cate": "Miscellaneous" + }, + { + "name": "Markdown", + "url": "https://github.com/BubuAnabelas/awesome-markdown", + "repo": "BubuAnabelas/awesome-markdown", + "cate": "Miscellaneous" + }, + { + "name": "Dev Fun", + "url": "https://github.com/mislavcimpersak/awesome-dev-fun", + "repo": "mislavcimpersak/awesome-dev-fun", + "cate": "Miscellaneous" + }, + { + "name": "Healthcare", + "url": "https://github.com/kakoni/awesome-healthcare", + "repo": "kakoni/awesome-healthcare", + "cate": "Miscellaneous" + }, + { + "name": "Magento 2", + "url": "https://github.com/DavidLambauer/awesome-magento2", + "repo": "DavidLambauer/awesome-magento2", + "cate": "Miscellaneous" + }, + { + "name": "TikZ", + "url": "https://github.com/xiaohanyu/awesome-tikz", + "repo": "xiaohanyu/awesome-tikz", + "cate": "Miscellaneous" + }, + { + "name": "Neuroscience", + "url": "https://github.com/analyticalmonk/awesome-neuroscience", + "repo": "analyticalmonk/awesome-neuroscience", + "cate": "Miscellaneous" + }, + { + "name": "Ad-Free", + "url": "https://github.com/johnjago/awesome-ad-free", + "repo": "johnjago/awesome-ad-free", + "cate": "Miscellaneous" + }, + { + "name": "Esolangs", + "url": "https://github.com/angrykoala/awesome-esolangs", + "repo": "angrykoala/awesome-esolangs", + "cate": "Miscellaneous" + }, + { + "name": "Prometheus", + "url": "https://github.com/roaldnefs/awesome-prometheus", + "repo": "roaldnefs/awesome-prometheus", + "cate": "Miscellaneous" + }, + { + "name": "Homematic", + "url": "https://github.com/homematic-community/awesome-homematic", + "repo": "homematic-community/awesome-homematic", + "cate": "Miscellaneous" + }, + { + "name": "Ledger", + "url": "https://github.com/sfischer13/awesome-ledger", + "repo": "sfischer13/awesome-ledger", + "cate": "Miscellaneous" + }, + { + "name": "Web Monetization", + "url": "https://github.com/thomasbnt/awesome-web-monetization", + "repo": "thomasbnt/awesome-web-monetization", + "cate": "Miscellaneous" + }, + { + "name": "Uncopyright", + "url": "https://github.com/johnjago/awesome-uncopyright", + "repo": "johnjago/awesome-uncopyright", + "cate": "Miscellaneous" + }, + { + "name": "Crypto Currency Tools & Algorithms", + "url": "https://github.com/Zheaoli/awesome-coins", + "repo": "Zheaoli/awesome-coins", + "cate": "Miscellaneous" + }, + { + "name": "Diversity", + "url": "https://github.com/folkswhocode/awesome-diversity", + "repo": "folkswhocode/awesome-diversity", + "cate": "Miscellaneous" + }, + { + "name": "Open Source Supporters", + "url": "https://github.com/zachflower/awesome-open-source-supporters", + "repo": "zachflower/awesome-open-source-supporters", + "cate": "Miscellaneous" + }, + { + "name": "Design Principles", + "url": "https://github.com/robinstickel/awesome-design-principles", + "repo": "robinstickel/awesome-design-principles", + "cate": "Miscellaneous" + }, + { + "name": "Theravada", + "url": "https://github.com/johnjago/awesome-theravada", + "repo": "johnjago/awesome-theravada", + "cate": "Miscellaneous" + }, + { + "name": "inspectIT", + "url": "https://github.com/inspectit-labs/awesome-inspectit", + "repo": "inspectit-labs/awesome-inspectit", + "cate": "Miscellaneous" + }, + { + "name": "Open Source Maintainers", + "url": "https://github.com/nayafia/awesome-maintainers", + "repo": "nayafia/awesome-maintainers", + "cate": "Miscellaneous" + }, + { + "name": "Calculators", + "url": "https://github.com/xxczaki/awesome-calculators", + "repo": "xxczaki/awesome-calculators", + "cate": "Miscellaneous" + }, + { + "name": "Captcha", + "url": "https://github.com/ZYSzys/awesome-captcha", + "repo": "ZYSzys/awesome-captcha", + "cate": "Miscellaneous" + }, + { + "name": "Jupyter", + "url": "https://github.com/markusschanta/awesome-jupyter", + "repo": "markusschanta/awesome-jupyter", + "cate": "Miscellaneous" + }, + { + "name": "FIRST Robotics Competition", + "url": "https://github.com/andrewda/awesome-frc", + "repo": "andrewda/awesome-frc", + "cate": "Miscellaneous" + }, + { + "name": "Humane Technology", + "url": "https://github.com/humanetech-community/awesome-humane-tech", + "repo": "humanetech-community/awesome-humane-tech", + "cate": "Miscellaneous" + }, + { + "name": "Speakers", + "url": "https://github.com/karlhorky/awesome-speakers", + "repo": "karlhorky/awesome-speakers", + "cate": "Miscellaneous" + }, + { + "name": "Board Games", + "url": "https://github.com/edm00se/awesome-board-games", + "repo": "edm00se/awesome-board-games", + "cate": "Miscellaneous" + }, + { + "name": "Software Patreons", + "url": "https://github.com/uraimo/awesome-software-patreons", + "repo": "uraimo/awesome-software-patreons", + "cate": "Miscellaneous" + }, + { + "name": "Parasite", + "url": "https://github.com/ecohealthalliance/awesome-parasite", + "repo": "ecohealthalliance/awesome-parasite", + "cate": "Miscellaneous" + }, + { + "name": "Food", + "url": "https://github.com/jzarca01/awesome-food", + "repo": "jzarca01/awesome-food", + "cate": "Miscellaneous" + }, + { + "name": "Mental Health", + "url": "https://github.com/dreamingechoes/awesome-mental-health", + "repo": "dreamingechoes/awesome-mental-health", + "cate": "Miscellaneous" + }, + { + "name": "Bitcoin Payment Processors", + "url": "https://github.com/alexk111/awesome-bitcoin-payment-processors", + "repo": "alexk111/awesome-bitcoin-payment-processors", + "cate": "Miscellaneous" + }, + { + "name": "Scientific Computing", + "url": "https://github.com/nschloe/awesome-scientific-computing", + "repo": "nschloe/awesome-scientific-computing", + "cate": "Miscellaneous" + }, + { + "name": "Amazon Sellers", + "url": "https://github.com/ScaleLeap/awesome-amazon-seller", + "repo": "ScaleLeap/awesome-amazon-seller", + "cate": "Miscellaneous" + }, + { + "name": "Agriculture", + "url": "https://github.com/brycejohnston/awesome-agriculture", + "repo": "brycejohnston/awesome-agriculture", + "cate": "Miscellaneous" + }, + { + "name": "Product Design", + "url": "https://github.com/ttt30ga/awesome-product-design", + "repo": "ttt30ga/awesome-product-design", + "cate": "Miscellaneous" + }, + { + "name": "Prisma", + "url": "https://github.com/catalinmiron/awesome-prisma", + "repo": "catalinmiron/awesome-prisma", + "cate": "Miscellaneous" + }, + { + "name": "Software Architecture", + "url": "https://github.com/simskij/awesome-software-architecture", + "repo": "simskij/awesome-software-architecture", + "cate": "Miscellaneous" + }, + { + "name": "Connectivity Data and Reports", + "url": "https://github.com/stevesong/awesome-connectivity-info", + "repo": "stevesong/awesome-connectivity-info", + "cate": "Miscellaneous" + }, + { + "name": "Stacks", + "url": "https://github.com/stackshareio/awesome-stacks", + "repo": "stackshareio/awesome-stacks", + "cate": "Miscellaneous" + }, + { + "name": "Cytodata", + "url": "https://github.com/cytodata/awesome-cytodata", + "repo": "cytodata/awesome-cytodata", + "cate": "Miscellaneous" + }, + { + "name": "IRC", + "url": "https://github.com/davisonio/awesome-irc", + "repo": "davisonio/awesome-irc", + "cate": "Miscellaneous" + }, + { + "name": "Advertising", + "url": "https://github.com/cenoura/awesome-ads", + "repo": "cenoura/awesome-ads", + "cate": "Miscellaneous" + }, + { + "name": "Earth", + "url": "https://github.com/philsturgeon/awesome-earth", + "repo": "philsturgeon/awesome-earth", + "cate": "Miscellaneous" + }, + { + "name": "Naming", + "url": "https://github.com/gruhn/awesome-naming", + "repo": "gruhn/awesome-naming", + "cate": "Miscellaneous" + }, + { + "name": "Biomedical Information Extraction", + "url": "https://github.com/caufieldjh/awesome-bioie", + "repo": "caufieldjh/awesome-bioie", + "cate": "Miscellaneous" + }, + { + "name": "Web Archiving", + "url": "https://github.com/iipc/awesome-web-archiving", + "repo": "iipc/awesome-web-archiving", + "cate": "Miscellaneous" + }, + { + "name": "WP-CLI", + "url": "https://github.com/schlessera/awesome-wp-cli", + "repo": "schlessera/awesome-wp-cli", + "cate": "Miscellaneous" + }, + { + "name": "Credit Modeling", + "url": "https://github.com/mourarthur/awesome-credit-modeling", + "repo": "mourarthur/awesome-credit-modeling", + "cate": "Miscellaneous" + }, + { + "name": "Ansible", + "url": "https://github.com/ansible-community/awesome-ansible", + "repo": "ansible-community/awesome-ansible", + "cate": "Miscellaneous" + }, + { + "name": "Biological Visualizations", + "url": "https://github.com/keller-mark/awesome-biological-visualizations", + "repo": "keller-mark/awesome-biological-visualizations", + "cate": "Miscellaneous" + }, + { + "name": "QR Code", + "url": "https://github.com/make-github-pseudonymous-again/awesome-qr-code", + "repo": "make-github-pseudonymous-again/awesome-qr-code", + "cate": "Miscellaneous" + }, + { + "name": "Veganism", + "url": "https://github.com/sdassow/awesome-veganism", + "repo": "sdassow/awesome-veganism", + "cate": "Miscellaneous" + }, + { + "name": "Translations", + "url": "https://github.com/mbiesiad/awesome-translations", + "repo": "mbiesiad/awesome-translations", + "cate": "Miscellaneous" + }, + { + "name": "Scriptable", + "url": "https://github.com/dersvenhesse/awesome-scriptable", + "repo": "dersvenhesse/awesome-scriptable", + "cate": "Miscellaneous" + }, + { + "name": "WebXR", + "url": "https://github.com/msub2/awesome-webxr", + "repo": "msub2/awesome-webxr", + "cate": "Miscellaneous" + }, + { + "name": "OpenStreetMap", + "url": "https://github.com/osmlab/awesome-openstreetmap", + "repo": "osmlab/awesome-openstreetmap", + "cate": "Miscellaneous" + }, + { + "name": "Computational Biology", + "url": "https://github.com/inoue0426/awesome-computational-biology", + "repo": "inoue0426/awesome-computational-biology", + "cate": "Miscellaneous" + } + ], + "Related": [ + { + "name": "All Awesome Lists", + "url": "https://github.com/topics/awesome", + "repo": "topics/awesome", + "cate": "Related" + }, + { + "name": "Awesome Indexed", + "url": "https://awesome-indexed.mathew-davies.co.uk", + "repo": "undefined/undefined", + "cate": "Related" + }, + { + "name": "Awesome Search", + "url": "https://awesomelists.top", + "repo": "undefined/undefined", + "cate": "Related" + }, + { + "name": "StumbleUponAwesome", + "url": "https://github.com/basharovV/StumbleUponAwesome", + "repo": "basharovV/StumbleUponAwesome", + "cate": "Related" + }, + { + "name": "Awesome CLI", + "url": "https://github.com/umutphp/awesome-cli", + "repo": "umutphp/awesome-cli", + "cate": "Related" + }, + { + "name": "Awesome Viewer", + "url": "https://awesome.digitalbunker.dev", + "repo": "undefined/undefined", + "cate": "Related" + }, + { + "name": "Track Awesome List", + "url": "https://www.trackawesomelist.com", + "repo": "undefined/undefined", + "cate": "Related" + } + ] +} \ No newline at end of file diff --git a/storage/awesome2monge.ipynb b/storage/awesome2monge.ipynb new file mode 100644 index 0000000..38dbf8f --- /dev/null +++ b/storage/awesome2monge.ipynb @@ -0,0 +1,777 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nodejs\n", + "Nodejs - Cross-Platform\n", + "Frontend Development\n", + "iOS\n", + "Android\n", + "IoT & Hybrid Apps\n", + "Electron\n", + "Cordova\n", + "React Native\n", + "Xamarin\n", + "Linux\n", + "Linux - Containers\n", + "Linux - eBPF\n", + "Linux - Arch-based Projects\n", + "Linux - AppImage\n", + "macOS - Screensavers\n", + "macOS - Apps\n", + "macOS - Open Source Apps\n", + "watchOS\n", + "JVM\n", + "Salesforce\n", + "Amazon Web Services\n", + "Windows\n", + "IPFS\n", + "Fuse\n", + "Heroku\n", + "Raspberry Pi\n", + "Qt\n", + "WebExtensions\n", + "Smart TV\n", + "GNOME\n", + "KDE\n", + "NET\n", + "NET - Core\n", + "NET - Roslyn\n", + "Amazon Alexa\n", + "DigitalOcean\n", + "Flutter\n", + "Home Assistant\n", + "IBM Cloud\n", + "Firebase\n", + "Robot Operating System 20\n", + "Adafruit IO\n", + "Cloudflare\n", + "Actions on Google\n", + "ESP\n", + "Deno\n", + "DOS\n", + "Nix\n", + "Integration\n", + "Node-RED\n", + "Low Code\n", + "Capacitor\n", + "ArcGIS Developer\n", + "JavaScript\n", + "JavaScript - Promises\n", + "JavaScript - Standard Style\n", + "JavaScript - Must Watch Talks\n", + "JavaScript - Tips\n", + "JavaScript - Network Layer\n", + "JavaScript - Micro npm Packages\n", + "JavaScript - Mad Science npm Packages\n", + "JavaScript - Maintenance Modules\n", + "JavaScript - npm\n", + "JavaScript - AVA\n", + "JavaScript - ESLint\n", + "JavaScript - Functional Programming\n", + "JavaScript - Observables\n", + "JavaScript - npm scripts\n", + "JavaScript - 30 Seconds of Code\n", + "JavaScript - Ponyfills\n", + "Swift\n", + "Swift - Education\n", + "Swift - Playgrounds\n", + "Python\n", + "Python - Asyncio\n", + "Python - Scientific Audio\n", + "Python - CircuitPython\n", + "Python - Data Science\n", + "Python - Typing\n", + "Python - MicroPython\n", + "Rust\n", + "Haskell\n", + "PureScript\n", + "Go\n", + "Scala\n", + "Scala - Scala Native\n", + "Ruby\n", + "Clojure\n", + "ClojureScript\n", + "Elixir\n", + "Elm\n", + "Erlang\n", + "Julia\n", + "Lua\n", + "C\n", + "C/C++\n", + "R\n", + "R - Learning\n", + "D\n", + "Common Lisp\n", + "Common Lisp - Learning\n", + "Perl\n", + "Groovy\n", + "Dart\n", + "Java\n", + "Java - RxJava\n", + "Kotlin\n", + "OCaml\n", + "ColdFusion\n", + "Fortran\n", + "PHP\n", + "PHP - Composer\n", + "Pascal\n", + "AutoHotkey\n", + "AutoIt\n", + "Crystal\n", + "Frege\n", + "CMake\n", + "ActionScript 3\n", + "Eta\n", + "Idris\n", + "Ada/SPARK\n", + "Q#\n", + "Imba\n", + "Vala\n", + "Coq\n", + "V\n", + "Zig\n", + "ES6 Tools\n", + "Web Performance Optimization\n", + "Web Tools\n", + "CSS\n", + "CSS - Critical-Path Tools\n", + "CSS - Scalability\n", + "CSS - Must-Watch Talks\n", + "CSS - Protips\n", + "CSS - Frameworks\n", + "React\n", + "React - Relay\n", + "React - React Hooks\n", + "Web Components\n", + "Polymer\n", + "Angular\n", + "Backbone\n", + "HTML5\n", + "SVG\n", + "Canvas\n", + "KnockoutJS\n", + "Dojo Toolkit\n", + "Inspiration\n", + "Ember\n", + "Android UI\n", + "iOS UI\n", + "Meteor\n", + "BEM\n", + "Flexbox\n", + "Web Typography\n", + "Web Accessibility\n", + "Material Design\n", + "D3\n", + "Emails\n", + "jQuery\n", + "jQuery - Tips\n", + "Web Audio\n", + "Offline-First\n", + "Static Website Services\n", + "Cyclejs\n", + "Text Editing\n", + "Motion UI Design\n", + "Vuejs\n", + "Marionettejs\n", + "Aurelia\n", + "Charting\n", + "Ionic Framework 2\n", + "Chrome DevTools\n", + "PostCSS\n", + "Draftjs\n", + "Service Workers\n", + "Progressive Web Apps\n", + "choo\n", + "Redux\n", + "Browserify\n", + "Sass\n", + "Ant Design\n", + "Less\n", + "WebGL\n", + "Preact\n", + "Progressive Enhancement\n", + "Nextjs\n", + "lit\n", + "JAMstack\n", + "WordPress-Gatsby\n", + "Mobile Web Development\n", + "Storybook\n", + "Blazor\n", + "PageSpeed Metrics\n", + "Tailwind CSS\n", + "Seed\n", + "Web Performance Budget\n", + "Web Animation\n", + "Yew\n", + "Material-UI\n", + "Building Blocks for Web Apps\n", + "Svelte\n", + "Design systems\n", + "Inertiajs\n", + "MDBootstrap\n", + "Flask\n", + "Docker\n", + "Vagrant\n", + "Pyramid\n", + "Play1 Framework\n", + "CakePHP\n", + "Symfony\n", + "Symfony - Education\n", + "Laravel\n", + "Laravel - Education\n", + "Laravel - TALL Stack\n", + "Rails\n", + "Rails - Gems\n", + "Phalcon\n", + "Useful htaccess Snippets\n", + "nginx\n", + "Dropwizard\n", + "Kubernetes\n", + "Lumen\n", + "Serverless Framework\n", + "Apache Wicket\n", + "Vertx\n", + "Terraform\n", + "Vapor\n", + "Dash\n", + "FastAPI\n", + "CDK\n", + "IAM\n", + "Slim\n", + "Fiber\n", + "University Courses\n", + "Data Science\n", + "Data Science - Tutorials\n", + "Machine Learning\n", + "Machine Learning - Tutorials\n", + "Machine Learning - ML with Ruby\n", + "Machine Learning - Core ML Models\n", + "Machine Learning - H2O\n", + "Machine Learning - Software Engineering for Machine Learning\n", + "Machine Learning - AI in Finance\n", + "Machine Learning - JAX\n", + "Machine Learning - XAI\n", + "Speech and Natural Language Processing\n", + "Speech and Natural Language Processing - Spanish\n", + "Speech and Natural Language Processing - NLP with Ruby\n", + "Speech and Natural Language Processing - Question Answering\n", + "Speech and Natural Language Processing - Natural Language Generation\n", + "Linguistics\n", + "Cryptography\n", + "Cryptography - Papers\n", + "Computer Vision\n", + "Deep Learning\n", + "Deep Learning - TensorFlow\n", + "Deep Learning - TensorFlowjs\n", + "Deep Learning - TensorFlow Lite\n", + "Deep Learning - Papers\n", + "Deep Learning - Education\n", + "Deep Vision\n", + "Open Source Society University\n", + "Functional Programming\n", + "Empirical Software Engineering\n", + "Static Analysis & Code Quality\n", + "Information Retrieval\n", + "Quantum Computing\n", + "Theoretical Computer Science\n", + "Conversational AI\n", + "Big Data\n", + "Public Datasets\n", + "Hadoop\n", + "Data Engineering\n", + "Streaming\n", + "Apache Spark\n", + "Qlik\n", + "Splunk\n", + "Papers We Love\n", + "Talks\n", + "Algorithms\n", + "Algorithms - Education\n", + "Algorithm Visualizations\n", + "Artificial Intelligence\n", + "Search Engine Optimization\n", + "Competitive Programming\n", + "Math\n", + "Recursion Schemes\n", + "Audit Algorithms\n", + "AGI & CoCoSci\n", + "Free Programming Books\n", + "Go Books\n", + "R Books\n", + "Mind Expanding Books\n", + "Book Authoring\n", + "Elixir Books\n", + "Sublime Text\n", + "Vim\n", + "Neovim\n", + "Emacs\n", + "Atom\n", + "Visual Studio Code\n", + "Game Development\n", + "Game Talks\n", + "Godot\n", + "Open Source Games\n", + "Unity\n", + "Chess\n", + "LÖVE\n", + "PICO-8\n", + "Game Boy Development\n", + "Construct 2\n", + "Gideros\n", + "Minecraft\n", + "Game Datasets\n", + "Haxe Game Development\n", + "libGDX\n", + "PlayCanvas\n", + "Game Remakes\n", + "Flame\n", + "Discord Communities\n", + "CHIP-8\n", + "Games of Coding\n", + "Esports\n", + "Quick Look Plugins\n", + "Dev Env\n", + "Dotfiles\n", + "Shell\n", + "Fish\n", + "Command-Line Apps\n", + "ZSH Plugins\n", + "GitHub\n", + "GitHub - Browser Extensions\n", + "GitHub - Cheat Sheet\n", + "GitHub - Pinned Gists\n", + "Git Cheat Sheet & Git Flow\n", + "Git Tips\n", + "Git Add-ons\n", + "Git Hooks\n", + "SSH\n", + "FOSS for Developers\n", + "Hyper\n", + "PowerShell\n", + "Alfred Workflows\n", + "Terminals Are Sexy\n", + "GitHub Actions\n", + "Science Fiction\n", + "Fantasy\n", + "Podcasts\n", + "Email Newsletters\n", + "IT Quotes\n", + "Database\n", + "MySQL\n", + "SQLAlchemy\n", + "InfluxDB\n", + "Neo4j\n", + "MongoDB\n", + "RethinkDB\n", + "TinkerPop\n", + "PostgreSQL\n", + "CouchDB\n", + "HBase\n", + "NoSQL Guides\n", + "Database Tools\n", + "TypeDB\n", + "Cassandra\n", + "TDengine\n", + "Creative Commons Media\n", + "Fonts\n", + "Codeface\n", + "Stock Resources\n", + "GIF\n", + "Music\n", + "Open Source Documents\n", + "Audio Visualization\n", + "Broadcasting\n", + "Pixel Art\n", + "FFmpeg\n", + "Icons\n", + "Audiovisual\n", + "VLC\n", + "CLI Workshoppers\n", + "Learn to Program\n", + "Speaking\n", + "Tech Videos\n", + "Dive into Machine Learning\n", + "Computer History\n", + "Programming for Kids\n", + "Educational Games\n", + "JavaScript Learning\n", + "CSS Learning\n", + "Product Management\n", + "Roadmaps\n", + "YouTubers\n", + "Application Security\n", + "Security\n", + "CTF\n", + "Cyber Security University\n", + "Malware Analysis\n", + "Android Security\n", + "Hacking\n", + "Hacking Spots\n", + "Honeypots\n", + "Incident Response\n", + "Vehicle Security and Car Hacking\n", + "Web Security\n", + "Lockpicking\n", + "Cybersecurity Blue Team\n", + "Fuzzing\n", + "Embedded and IoT Security\n", + "GDPR\n", + "DevSecOps\n", + "Executable Packing\n", + "Malware Persistence\n", + "EVM Security\n", + "Umbraco\n", + "Refinery CMS\n", + "Wagtail\n", + "Textpattern\n", + "Drupal\n", + "Craft CMS\n", + "Sitecore\n", + "Silverstripe CMS\n", + "Directus\n", + "Plone\n", + "Robotics\n", + "Internet of Things\n", + "Electronics\n", + "Bluetooth Beacons\n", + "Electric Guitar Specifications\n", + "Plotters\n", + "Robotic Tooling\n", + "LIDAR\n", + "Open Hardware\n", + "Open Companies\n", + "Places to Post Your Startup\n", + "OKR Methodology\n", + "Leading and Managing\n", + "Indie\n", + "Tools of the Trade\n", + "Clean Tech\n", + "Wardley Maps\n", + "Social Enterprise\n", + "Engineering Team Management\n", + "Developer-First Products\n", + "Billing\n", + "Slack\n", + "Slack - Communities\n", + "Remote Jobs\n", + "Productivity\n", + "Niche Job Boards\n", + "Programming Interviews\n", + "Code Review\n", + "Creative Technology\n", + "Internships\n", + "Software-Defined Networking\n", + "Network Analysis\n", + "PCAPTools\n", + "Real-Time Communications\n", + "SNMP\n", + "Bitcoin\n", + "Ripple\n", + "Non-Financial Blockchain\n", + "Mastodon\n", + "Ethereum\n", + "Blockchain AI\n", + "EOSIO\n", + "Corda\n", + "Waves\n", + "Substrate\n", + "Golem\n", + "Stacks\n", + "Algorand\n", + "Computational Neuroscience\n", + "Digital History\n", + "Scientific Writing\n", + "Creative Tech Events\n", + "Events in Italy\n", + "Events in the Netherlands\n", + "Testing\n", + "Visual Regression Testing\n", + "Selenium\n", + "Appium\n", + "TAP\n", + "JMeter\n", + "k6\n", + "Playwright\n", + "Quality Assurance Roadmap\n", + "Gatling\n", + "JSON\n", + "JSON - GeoJSON\n", + "JSON - Datasets\n", + "CSV\n", + "Discounts for Student Developers\n", + "Radio\n", + "Awesome\n", + "{'name': 'Awesome', 'url': 'https://github.com/sindresorhus/awesome', 'repo': 'sindresorhus/awesome', 'cate': 'Miscellaneous'}\n", + "Analytics\n", + "REST\n", + "Continuous Integration and Continuous Delivery\n", + "Services Engineering\n", + "Free for Developers\n", + "Answers\n", + "Sketch\n", + "Boilerplate Projects\n", + "Readme\n", + "Design and Development Guides\n", + "Software Engineering Blogs\n", + "Self Hosted\n", + "FOSS Production Apps\n", + "Gulp\n", + "AMA\n", + "AMA - Answers\n", + "Open Source Photography\n", + "OpenGL\n", + "GraphQL\n", + "Urban & Regional Planning\n", + "Transit\n", + "Research Tools\n", + "Data Visualization\n", + "Microservices\n", + "Unicode\n", + "Unicode - Code Points\n", + "Beginner-Friendly Projects\n", + "Katas\n", + "Tools for Activism\n", + "Citizen Science\n", + "MQTT\n", + "For Girls\n", + "Vorpal\n", + "Vulkan\n", + "LaTeX\n", + "Economics\n", + "Funny Markov Chains\n", + "Bioinformatics\n", + "Cheminformatics\n", + "Colorful\n", + "Steam\n", + "Bots\n", + "Site Reliability Engineering\n", + "Empathy in Engineering\n", + "DTrace\n", + "Userscripts\n", + "Pokémon\n", + "ChatOps\n", + "Falsehood\n", + "Domain-Driven Design\n", + "Quantified Self\n", + "SaltStack\n", + "Web Design\n", + "Creative Coding\n", + "No-Login Web Apps\n", + "Free Software\n", + "Framer\n", + "Markdown\n", + "Dev Fun\n", + "Healthcare\n", + "Magento 2\n", + "TikZ\n", + "Neuroscience\n", + "Ad-Free\n", + "Esolangs\n", + "Prometheus\n", + "Homematic\n", + "Ledger\n", + "Web Monetization\n", + "Uncopyright\n", + "Crypto Currency Tools & Algorithms\n", + "Diversity\n", + "Open Source Supporters\n", + "Design Principles\n", + "Theravada\n", + "inspectIT\n", + "Open Source Maintainers\n", + "Calculators\n", + "Captcha\n", + "Jupyter\n", + "FIRST Robotics Competition\n", + "Humane Technology\n", + "Speakers\n", + "Board Games\n", + "Software Patreons\n", + "Parasite\n", + "Food\n", + "Mental Health\n", + "Bitcoin Payment Processors\n", + "Scientific Computing\n", + "Amazon Sellers\n", + "Agriculture\n", + "Product Design\n", + "Prisma\n", + "Software Architecture\n", + "Connectivity Data and Reports\n", + "Stacks\n", + "Cytodata\n", + "IRC\n", + "Advertising\n", + "Earth\n", + "Naming\n", + "Biomedical Information Extraction\n", + "Web Archiving\n", + "WP-CLI\n", + "Credit Modeling\n", + "Ansible\n", + "Biological Visualizations\n", + "QR Code\n", + "Veganism\n", + "Translations\n", + "Scriptable\n", + "WebXR\n", + "OpenStreetMap\n", + "Computational Biology\n", + "All Awesome Lists\n", + "{'name': 'All Awesome Lists', 'url': 'https://github.com/topics/awesome', 'repo': 'topics/awesome', 'cate': 'Related'}\n", + "Awesome Indexed\n", + "{'name': 'Awesome Indexed', 'url': 'https://awesome-indexed.mathew-davies.co.uk', 'repo': 'undefined/undefined', 'cate': 'Related'}\n", + "Awesome Search\n", + "{'name': 'Awesome Search', 'url': 'https://awesomelists.top', 'repo': 'undefined/undefined', 'cate': 'Related'}\n", + "StumbleUponAwesome\n", + "Awesome CLI\n", + "Awesome Viewer\n", + "{'name': 'Awesome Viewer', 'url': 'https://awesome.digitalbunker.dev', 'repo': 'undefined/undefined', 'cate': 'Related'}\n", + "Track Awesome List\n", + "{'name': 'Track Awesome List', 'url': 'https://www.trackawesomelist.com', 'repo': 'undefined/undefined', 'cate': 'Related'}\n" + ] + } + ], + "source": [ + "import json\n", + "import pprint\n", + "import requests\n", + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\n", + " \"mongodb://user:pass@192.168.1.101:27017\")\n", + "# DB\n", + "\n", + "data = requests.get(\n", + " \"https://raw.githubusercontent.com/lockys/Awesome.json/master/awesome/awesome.json?ref=master\",\n", + " headers={\"Accept\": \"application/vnd.github.v3+json\"},\n", + ")\n", + "#\n", + "\n", + "repos = data.json()\n", + "\n", + "for x in repos.values():\n", + " for z in x:\n", + " try:\n", + " string = z['repo']\n", + "# if len(z['name']) > 0:\n", + "# title = z['name']\n", + "# else:\n", + "# title = \"none\"\n", + "# # print(count)\n", + " title = z['name']\n", + " title = title.replace(\".\", \"\")\n", + " link = string.replace(\"/\", \"-\")\n", + "\n", + " mydb = myclient[\"awesome-lists\"]\n", + " mycol = mydb[title]\n", + "\n", + " one_list = requests.get(\n", + " \"https://raw.githubusercontent.com/lockys/awesome.json/master/repo-json/\"\n", + " + link + \".json\",\n", + " headers={\"Accept\": \"application/vnd.github.v3+json\"},\n", + " )\n", + " print(title)\n", + " for x in one_list.json():\n", + " try:\n", + " mydict = x\n", + "\n", + "# pprint.pprint(mydict)\n", + "\n", + " new = mycol.insert_one(mydict)\n", + "\n", + " # print(new.inserted_id)\n", + " except:\n", + " print(x)\n", + " except ValueError as error:\n", + " print(z)\n", + "# print(\"invalid json: %s\" % error)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "63136ab944dfc9e0de996f01\n", + "['test']\n" + ] + } + ], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://user:pass@192.168.1.101:27017\")\n", + "# DB\n", + "\n", + "mydb = myclient[\"awesome-lists\"]\n", + "\n", + "# Collectinon\n", + "\n", + "mycol = mydb[\"test\"]\n", + "\n", + "mydict = {\"name\": \"Peter\", \"address\": \"Lowstreet 27\"}\n", + "\n", + "x = mycol.insert_one(mydict)\n", + "\n", + "print(x.inserted_id)\n", + "\n", + "print(mydb.list_collection_names())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install pymongo" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/storage/minio.ipynb b/storage/minio.ipynb index 1ad1cf9..03698ba 100644 --- a/storage/minio.ipynb +++ b/storage/minio.ipynb @@ -43,11 +43,31 @@ } ], "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" }, - "orig_nbformat": 4 + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/storage/mongo.ipynb b/storage/mongo.ipynb new file mode 100644 index 0000000..6a10e8d --- /dev/null +++ b/storage/mongo.ipynb @@ -0,0 +1,241 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 9, + "id": "22005864-a267-4819-b083-935a85452b39", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pymongo in /opt/conda/lib/python3.10/site-packages (4.2.0)\n" + ] + } + ], + "source": [ + "!pip install pymongo" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "d1690099-dbf9-4d75-946c-c556c13ec34d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "630855c7014e9a17ccd6bd03\n", + "['customers']\n" + ] + } + ], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://user:pass@mongo:27017\")\n", + "# DB\n", + "\n", + "mydb = myclient[\"mydatabase\"]\n", + "\n", + "# Collectino\n", + "\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "mydict = { \"name\": \"Peter\", \"address\": \"Lowstreet 27\" }\n", + "\n", + "x = mycol.insert_one(mydict)\n", + "\n", + "print(x.inserted_id)\n", + "\n", + "print(mydb.list_collection_names())" + ] + }, + { + "cell_type": "markdown", + "id": "d97181c9-08bb-47c0-a8a3-50f8ea878a15", + "metadata": {}, + "source": [ + "# hjhj" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "54535d13-e279-44bc-bd9d-52d14cb550fb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[]\n" + ] + } + ], + "source": [ + "# DB\n", + "\n", + "mydb = myclient[\"mydatabase\"]\n", + "\n", + "# Collectino\n", + "\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "print(mydb.list_collection_names())" + ] + }, + { + "cell_type": "markdown", + "id": "7b7a6e52-4de9-4f6d-91b4-b3716baba323", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ed477f1-9044-498c-9d3e-5021df5bdc93", + "metadata": {}, + "outputs": [], + "source": [ + "mydict = { \"name\": \"Peter\", \"address\": \"Lowstreet 27\" }\n", + "\n", + "x = mycol.insert_one(mydict)\n", + "\n", + "print(x.inserted_id)" + ] + }, + { + "cell_type": "markdown", + "id": "efb52832-dc7d-4e4c-b70c-d29b923f02db", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "430085cf-e0b4-4a12-b382-90f9351e5490", + "metadata": {}, + "outputs": [], + "source": [ + "mylist = [\n", + " { \"_id\": 1, \"name\": \"John\", \"address\": \"Highway 37\"},\n", + " { \"_id\": 2, \"name\": \"Peter\", \"address\": \"Lowstreet 27\"},\n", + " { \"_id\": 3, \"name\": \"Amy\", \"address\": \"Apple st 652\"},\n", + " { \"_id\": 4, \"name\": \"Hannah\", \"address\": \"Mountain 21\"},\n", + " { \"_id\": 5, \"name\": \"Michael\", \"address\": \"Valley 345\"},\n", + " { \"_id\": 6, \"name\": \"Sandy\", \"address\": \"Ocean blvd 2\"},\n", + " { \"_id\": 7, \"name\": \"Betty\", \"address\": \"Green Grass 1\"},\n", + " { \"_id\": 8, \"name\": \"Richard\", \"address\": \"Sky st 331\"},\n", + " { \"_id\": 9, \"name\": \"Susan\", \"address\": \"One way 98\"},\n", + " { \"_id\": 10, \"name\": \"Vicky\", \"address\": \"Yellow Garden 2\"},\n", + " { \"_id\": 11, \"name\": \"Ben\", \"address\": \"Park Lane 38\"},\n", + " { \"_id\": 12, \"name\": \"William\", \"address\": \"Central st 954\"},\n", + " { \"_id\": 13, \"name\": \"Chuck\", \"address\": \"Main Road 989\"},\n", + " { \"_id\": 14, \"name\": \"Viola\", \"address\": \"Sideway 1633\"}\n", + "]\n", + "\n", + "x = mycol.insert_many(mylist)\n", + "\n", + "#print list of the _id values of the inserted documents:\n", + "print(x.inserted_ids)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a107bb3-0a12-4000-98b0-ac72b0b07731", + "metadata": {}, + "outputs": [], + "source": [ + "myquery = { \"address\": \"Park Lane 38\" }\n", + "\n", + "mydoc = mycol.find(myquery)\n", + "\n", + "for x in mydoc:\n", + " print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "191814c5-990e-4c30-9c5f-363fc479e734", + "metadata": {}, + "outputs": [], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://localhost:27017/\")\n", + "mydb = myclient[\"mydatabase\"]\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "myquery = { \"address\": \"Mountain 21\" }\n", + "\n", + "mycol.delete_one(myquery)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "024256e0-4c13-4820-812b-c9cb7d7ff53b", + "metadata": {}, + "outputs": [], + "source": [ + "mycol.drop()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62487b99-8edc-4179-a33b-28a0536afd1e", + "metadata": {}, + "outputs": [], + "source": [ + "import pymongo\n", + "\n", + "myclient = pymongo.MongoClient(\"mongodb://localhost:27017/\")\n", + "mydb = myclient[\"mydatabase\"]\n", + "mycol = mydb[\"customers\"]\n", + "\n", + "for x in mycol.find({},{ \"_id\": 0, \"name\": 1, \"address\": 1 }):\n", + " print(x)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/storage/new-workspace.json b/storage/new-workspace.json new file mode 100644 index 0000000..17d5d75 --- /dev/null +++ b/storage/new-workspace.json @@ -0,0 +1,96 @@ +{ + "data": { + "layout-restorer:data": { + "main": { + "dock": { + "type": "tab-area", + "currentIndex": 2, + "widgets": [ + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Container Inventory to Directus.ipynb", + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Homebrew Inventory to Directusa.ipynb", + "notebook:projects/secrets/jupyter-notebooks/storage/Untitled.ipynb", + "help-doc:https://docs.python.org/3.10", + "setting-editor:setting-editor", + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Inventories to wiki.ipynb", + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Directus query.ipynb" + ] + }, + "current": "setting-editor:setting-editor" + }, + "down": { "size": 0, "widgets": [] }, + "left": { + "collapsed": false, + "current": "filebrowser", + "widgets": [ + "filebrowser", + "running-sessions", + "git-sessions", + "@jupyterlab/toc:plugin", + "extensionmanager.main-view" + ] + }, + "right": { + "collapsed": true, + "widgets": ["jp-property-inspector", "debugger-sidebar"] + }, + "relativeSizes": [0.33482089182629515, 0.6651791081737048, 0] + }, + "setting-editor:setting-editor": { "data": {} }, + "file-browser-filebrowser:cwd": { + "path": "projects/secrets/jupyter-notebooks/storage" + }, + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Container Inventory to Directus.ipynb": { + "data": { + "path": "projects/secrets/jupyter-notebooks/data_transfer/Add Container Inventory to Directus.ipynb", + "factory": "Notebook" + } + }, + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Homebrew Inventory to Directusa.ipynb": { + "data": { + "path": "projects/secrets/jupyter-notebooks/data_transfer/Add Homebrew Inventory to Directusa.ipynb", + "factory": "Notebook" + } + }, + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Add Inventories to wiki.ipynb": { + "data": { + "path": "projects/secrets/jupyter-notebooks/data_transfer/Add Inventories to wiki.ipynb", + "factory": "Notebook" + } + }, + "notebook:projects/secrets/jupyter-notebooks/data_transfer/Directus query.ipynb": { + "data": { + "path": "projects/secrets/jupyter-notebooks/data_transfer/Directus query.ipynb", + "factory": "Notebook" + } + }, + "notebook:projects/secrets/jupyter-notebooks/storage/Untitled.ipynb": { + "data": { + "path": "projects/secrets/jupyter-notebooks/storage/Untitled.ipynb", + "factory": "Notebook" + } + }, + "help-doc:https://docs.python.org/3.10": { + "data": { + "url": "https://docs.python.org/3.10", + "text": "Python Reference" + } + }, + "help-doc:https://jupyter.org/documentation": { + "data": { + "url": "https://jupyter.org/documentation", + "text": "Jupyter Reference" + } + }, + "help-doc:https://jupyterlab.readthedocs.io/en/3.4.x/": { + "data": { + "url": "https://jupyterlab.readthedocs.io/en/3.4.x/", + "text": "JupyterLab Reference" + } + } + }, + "metadata": { + "id": "new-workspace", + "last_modified": "2022-08-26T06:51:28.885170+00:00", + "created": "2022-08-26T06:51:28.885170+00:00" + } +} diff --git a/templating/Dashmachine Config Template.ipynb b/templating/Dashmachine Config Template.ipynb index 32abcb5..c30233a 100644 --- a/templating/Dashmachine Config Template.ipynb +++ b/templating/Dashmachine Config Template.ipynb @@ -126,25 +126,13 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "ad3a0cde-8e53-403d-bbb6-6fc95c392093", "metadata": { "scrolled": true, "tags": [] }, - "outputs": [ - { - "ename": "KeyError", - "evalue": "'data'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/home/donaldrich/projects/secrets/jupyter-notebooks/templating/Dashmachine Config Template.ipynb Cell 3\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 11\u001b[0m response \u001b[39m=\u001b[39m requests\u001b[39m.\u001b[39mget(\n\u001b[1;32m 12\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mhttps://cms.donavanaldrich.com/items/containers\u001b[39m\u001b[39m\"\u001b[39m, headers\u001b[39m=\u001b[39mheaders\n\u001b[1;32m 13\u001b[0m )\n\u001b[1;32m 14\u001b[0m data \u001b[39m=\u001b[39m response\u001b[39m.\u001b[39mjson()\n\u001b[0;32m---> 16\u001b[0m items \u001b[39m=\u001b[39m data[\u001b[39m\"\u001b[39;49m\u001b[39mdata\u001b[39;49m\u001b[39m\"\u001b[39;49m]\n", - "\u001b[0;31mKeyError\u001b[0m: 'data'" - ] - } - ], + "outputs": [], "source": [ "import json\n", "import os\n", @@ -171,7 +159,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "3fc3ac9f-22bf-495b-9a23-214219d04543", "metadata": { "scrolled": true, @@ -212,95 +200,10 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "id": "147949bd-d0a7-4ebc-af12-b21d3d8fa0b3", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[{'service': 'active_workflow', 'url': 'workflow.donavanaldrich.com'},\n", - " {'service': 'alertmanager', 'url': 'alertmanager.donavanaldrich.com'},\n", - " {'service': 'ansible', 'url': 'ansible.donavanaldrich.com'},\n", - " {'service': 'apprise', 'url': 'notify.donavanaldrich.com'},\n", - " {'service': 'authelia', 'url': 'authelia.donavanaldrich.com'},\n", - " {'service': 'bitwarden2', 'url': 'password.donavanaldrich.com'},\n", - " {'service': 'blackbox', 'url': 'blackbox.donavanaldrich.com'},\n", - " {'service': 'browserless', 'url': 'browserless.donavanaldrich.com'},\n", - " {'service': 'cachet', 'url': 'cachet.donavanaldrich.com'},\n", - " {'service': 'caddy', 'url': 'caddy.donavanaldrich.com'},\n", - " {'service': 'chronograf', 'url': 'chronograf.donavanaldrich.com'},\n", - " {'service': 'cloudflare', 'url': 'cloudflare.donavanaldrich.com'},\n", - " {'service': 'cron', 'url': 'cron.donavanaldrich.com'},\n", - " {'service': 'cronicle', 'url': 'cronicle.donavanaldrich.com'},\n", - " {'service': 'cyberchef', 'url': 'cyberchef.donavanaldrich.com'},\n", - " {'service': 'dashmachine', 'url': 'menu.donavanaldrich.com'},\n", - " {'service': 'directus', 'url': 'cms.donavanaldrich.com'},\n", - " {'service': 'dozzle', 'url': 'dozzle.donavanaldrich.com'},\n", - " {'service': 'elastichq', 'url': 'elastic.donavanaldrich.com'},\n", - " {'service': 'gatus', 'url': 'gatus.donavanaldrich.com'},\n", - " {'service': 'grafana', 'url': 'grafana.donavanaldrich.com'},\n", - " {'service': 'hass-configurator', 'url': 'home-config.donavanaldrich.com'},\n", - " {'service': 'healthcheck', 'url': 'health.donavanaldrich.com'},\n", - " {'service': 'homeassistant', 'url': 'home.donavanaldrich.com'},\n", - " {'service': 'homebridge', 'url': 'homebridge.donavanaldrich.com'},\n", - " {'service': 'homer', 'url': 'homer.donavanaldrich.com'},\n", - " {'service': 'huginn', 'url': 'huginn.donavanaldrich.com'},\n", - " {'service': 'influx', 'url': 'influx.donavanaldrich.com'},\n", - " {'service': 'jackett', 'url': 'jackett.donavanaldrich.com'},\n", - " {'service': 'jupyter', 'url': 'jupyter.donavanaldrich.com'},\n", - " {'service': 'kong', 'url': 'api.donavanaldrich.com'},\n", - " {'service': 'kong', 'url': 'kong.donavanaldrich.com'},\n", - " {'service': 'konga', 'url': 'konga.donavanaldrich.com'},\n", - " {'service': 'lidarr', 'url': 'lidarr.donavanaldrich.com'},\n", - " {'service': 'linkace', 'url': 'bookmarks.donavanaldrich.com'},\n", - " {'service': 'mattermost', 'url': 'chat.donavanaldrich.com'},\n", - " {'service': 'metabase', 'url': 'analytics.donavanaldrich.com'},\n", - " {'service': 'minio', 'url': 'minio.donavanaldrich.com'},\n", - " {'service': 'monica', 'url': 'monica.donavanaldrich.com'},\n", - " {'service': 'netdata', 'url': 'netdata.donavanaldrich.com'},\n", - " {'service': 'nextcloud', 'url': 'cloud.donavanaldrich.com'},\n", - " {'service': 'nodejs-dev', 'url': 'dev.donavanaldrich.com'},\n", - " {'service': 'nodejs', 'url': 'node.donavanaldrich.com'},\n", - " {'service': 'nodered', 'url': 'nodered.donavanaldrich.com'},\n", - " {'service': 'opsdroid', 'url': 'droid.donavanaldrich.com'},\n", - " {'service': 'overseerr', 'url': 'media.donavanaldrich.com'},\n", - " {'service': 'paperless', 'url': 'docs.donavanaldrich.com'},\n", - " {'service': 'pdf-rendering-srv', 'url': 'pdf-render.donavanaldrich.com'},\n", - " {'service': 'pgadmin', 'url': 'pgadmin.donavanaldrich.com'},\n", - " {'service': 'pgweb', 'url': 'pgweb.donavanaldrich.com'},\n", - " {'service': 'phpmyadmin', 'url': 'mysql.donavanaldrich.com'},\n", - " {'service': 'pihole', 'url': 'pihole.donavanaldrich.com'},\n", - " {'service': 'plex', 'url': 'plex.donavanaldrich.com'},\n", - " {'service': 'portainer', 'url': 'portainer.donavanaldrich.com'},\n", - " {'service': 'prometheus', 'url': 'prometheus.donavanaldrich.com'},\n", - " {'service': 'promtail', 'url': 'promtail.donavanaldrich.com'},\n", - " {'service': 'proxmox', 'url': 'proxmox.donavanaldrich.com'},\n", - " {'service': 'pushgateway', 'url': 'pushgateway.donavanaldrich.com'},\n", - " {'service': 'pyload', 'url': 'pyload.donavanaldrich.com'},\n", - " {'service': 'radarr', 'url': 'radarr.donavanaldrich.com'},\n", - " {'service': 'redis', 'url': 'redis.donavanaldrich.com'},\n", - " {'service': 'request-baskets', 'url': 'requests.donavanaldrich.com'},\n", - " {'service': 'requestrr', 'url': 'requestrr.donavanaldrich.com'},\n", - " {'service': 'router', 'url': 'router.donavanaldrich.com'},\n", - " {'service': 'script-server', 'url': 'script.donavanaldrich.com'},\n", - " {'service': 'scrutiny', 'url': 'disk.donavanaldrich.com'},\n", - " {'service': 'snmp', 'url': 'snmp.donavanaldrich.com'},\n", - " {'service': 'sonarr', 'url': 'sonarr.donavanaldrich.com'},\n", - " {'service': 'speedtest', 'url': 'speedtest.donavanaldrich.com'},\n", - " {'service': 'splash', 'url': 'splash.donavanaldrich.com'},\n", - " {'service': 'sshwifty', 'url': 'ssh.donavanaldrich.com'},\n", - " {'service': 'swagger-editor', 'url': 'swagger.donavanaldrich.com'},\n", - " {'service': 'api@internal', 'url': 'traefik.donavanaldrich.com'},\n", - " {'service': 'transmission', 'url': 'transmission.donavanaldrich.com'},\n", - " {'service': 'ubooquity-admin', 'url': 'books.donavanaldrich.com'},\n", - " {'service': 'vault', 'url': 'vault.donavanaldrich.com'},\n", - " {'service': 'vpn', 'url': 'vpn.donavanaldrich.com'},\n", - " {'service': 'vscode', 'url': 'code.donavanaldrich.com'}]\n" - ] - } - ], + "outputs": [], "source": [ "deduplicated_list = []\n", "deduped_keys = list()\n", @@ -315,1206 +218,10 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "id": "fc0c7be4-acdb-4468-9428-c15f682b4c1e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "('\\n'\n", - " '[Settings]\\n'\n", - " 'theme = dark\\n'\n", - " 'accent = purple\\n'\n", - " 'background = None\\n'\n", - " 'roles = admin,user,public_user\\n'\n", - " 'home_access_groups = admin_only\\n'\n", - " 'settings_access_groups = admin_only\\n'\n", - " 'custom_app_title = DashMachine\\n'\n", - " 'sidebar_default = open\\n'\n", - " 'tags = {\"name\": \"foo\", \"icon\": \"home\", \"sort_pos\": \"2\"}\\n'\n", - " '\\n'\n", - " '[admin]\\n'\n", - " 'role = admin\\n'\n", - " 'password = 69\\n'\n", - " 'confirm_password = ibanez69\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[active_workflow]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = workflow.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/active_workflow.png\\n'\n", - " 'sidebar_icon = static/images/apps/active_workflow.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[alertmanager]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = alertmanager.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/alertmanager.png\\n'\n", - " 'sidebar_icon = static/images/apps/alertmanager.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[ansible]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = ansible.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/ansible.png\\n'\n", - " 'sidebar_icon = static/images/apps/ansible.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[apprise]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = notify.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/apprise.png\\n'\n", - " 'sidebar_icon = static/images/apps/apprise.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[authelia]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = authelia.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/authelia.png\\n'\n", - " 'sidebar_icon = static/images/apps/authelia.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[bitwarden2]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = password.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/bitwarden2.png\\n'\n", - " 'sidebar_icon = static/images/apps/bitwarden2.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[blackbox]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = blackbox.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/blackbox.png\\n'\n", - " 'sidebar_icon = static/images/apps/blackbox.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[browserless]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = browserless.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/browserless.png\\n'\n", - " 'sidebar_icon = static/images/apps/browserless.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[cachet]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = cachet.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/cachet.png\\n'\n", - " 'sidebar_icon = static/images/apps/cachet.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[caddy]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = caddy.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/caddy.png\\n'\n", - " 'sidebar_icon = static/images/apps/caddy.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[chronograf]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = chronograf.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/chronograf.png\\n'\n", - " 'sidebar_icon = static/images/apps/chronograf.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[cloudflare]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = cloudflare.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/cloudflare.png\\n'\n", - " 'sidebar_icon = static/images/apps/cloudflare.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[cron]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = cron.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/cron.png\\n'\n", - " 'sidebar_icon = static/images/apps/cron.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[cronicle]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = cronicle.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/cronicle.png\\n'\n", - " 'sidebar_icon = static/images/apps/cronicle.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[cyberchef]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = cyberchef.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/cyberchef.png\\n'\n", - " 'sidebar_icon = static/images/apps/cyberchef.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[dashmachine]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = menu.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/dashmachine.png\\n'\n", - " 'sidebar_icon = static/images/apps/dashmachine.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[directus]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = cms.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/directus.png\\n'\n", - " 'sidebar_icon = static/images/apps/directus.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[dozzle]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = dozzle.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/dozzle.png\\n'\n", - " 'sidebar_icon = static/images/apps/dozzle.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[elastichq]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = elastic.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/elastichq.png\\n'\n", - " 'sidebar_icon = static/images/apps/elastichq.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[gatus]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = gatus.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/gatus.png\\n'\n", - " 'sidebar_icon = static/images/apps/gatus.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[grafana]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = grafana.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/grafana.png\\n'\n", - " 'sidebar_icon = static/images/apps/grafana.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[hass-configurator]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = home-config.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/hass-configurator.png\\n'\n", - " 'sidebar_icon = static/images/apps/hass-configurator.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[healthcheck]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = health.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/healthcheck.png\\n'\n", - " 'sidebar_icon = static/images/apps/healthcheck.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[homeassistant]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = home.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/homeassistant.png\\n'\n", - " 'sidebar_icon = static/images/apps/homeassistant.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[homebridge]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = homebridge.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/homebridge.png\\n'\n", - " 'sidebar_icon = static/images/apps/homebridge.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[homer]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = homer.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/homer.png\\n'\n", - " 'sidebar_icon = static/images/apps/homer.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[huginn]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = huginn.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/huginn.png\\n'\n", - " 'sidebar_icon = static/images/apps/huginn.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[influx]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = influx.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/influx.png\\n'\n", - " 'sidebar_icon = static/images/apps/influx.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[jackett]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = jackett.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/jackett.png\\n'\n", - " 'sidebar_icon = static/images/apps/jackett.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[jupyter]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = jupyter.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/jupyter.png\\n'\n", - " 'sidebar_icon = static/images/apps/jupyter.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[kong]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = api.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/kong.png\\n'\n", - " 'sidebar_icon = static/images/apps/kong.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[kong]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = kong.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/kong.png\\n'\n", - " 'sidebar_icon = static/images/apps/kong.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[konga]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = konga.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/konga.png\\n'\n", - " 'sidebar_icon = static/images/apps/konga.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[lidarr]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = lidarr.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/lidarr.png\\n'\n", - " 'sidebar_icon = static/images/apps/lidarr.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[linkace]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = bookmarks.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/linkace.png\\n'\n", - " 'sidebar_icon = static/images/apps/linkace.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[mattermost]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = chat.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/mattermost.png\\n'\n", - " 'sidebar_icon = static/images/apps/mattermost.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[metabase]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = analytics.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/metabase.png\\n'\n", - " 'sidebar_icon = static/images/apps/metabase.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[minio]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = minio.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/minio.png\\n'\n", - " 'sidebar_icon = static/images/apps/minio.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[monica]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = monica.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/monica.png\\n'\n", - " 'sidebar_icon = static/images/apps/monica.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[netdata]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = netdata.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/netdata.png\\n'\n", - " 'sidebar_icon = static/images/apps/netdata.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[nextcloud]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = cloud.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/nextcloud.png\\n'\n", - " 'sidebar_icon = static/images/apps/nextcloud.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[nodejs-dev]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = dev.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/nodejs-dev.png\\n'\n", - " 'sidebar_icon = static/images/apps/nodejs-dev.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[nodejs]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = node.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/nodejs.png\\n'\n", - " 'sidebar_icon = static/images/apps/nodejs.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[nodered]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = nodered.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/nodered.png\\n'\n", - " 'sidebar_icon = static/images/apps/nodered.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[opsdroid]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = droid.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/opsdroid.png\\n'\n", - " 'sidebar_icon = static/images/apps/opsdroid.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[overseerr]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = media.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/overseerr.png\\n'\n", - " 'sidebar_icon = static/images/apps/overseerr.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[paperless]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = docs.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/paperless.png\\n'\n", - " 'sidebar_icon = static/images/apps/paperless.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[pdf-rendering-srv]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = pdf-render.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/pdf-rendering-srv.png\\n'\n", - " 'sidebar_icon = static/images/apps/pdf-rendering-srv.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[pgadmin]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = pgadmin.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/pgadmin.png\\n'\n", - " 'sidebar_icon = static/images/apps/pgadmin.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[pgweb]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = pgweb.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/pgweb.png\\n'\n", - " 'sidebar_icon = static/images/apps/pgweb.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[phpmyadmin]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = mysql.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/phpmyadmin.png\\n'\n", - " 'sidebar_icon = static/images/apps/phpmyadmin.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[pihole]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = pihole.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/pihole.png\\n'\n", - " 'sidebar_icon = static/images/apps/pihole.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[plex]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = plex.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/plex.png\\n'\n", - " 'sidebar_icon = static/images/apps/plex.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[portainer]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = portainer.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/portainer.png\\n'\n", - " 'sidebar_icon = static/images/apps/portainer.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[prometheus]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = prometheus.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/prometheus.png\\n'\n", - " 'sidebar_icon = static/images/apps/prometheus.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[promtail]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = promtail.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/promtail.png\\n'\n", - " 'sidebar_icon = static/images/apps/promtail.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[proxmox]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = proxmox.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/proxmox.png\\n'\n", - " 'sidebar_icon = static/images/apps/proxmox.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[pushgateway]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = pushgateway.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/pushgateway.png\\n'\n", - " 'sidebar_icon = static/images/apps/pushgateway.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[pyload]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = pyload.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/pyload.png\\n'\n", - " 'sidebar_icon = static/images/apps/pyload.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[radarr]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = radarr.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/radarr.png\\n'\n", - " 'sidebar_icon = static/images/apps/radarr.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[redis]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = redis.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/redis.png\\n'\n", - " 'sidebar_icon = static/images/apps/redis.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[request-baskets]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = requests.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/request-baskets.png\\n'\n", - " 'sidebar_icon = static/images/apps/request-baskets.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[requestrr]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = requestrr.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/requestrr.png\\n'\n", - " 'sidebar_icon = static/images/apps/requestrr.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[router]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = router.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/router.png\\n'\n", - " 'sidebar_icon = static/images/apps/router.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[script-server]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = script.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/script-server.png\\n'\n", - " 'sidebar_icon = static/images/apps/script-server.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[scrutiny]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = disk.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/scrutiny.png\\n'\n", - " 'sidebar_icon = static/images/apps/scrutiny.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[snmp]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = snmp.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/snmp.png\\n'\n", - " 'sidebar_icon = static/images/apps/snmp.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[sonarr]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = sonarr.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/sonarr.png\\n'\n", - " 'sidebar_icon = static/images/apps/sonarr.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[speedtest]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = speedtest.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/speedtest.png\\n'\n", - " 'sidebar_icon = static/images/apps/speedtest.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[splash]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = splash.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/splash.png\\n'\n", - " 'sidebar_icon = static/images/apps/splash.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[sshwifty]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = ssh.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/sshwifty.png\\n'\n", - " 'sidebar_icon = static/images/apps/sshwifty.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[swagger-editor]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = swagger.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/swagger-editor.png\\n'\n", - " 'sidebar_icon = static/images/apps/swagger-editor.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[api@internal]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = traefik.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/api@internal.png\\n'\n", - " 'sidebar_icon = static/images/apps/api@internal.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[transmission]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = transmission.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/transmission.png\\n'\n", - " 'sidebar_icon = static/images/apps/transmission.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[ubooquity-admin]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = books.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/ubooquity-admin.png\\n'\n", - " 'sidebar_icon = static/images/apps/ubooquity-admin.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[vault]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = vault.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/vault.png\\n'\n", - " 'sidebar_icon = static/images/apps/vault.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[vpn]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = vpn.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/vpn.png\\n'\n", - " 'sidebar_icon = static/images/apps/vpn.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '[vscode]\\n'\n", - " 'prefix = https://\\n'\n", - " 'url = code.donavanaldrich.com\\n'\n", - " '\\n'\n", - " 'icon = static/images/apps/vscode.png\\n'\n", - " 'sidebar_icon = static/images/apps/vscode.png\\n'\n", - " '\\n'\n", - " 'description = default\\n'\n", - " 'open_in = iframe\\n'\n", - " '# data_sources = sh_http,sh_health,sh_ping,sh_rest\\n'\n", - " 'tags = default\\n'\n", - " '# groups = admin_only\\n'\n", - " '\\n'\n", - " '\\n'\n", - " '\\n')\n" - ] - } - ], + "outputs": [], "source": [ "from jinja2 import Environment, FileSystemLoader, select_autoescape\n", "\n", @@ -1559,7 +266,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.6" }, "vscode": { "interpreter": { diff --git a/webscraping/Splash.ipynb b/webscraping/Splash.ipynb new file mode 100644 index 0000000..319e342 --- /dev/null +++ b/webscraping/Splash.ipynb @@ -0,0 +1,158 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f1543948-4781-4f50-849e-1e8b9786b7bb", + "metadata": {}, + "source": [ + "# Splash" + ] + }, + { + "cell_type": "markdown", + "id": "18805201-1cec-439d-bb09-ac9beba683b2", + "metadata": {}, + "source": [ + "render.json\n", + "Return a json-encoded dictionary with information about javascript-rendered webpage. It can include HTML, PNG and other information, based on arguments passed.\n", + "\n", + "Arguments:\n", + "\n", + "Same as render.jpeg plus the following ones:\n", + "\n", + "html : integer : optional\n", + "Whether to include HTML in output. Possible values are 1 (include) and 0 (exclude). Default is 0.\n", + "png : integer : optional\n", + "Whether to include PNG in output. Possible values are 1 (include) and 0 (exclude). Default is 0.\n", + "jpeg : integer : optional\n", + "Whether to include JPEG in output. Possible values are 1 (include) and 0 (exclude). Default is 0.\n", + "iframes : integer : optional\n", + "Whether to include information about child frames in output. Possible values are 1 (include) and 0 (exclude). Default is 0.\n", + "script : integer : optional\n", + "Whether to include the result of the executed javascript final statement in output (see Executing custom Javascript code within page context). Possible values are 1 (include) and 0 (exclude). Default is 0.\n", + "console : integer : optional\n", + "Whether to include the executed javascript console messages in output. Possible values are 1 (include) and 0 (exclude). Default is 0.\n", + "history : integer : optional\n", + "Whether to include the history of requests/responses for webpage main frame. Possible values are 1 (include) and 0 (exclude). Default is 0.\n", + "\n", + "Use it to get HTTP status codes and headers. Only information about “main” requests/responses is returned (i.e. information about related resources like images and AJAX queries is not returned). To get information about all requests and responses use ‘har’ argument.\n", + "\n", + "har : integer : optional\n", + "Whether to include HAR in output. Possible values are 1 (include) and 0 (exclude). Default is 0. If this option is ON the result will contain the same data as render.har provides under ‘har’ key.\n", + "\n", + "By default, request and response contents are not included. To enable each, use ‘request_body’ and ‘response_body’ options respectively.\n", + "\n", + "request_body : int : optional\n", + "Possible values are 1 and 0. When request_body=1, request content is included in HAR records. Default is request_body=0. This option has no effect when both ‘har’ and ‘history’ are 0.\n", + "response_body : int : optiona" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8aaec01c-4b87-4949-8787-e9dec8b2e5dd", + "metadata": { + "execution": { + "iopub.execute_input": "2021-10-26T03:50:20.355782Z", + "iopub.status.busy": "2021-10-26T03:50:20.355387Z", + "iopub.status.idle": "2021-10-26T03:50:20.870039Z", + "shell.execute_reply": "2021-10-26T03:50:20.855218Z", + "shell.execute_reply.started": "2021-10-26T03:50:20.355743Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import json\n", + "import pprint\n", + "\n", + "import requests\n", + "\n", + "# script = \"\"\"\n", + "# splash:go(args.url)\n", + "# return splash:png()\n", + "# \"\"\"\n", + "\n", + "\n", + "resp = requests.post(\n", + " \"https://kong.donavanaldrich.com/splash\",\n", + " json={\n", + " \"url\": \"http://example.com\",\n", + " \"history\": 1,\n", + " \"html\": 1,\n", + " \"request_body\": 1,\n", + " \"har\": 1,\n", + " },\n", + ")\n", + "png_data = resp.content\n", + "\n", + "pp = pprint.PrettyPrinter(indent=4, sort_dicts=True)\n", + "pp.pprint(png_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1630de92-c015-43a3-b747-9d29ca5afba2", + "metadata": { + "execution": { + "iopub.execute_input": "2021-10-26T04:36:51.911804Z", + "iopub.status.busy": "2021-10-26T04:36:51.911422Z", + "iopub.status.idle": "2021-10-26T04:36:55.323679Z", + "shell.execute_reply": "2021-10-26T04:36:55.322189Z", + "shell.execute_reply.started": "2021-10-26T04:36:51.911765Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# json: {url: \"http://example.com\", history: 1, html: 1, request_body: 1, har: 1}\n", + "# !http POST https://kong.donavanaldrich.com/splash < json\n", + "\n", + "\n", + "!http POST https://kong.donavanaldrich.com/splash url=http://example.com har:=1 html:=1 png:=1 history:=1 console:=1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc1283f7-19f8-4430-9ae6-19a74c419a91", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/webscraping/browserless.ipynb b/webscraping/browserless.ipynb new file mode 100644 index 0000000..cf59f07 --- /dev/null +++ b/webscraping/browserless.ipynb @@ -0,0 +1,179 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Example Domain\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "
\n", + "

Example Domain

\n", + "

This domain is for use in illustrative examples in documents. You may use this\n", + " domain in literature without prior coordination or asking for permission.

\n", + "

More information...

\n", + "
\n", + "\n", + "\n", + "" + ] + } + ], + "source": [ + "!curl -X POST http://192.168.1.101:3148/content \\\n", + "-H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -d '{\"url\": \"https://example.com/\" }'" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'allowFileProtocol': False,\n", + " 'chromeRefreshTime': 1800000,\n", + " 'connectionTimeout': 600000,\n", + " 'disabledFeatures': [],\n", + " 'enableAPIGet': False,\n", + " 'enableCors': False,\n", + " 'enableHeapdump': False,\n", + " 'errorAlertURL': None,\n", + " 'exitOnHealthFailure': False,\n", + " 'functionBuiltIns': ['url'],\n", + " 'functionEnableIncognitoMode': False,\n", + " 'functionEnvVars': [],\n", + " 'functionExternals': ['lighthouse', 'node-pdftk', 'sharp'],\n", + " 'healthFailureURL': None,\n", + " 'host': '0.0.0.0',\n", + " 'keepAlive': False,\n", + " 'maxCPU': 99,\n", + " 'maxConcurrentSessions': 10,\n", + " 'maxMemory': 99,\n", + " 'maxQueueLength': 20,\n", + " 'metricsJSONPath': None,\n", + " 'port': 3000,\n", + " 'prebootChrome': False,\n", + " 'queuedAlertURL': None,\n", + " 'rejectAlertURL': None,\n", + " 'sessionCheckFailURL': None,\n", + " 'singleRun': False,\n", + " 'socketBehavior': 'http',\n", + " 'timeoutAlertURL': None,\n", + " 'token': None,\n", + " 'workspaceDir': '/home/browserless'}\n" + ] + } + ], + "source": [ + "import requests\n", + "import pprint\n", + "response = requests.get('http://192.168.1.101:3148/config')\n", + "\n", + "pprint.pprint(response.json())\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'error': 0,\n", + " 'maxConcurrent': 1,\n", + " 'maxTime': 600000,\n", + " 'meanTime': 7610.974683544304,\n", + " 'minTime': 0,\n", + " 'queued': 0,\n", + " 'rejected': 0,\n", + " 'sessionTimes': [590, 600000, 947, 407],\n", + " 'successful': 3,\n", + " 'timedout': 1,\n", + " 'totalTime': 601944,\n", + " 'unhealthy': 0}\n" + ] + } + ], + "source": [ + "import requests\n", + "import pprint\n", + "\n", + "response = requests.get('http://192.168.1.101:3148/metrics/total')\n", + "\n", + "pprint.pprint(response.json())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.4 64-bit", + "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.10.4" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/webscraping/photon.ipynb b/webscraping/photon.ipynb new file mode 100644 index 0000000..d8a7b21 --- /dev/null +++ b/webscraping/photon.ipynb @@ -0,0 +1,153 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "d1a0256a-ff3e-4aad-9e6f-f4267db5175b", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install photon\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "3efdc58b-bf19-4138-b75c-afa610af01d5", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Exception in thread Thread-41 (jscanner):\n", + "Traceback (most recent call last):\n", + " File \"/opt/conda/lib/python3.10/threading.py\", line 1016, in _bootstrap_inner\n", + " self.run()\n", + " File \"/opt/conda/lib/python3.10/threading.py\", line 953, in run\n", + " self._target(*self._args, **self._kwargs)\n", + " File \"/home/jovyan/.local/lib/python3.10/site-packages/photon/photon.py\", line 208, in jscanner\n", + " response = requester(url, delay, domain_name, user_agents, cookie, timeout) # make request to the url\n", + " File \"/home/jovyan/.local/lib/python3.10/site-packages/photon/photon.py\", line 58, in requester\n", + " if 'text/html' in response.headers['content-type']:\n", + " File \"/opt/conda/lib/python3.10/site-packages/requests/structures.py\", line 52, in __getitem__\n", + " return self._store[key.lower()][1]\n", + "KeyError: 'content-type'\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'custom': [],\n", + " 'endpoints': ['https://caddyserver.com',\n", + " 'https://twitter.com/githubstatus',\n", + " 'http://www.w3.org/1999/xhtml',\n", + " 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd',\n", + " 'https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194',\n", + " 'https://help.github.com/pages/',\n", + " 'http://www.w3.org/1999/xlink',\n", + " 'http://www.w3.org/2000/svg',\n", + " 'https://githubstatus.com',\n", + " 'https://www.iana.org/domains/example'],\n", + " 'external': ['https://www.iana.org/domains/example'],\n", + " 'failed': [],\n", + " 'files': [],\n", + " 'fuzzable': [],\n", + " 'intel': ['select2@4.1.0-rc.0'],\n", + " 'internal': ['https://homelab.donavanaldrich.com/#/home/links',\n", + " 'http://example.com',\n", + " 'https://donavanaldrich.com/api',\n", + " 'https://raw.githubusercontent.com/awesome-selfhosted/awesome-selfhosted/master/README.md'],\n", + " 'keys': [],\n", + " 'robots': [],\n", + " 'scripts': ['https://raw.githubusercontent.com/awesome-selfhosted/awesome-selfhosted/master/README.md/api-selector.js',\n", + " 'http://example.com/api-selector.js',\n", + " 'https://homelab.donavanaldrich.com/#/home/links/api-selector.js',\n", + " 'https://donavanaldrich.com/api/api-selector.js']}\n" + ] + } + ], + "source": [ + "# import photon\n", + "# result = photon.crawl('https://donavanaldrich.com/api')\n", + "# print(result.results())\n", + "\n", + "import photon\n", + "import pprint\n", + "results = photon.crawl('https://homelab.donavanaldrich.com/#/home/links')\n", + "pprint.pprint(results)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "564f5e9c-dfe8-46a1-a9fc-4c5a5e5781bb", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "my_value = os.environ[\"MY_ENVIRONMENT_VARIABLE\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0d0b4d4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60d3a171", + "metadata": {}, + "outputs": [], + "source": [ + "%lsmagic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "009fc04c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}