|
| 1 | +{ |
| 2 | + "cells": [ |
| 3 | + { |
| 4 | + "cell_type": "markdown", |
| 5 | + "id": "6dfcb963-cf69-4505-9871-5cc13471f5dd", |
| 6 | + "metadata": {}, |
| 7 | + "source": [ |
| 8 | + "## Clowder APIs" |
| 9 | + ] |
| 10 | + }, |
| 11 | + { |
| 12 | + "cell_type": "markdown", |
| 13 | + "id": "310051ad-4262-42fc-ac28-911f92842a7e", |
| 14 | + "metadata": {}, |
| 15 | + "source": [ |
| 16 | + "## Import libraries and setup utility function\n", |
| 17 | + "\n", |
| 18 | + "We start by importing the rquired libraries, data and setting up some utility functions and variables that we will use below." |
| 19 | + ] |
| 20 | + }, |
| 21 | + { |
| 22 | + "cell_type": "code", |
| 23 | + "execution_count": 29, |
| 24 | + "id": "ffec7cb7-1a82-4148-aad1-bb3b1b19915b", |
| 25 | + "metadata": {}, |
| 26 | + "outputs": [], |
| 27 | + "source": [ |
| 28 | + "import pyclowder\n", |
| 29 | + "import json\n", |
| 30 | + "import os\n", |
| 31 | + "import pandas as pd\n", |
| 32 | + "\n", |
| 33 | + "import requests\n", |
| 34 | + "\n", |
| 35 | + "# Function to download the IRIS dataset\n", |
| 36 | + "def download_iris_dataset():\n", |
| 37 | + " # URL for the Iris dataset hosted by UCI Machine Learning Repository\n", |
| 38 | + " url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data\"\n", |
| 39 | + " \n", |
| 40 | + " response = requests.get(url)\n", |
| 41 | + " \n", |
| 42 | + " if response.status_code == 200:\n", |
| 43 | + " with open(\"iris.csv\", \"wb\") as f:\n", |
| 44 | + " f.write(response.content)\n", |
| 45 | + " print(\"The Iris dataset has been downloaded and saved as iris.csv.\")\n", |
| 46 | + " else:\n", |
| 47 | + " print(\"Failed to download the dataset. Status code:\", response.status_code)\n", |
| 48 | + "\n", |
| 49 | + "\n", |
| 50 | + "CLOWDER_URL = \"http://localhost:8000\"" |
| 51 | + ] |
| 52 | + }, |
| 53 | + { |
| 54 | + "cell_type": "markdown", |
| 55 | + "id": "f8d5c0ae-659b-4a52-a30a-0fa8b7051694", |
| 56 | + "metadata": {}, |
| 57 | + "source": [ |
| 58 | + "## Token Generation" |
| 59 | + ] |
| 60 | + }, |
| 61 | + { |
| 62 | + "cell_type": "code", |
| 63 | + "execution_count": 30, |
| 64 | + "id": "59fca5f8-a5d6-419d-835a-023a73c5a1d7", |
| 65 | + "metadata": {}, |
| 66 | + "outputs": [ |
| 67 | + { |
| 68 | + "name": "stdout", |
| 69 | + "output_type": "stream", |
| 70 | + "text": [ |
| 71 | + "{'token': 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2dUVlQ0xOc1hTQXZUN1VDek1FRVk2VmI4ajJnY1RhWlFESUpnbnFGSHVJIn0.eyJleHAiOjE3MTY1NzcwNTgsImlhdCI6MTcxNjU3Njc1OCwianRpIjoiZjBjYmZlYzYtZjJlMS00NDg0LTg0YWMtNzFjMGMwZWNmNTNlIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL2tleWNsb2FrL3JlYWxtcy9jbG93ZGVyIiwic3ViIjoiZjg0Y2JjNmQtYzEzZC00MmVmLWFhN2MtMWQ4MmFjYzVhZWViIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiY2xvd2RlcjItYmFja2VuZCIsInNlc3Npb25fc3RhdGUiOiIzOTgyN2EyNy1kMDA5LTRiY2YtOGIzYS1jZTk1MGM3YTI4OWQiLCJhbGxvd2VkLW9yaWdpbnMiOlsiaHR0cDovL2xvY2FsaG9zdDo4MDAwIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJkZWZhdWx0LXJvbGVzLWNsb3dkZXIiLCJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIl19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwic2lkIjoiMzk4MjdhMjctZDAwOS00YmNmLThiM2EtY2U5NTBjN2EyODlkIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJWaXNtYXlhayBNb2hhbmFyYWphbiIsInByZWZlcnJlZF91c2VybmFtZSI6Im1vaGFuYXIyQGlsbGlub2lzLmVkdSIsImdpdmVuX25hbWUiOiJWaXNtYXlhayIsImZhbWlseV9uYW1lIjoiTW9oYW5hcmFqYW4iLCJlbWFpbCI6Im1vaGFuYXIyQGlsbGlub2lzLmVkdSJ9.Z3upy5xkoXfTwILujF7C8vpE_XaL8F32vuRd67V2TVqUK4qEVuN_5yTsyCcXyte9osG2jeZTHlJXreekOrpTvOW4Qbel1JAHnCQfGmlri_io-XFE57aT379HZrLGVlrpiHOGTqKG5mDVxIbaHEqdWhJkAEWY55rDqpkCScHUP7_SoJgAUj9Xx_LSS1hDHLwBCYRvGPFEoMADM40F-P3qxkW5Qsv9gPqP5ChpfG_7KZeBMRhtFXH_xk3M18qjNsSiQ9QKBFC2IrLFnT89bCK_slaUfUWLyiONt6ASPkAw85aajD3jc8RKq_AM42a2-wFVF7vERGPnoMscOpvjp9lBiQ'}\n" |
| 72 | + ] |
| 73 | + } |
| 74 | + ], |
| 75 | + "source": [ |
| 76 | + "user_login_json = {\n", |
| 77 | + " \"email\": \"mohanar2@illinois.edu\",\n", |
| 78 | + " \"password\": \"password\"\n", |
| 79 | + "}\n", |
| 80 | + "login_url = CLOWDER_URL + \"/api/v2/login\"\n", |
| 81 | + "response = requests.post(login_url, json = user_login_json)\n", |
| 82 | + "token = response.json()[\"token\"]\n", |
| 83 | + "print(response.json())" |
| 84 | + ] |
| 85 | + }, |
| 86 | + { |
| 87 | + "cell_type": "markdown", |
| 88 | + "id": "2b273e10-8efc-46a8-b220-b63354735c49", |
| 89 | + "metadata": {}, |
| 90 | + "source": [ |
| 91 | + "## Creating Dataset" |
| 92 | + ] |
| 93 | + }, |
| 94 | + { |
| 95 | + "cell_type": "code", |
| 96 | + "execution_count": 31, |
| 97 | + "id": "91639e11-b553-4b57-a0df-6e91c661662f", |
| 98 | + "metadata": {}, |
| 99 | + "outputs": [ |
| 100 | + { |
| 101 | + "name": "stdout", |
| 102 | + "output_type": "stream", |
| 103 | + "text": [ |
| 104 | + "{'name': 'Flower Dataset', 'description': 'Dataset for Flower Data', 'status': 'PRIVATE', 'id': '6650e202fcd9057e97ae2d8a', 'creator': {'email': 'mohanar2@illinois.edu', 'first_name': 'Vismayak', 'last_name': 'Mohanarajan', 'id': '663a45d5b75ca83d17ac6564', 'admin': True, 'admin_mode': True}, 'created': '2024-05-24T18:52:50.457552', 'modified': '2024-05-24T18:52:50.457556', 'user_views': 0, 'downloads': 0, 'thumbnail_id': None, 'standard_license': True, 'license_id': 'CC BY'}\n" |
| 105 | + ] |
| 106 | + } |
| 107 | + ], |
| 108 | + "source": [ |
| 109 | + "dataset_json = {\n", |
| 110 | + " \"name\": \"Flower Dataset\",\n", |
| 111 | + " \"description\": \"Dataset for Flower Data\",\n", |
| 112 | + " \"status\": \"PRIVATE\",\n", |
| 113 | + "}\n", |
| 114 | + "dataset_params = {\n", |
| 115 | + " \"license_id\": \"CC BY\"\n", |
| 116 | + "}\n", |
| 117 | + "\n", |
| 118 | + "token = \"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2dUVlQ0xOc1hTQXZUN1VDek1FRVk2VmI4ajJnY1RhWlFESUpnbnFGSHVJIn0.eyJleHAiOjE3MTY1NzY5NjcsImlhdCI6MTcxNjU3NjY2NywiYXV0aF90aW1lIjoxNzE2NTc2Mzc1LCJqdGkiOiI5NzU3NTM1Mi04Y2FhLTRhMmUtODZhZC0wM2JkNDcwODhhZjkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAva2V5Y2xvYWsvcmVhbG1zL2Nsb3dkZXIiLCJzdWIiOiJmODRjYmM2ZC1jMTNkLTQyZWYtYWE3Yy0xZDgyYWNjNWFlZWIiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjbG93ZGVyMi1iYWNrZW5kIiwic2Vzc2lvbl9zdGF0ZSI6IjdhMjJjZDFkLTQ3NDctNDAyNS1iNDk2LTUyYzNhOWUwZDhiYyIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjgwMDAiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtY2xvd2RlciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiI3YTIyY2QxZC00NzQ3LTQwMjUtYjQ5Ni01MmMzYTllMGQ4YmMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlZpc21heWFrIE1vaGFuYXJhamFuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoibW9oYW5hcjJAaWxsaW5vaXMuZWR1IiwiZ2l2ZW5fbmFtZSI6IlZpc21heWFrIiwiZmFtaWx5X25hbWUiOiJNb2hhbmFyYWphbiIsImVtYWlsIjoibW9oYW5hcjJAaWxsaW5vaXMuZWR1In0.AHqeZ79L8OUW2zTYEaDeUmuhHAeDMcqlgR8CE7ScGBRt-4gj8QFipbkiiMt0LYbMNi97dv0O_-iojrMtnlaX1OubnEwI_mMcoGckpXc5CzCoAQ_Qri2ZnpfnClDa9wPu-G_aGL-Sv4UpAglSTCbpBxsE99EiBubMb0T3NpP8p0k_lJTSvAZPJdMJ2sPpBo4BPUUIZq9JBXAZF7YPL9ZzUOoQKJvpNlA_7fHBHDjdSKRbVjP5cCNldjHJ70D2j1HM4JJUwMirNWZ8SFaJiny5a7NoZ2fa_JQkA3ZRrwGPHxGh6JThhu_F-a-pv2CDSytPCSU5DJxnslNJ4ePLVKDWpQ\"\n", |
| 119 | + "headers = {\n", |
| 120 | + " 'Authorization': f'Bearer {token}'\n", |
| 121 | + "}\n", |
| 122 | + "\n", |
| 123 | + "\n", |
| 124 | + "dataset_url = CLOWDER_URL + \"/api/v2/datasets\"\n", |
| 125 | + "response = requests.post(dataset_url, json = dataset_json, headers = headers, params = dataset_params)\n", |
| 126 | + "print(response.json())" |
| 127 | + ] |
| 128 | + } |
| 129 | + ], |
| 130 | + "metadata": { |
| 131 | + "kernelspec": { |
| 132 | + "display_name": "Python 3 (ipykernel)", |
| 133 | + "language": "python", |
| 134 | + "name": "python3" |
| 135 | + }, |
| 136 | + "language_info": { |
| 137 | + "codemirror_mode": { |
| 138 | + "name": "ipython", |
| 139 | + "version": 3 |
| 140 | + }, |
| 141 | + "file_extension": ".py", |
| 142 | + "mimetype": "text/x-python", |
| 143 | + "name": "python", |
| 144 | + "nbconvert_exporter": "python", |
| 145 | + "pygments_lexer": "ipython3", |
| 146 | + "version": "3.10.13" |
| 147 | + } |
| 148 | + }, |
| 149 | + "nbformat": 4, |
| 150 | + "nbformat_minor": 5 |
| 151 | +} |
0 commit comments