diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f927d8b --- /dev/null +++ b/.gitignore @@ -0,0 +1,135 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# Pycharm Config +.idea/ + +# User-generated content +Datasets/ diff --git a/.ipynb_checkpoints/tutorial-checkpoint.ipynb b/.ipynb_checkpoints/tutorial-checkpoint.ipynb deleted file mode 100644 index df340e1..0000000 --- a/.ipynb_checkpoints/tutorial-checkpoint.ipynb +++ /dev/null @@ -1,546 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Sochastic Gradient Descent with Model Building" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### First, we install the SMB package." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting git+https://github.com/sibirbil/SMB.git\n", - " Cloning https://github.com/sibirbil/SMB.git to /private/var/folders/zy/87gspt1523z5dlb99f2955_m0000gn/T/pip-req-build-y77m4wbe\n", - " Installing build dependencies ... \u001b[?25ldone\n", - "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", - "\u001b[?25h Preparing wheel metadata ... \u001b[?25ldone\n", - "\u001b[?25hRequirement already satisfied: torch>=1.0.0torchvision>=0.10.0 in /opt/miniconda3/envs/pytorch/lib/python3.8/site-packages (from SMB==0.1.0) (1.7.1)\n", - "Requirement already satisfied: typing_extensions in /opt/miniconda3/envs/pytorch/lib/python3.8/site-packages (from torch>=1.0.0torchvision>=0.10.0->SMB==0.1.0) (3.7.4.3)\n", - "Requirement already satisfied: numpy in /opt/miniconda3/envs/pytorch/lib/python3.8/site-packages (from torch>=1.0.0torchvision>=0.10.0->SMB==0.1.0) (1.19.2)\n" - ] - } - ], - "source": [ - "!pip install git+https://github.com/sibirbil/SMB.git" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import torch\n", - "import torch.optim as optim\n", - "\n", - "import time\n", - "import datetime\n", - "import numpy as np\n", - "import json\n", - "import matplotlib.pyplot as plt \n", - "\n", - "import smb\n", - "from smb import utils as ut" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Train options" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Epochs to train for\n", - "epochs = 20\n", - "\n", - "# Dataset-Model\n", - "TrainOptions = {1:('mnist', 'mlp'), \n", - " 2:('cifar10', 'resnet34_10'), \n", - " 3:('cifar10', 'densenet10'), \n", - " 4:('cifar100', 'resnet34_100'), \n", - " 5:('cifar100', 'densenet10')\n", - " }\n", - "dataset_name, model_name = TrainOptions[1]\n", - "\n", - "\n", - "# Batch Size\n", - "batch_size = 128\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Load dataset and the model" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Check if GPU is available\n", - "use_GPU = torch.cuda.is_available()\n", - "\n", - "\n", - "seed = 42\n", - "np.random.seed(seed)\n", - "torch.manual_seed(seed)\n", - "torch.cuda.manual_seed_all(seed)\n", - " \n", - "\n", - "# Get Dataset\n", - "train_set, test_set, train_loader = ut.get_dataset(dataset_name, batch_size)\n", - "n_batches_per_epoch = len(train_loader)\n", - "\n", - " \n", - "opt_out_list = []" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Train with SMB optimizer\n", - "\n", - "SMB optimizer requires a closure function. You can its form below." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Starting to train with SMB optimizer: For 20 epochs\n", - "Epoch: 1 - Training Loss: 0.160835 - Test Accuracy: 0.9528 - Time: 14.5\n", - "Epoch: 2 - Training Loss: 0.10123 - Test Accuracy: 0.9665 - Time: 13.35\n", - "Epoch: 3 - Training Loss: 0.084133 - Test Accuracy: 0.9654 - Time: 12.9\n", - "Epoch: 4 - Training Loss: 0.084372 - Test Accuracy: 0.9623 - Time: 12.73\n", - "Epoch: 5 - Training Loss: 0.048766 - Test Accuracy: 0.9748 - Time: 12.59\n", - "Epoch: 6 - Training Loss: 0.038853 - Test Accuracy: 0.9777 - Time: 12.65\n", - "Epoch: 7 - Training Loss: 0.043774 - Test Accuracy: 0.9737 - Time: 12.57\n", - "Epoch: 8 - Training Loss: 0.040955 - Test Accuracy: 0.9742 - Time: 12.65\n", - "Epoch: 9 - Training Loss: 0.030071 - Test Accuracy: 0.9774 - Time: 12.56\n", - "Epoch: 10 - Training Loss: 0.014237 - Test Accuracy: 0.9825 - Time: 12.65\n", - "Epoch: 11 - Training Loss: 0.009853 - Test Accuracy: 0.9835 - Time: 12.83\n", - "Epoch: 12 - Training Loss: 0.00837 - Test Accuracy: 0.9827 - Time: 12.86\n", - "Epoch: 13 - Training Loss: 0.005376 - Test Accuracy: 0.9827 - Time: 12.78\n", - "Epoch: 14 - Training Loss: 0.004833 - Test Accuracy: 0.9831 - Time: 12.87\n", - "Epoch: 15 - Training Loss: 0.004305 - Test Accuracy: 0.9832 - Time: 12.39\n", - "Epoch: 16 - Training Loss: 0.001841 - Test Accuracy: 0.9834 - Time: 12.83\n", - "Epoch: 17 - Training Loss: 0.002754 - Test Accuracy: 0.9826 - Time: 12.7\n", - "Epoch: 18 - Training Loss: 0.000957 - Test Accuracy: 0.9846 - Time: 12.57\n", - "Epoch: 19 - Training Loss: 0.000705 - Test Accuracy: 0.9845 - Time: 12.53\n", - "Epoch: 20 - Training Loss: 0.000396 - Test Accuracy: 0.9849 - Time: 12.41\n" - ] - } - ], - "source": [ - "independent_batch = False\n", - "autoschedule = False\n", - "\n", - "opt_out = {}\n", - "\n", - "if independent_batch:\n", - " opt_out.update({'name':'SMBi'})\n", - "else:\n", - " opt_out.update({'name':'SMB'})\n", - "\n", - "opt_out.update({'independent_batch':independent_batch, \n", - " 'autoschedule':autoschedule, \n", - " 'gamma':0.05, \n", - " 'beta':0.9, \n", - " 'lr':0.5, \n", - " 'c':0.1, \n", - " 'eta':0.99, \n", - " 'data':dataset_name, \n", - " 'model':model_name, \n", - " })\n", - "\n", - "# Get Model\n", - "model = ut.get_model(model_name)\n", - "if use_GPU:\n", - " model.cuda()\n", - " \n", - " \n", - "# loss function\n", - "criterion = ut.softmax_loss\n", - " \n", - "optimizer = smb.SMB(model.parameters(), \n", - " lr=opt_out['lr'], \n", - " c=opt_out['c'], \n", - " eta=opt_out['eta'], \n", - " independent_batch=opt_out['independent_batch'], \n", - " autoschedule=opt_out['autoschedule'],\n", - " n_batches_per_epoch=n_batches_per_epoch)\n", - "\n", - "print('\\n' + 'Starting to train with {} optimizer: For {} epochs'.format(opt_out['name'], epochs))\n", - "\n", - "train_loss_list = []\n", - "test_acc_list = []\n", - "run_time_list = []\n", - "\n", - "\n", - "for epoch in range(1, epochs+1):\n", - " \n", - " step_type = []\n", - " \n", - " begin = time.time()\n", - " \n", - " # training steps\n", - " model.train()\n", - " \n", - " for batch_index, (data, target) in enumerate(train_loader):\n", - " \n", - " # moves tensors to GPU if available\n", - " if use_GPU:\n", - " data, target = data.cuda(), target.cuda() \n", - " \n", - " # create loss closure for smb algorithm\n", - " def closure():\n", - " optimizer.zero_grad()\n", - " loss = criterion(model, data, target)\n", - " return loss\n", - " \n", - " # forward pass\n", - " loss = optimizer.step(closure=closure)\n", - " \n", - " end = time.time()\n", - " \n", - " train_loss = ut.compute_loss(model, train_set)\n", - " test_acc = ut.compute_accuracy(model, test_set)\n", - " \n", - " train_loss_list.append(train_loss)\n", - " test_acc_list.append(test_acc)\n", - " run_time_list.append(end-begin)\n", - " \n", - " # Display loss statistics\n", - " print(f'Epoch: {epoch} - Training Loss: {round(train_loss, 6)} - Test Accuracy: {round(test_acc, 6)} - Time: {round(end-begin, 2)}')\n", - "\n", - " \n", - "opt_out.update({'train_loss':train_loss_list,\n", - " 'test_acc':test_acc_list,\n", - " 'run_time':run_time_list,\n", - " })\n", - "\n", - "opt_out_list.append(opt_out)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Train with ADAM optimizer" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Starting to train with Adam optimizer: For 20 epochs\n", - "Epoch: 1 - Training Loss: 0.155025 - Test Accuracy: 0.9535 - Time: 11.68\n", - "Epoch: 2 - Training Loss: 0.126146 - Test Accuracy: 0.9559 - Time: 11.86\n", - "Epoch: 3 - Training Loss: 0.079501 - Test Accuracy: 0.97 - Time: 11.91\n", - "Epoch: 4 - Training Loss: 0.067323 - Test Accuracy: 0.9698 - Time: 11.88\n", - "Epoch: 5 - Training Loss: 0.051616 - Test Accuracy: 0.972 - Time: 11.85\n", - "Epoch: 6 - Training Loss: 0.066012 - Test Accuracy: 0.9692 - Time: 11.85\n", - "Epoch: 7 - Training Loss: 0.040421 - Test Accuracy: 0.976 - Time: 11.86\n", - "Epoch: 8 - Training Loss: 0.028547 - Test Accuracy: 0.9802 - Time: 11.93\n", - "Epoch: 9 - Training Loss: 0.030826 - Test Accuracy: 0.9784 - Time: 12.03\n", - "Epoch: 10 - Training Loss: 0.042395 - Test Accuracy: 0.9749 - Time: 11.99\n", - "Epoch: 11 - Training Loss: 0.02092 - Test Accuracy: 0.9805 - Time: 11.89\n", - "Epoch: 12 - Training Loss: 0.029936 - Test Accuracy: 0.9778 - Time: 11.85\n", - "Epoch: 13 - Training Loss: 0.043142 - Test Accuracy: 0.9707 - Time: 11.92\n", - "Epoch: 14 - Training Loss: 0.017223 - Test Accuracy: 0.979 - Time: 11.87\n", - "Epoch: 15 - Training Loss: 0.023386 - Test Accuracy: 0.977 - Time: 11.99\n", - "Epoch: 16 - Training Loss: 0.024507 - Test Accuracy: 0.9759 - Time: 11.92\n", - "Epoch: 17 - Training Loss: 0.015211 - Test Accuracy: 0.9774 - Time: 11.89\n", - "Epoch: 18 - Training Loss: 0.013684 - Test Accuracy: 0.9794 - Time: 11.94\n", - "Epoch: 19 - Training Loss: 0.020542 - Test Accuracy: 0.9781 - Time: 11.94\n", - "Epoch: 20 - Training Loss: 0.011218 - Test Accuracy: 0.9811 - Time: 12.05\n" - ] - } - ], - "source": [ - "opt_out = {'name':'Adam', \n", - " 'lr':0.001, \n", - " 'data':dataset_name, \n", - " 'model':model_name,\n", - " } \n", - "\n", - "# Get Model\n", - "model = ut.get_model(model_name)\n", - "if use_GPU:\n", - " model.cuda()\n", - " \n", - "# loss function\n", - "criterion = ut.softmax_loss\n", - "\n", - "# optimizer\n", - "optimizer = optim.Adam(model.parameters(), lr = opt_out['lr'])\n", - "\n", - "\n", - "print('\\n' + 'Starting to train with {} optimizer: For {} epochs'.format(opt_out['name'], epochs))\n", - "\n", - "\n", - "train_loss_list = []\n", - "test_acc_list = []\n", - "run_time_list = []\n", - " \n", - "\n", - "for epoch in range(1, epochs+1):\n", - " \n", - " begin = time.time()\n", - "\n", - " # training steps\n", - " model.train()\n", - " for batch_index, (data, target) in enumerate(train_loader): \n", - " \n", - " # moves tensors to GPU\n", - " if use_GPU:\n", - " data, target = data.cuda(), target.cuda() \n", - " # clears gradients\n", - " optimizer.zero_grad()\n", - " # loss in batch\n", - " loss = criterion(model, data, target)\n", - " # backward pass for loss gradient\n", - " loss.backward()\n", - " \n", - " \n", - " # update paremeters\n", - " optimizer.step()\n", - " \n", - " end = time.time()\n", - " \n", - " \n", - " # Calculate metrics\n", - " train_loss = ut.compute_loss(model, train_set)\n", - " test_acc = ut.compute_accuracy(model, test_set)\n", - " \n", - " train_loss_list.append(train_loss)\n", - " test_acc_list.append(test_acc)\n", - " run_time_list.append(end-begin)\n", - " \n", - " # Display loss statistics\n", - " print(f'Epoch: {epoch} - Training Loss: {round(train_loss, 6)} - Test Accuracy: {round(test_acc, 6)} - Time: {round(end-begin, 2)}')\n", - "\n", - "\n", - "opt_out.update({'train_loss':train_loss_list,\n", - " 'test_acc':test_acc_list,\n", - " 'run_time':run_time_list,\n", - " })\n", - "\n", - "opt_out_list.append(opt_out)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Train with SGD optimizer" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Starting to train with SGD optimizer: For 20 epochs\n", - "Epoch: 1 - Training Loss: 0.2492 - Test Accuracy: 0.9207 - Time: 10.29\n", - "Epoch: 2 - Training Loss: 0.165351 - Test Accuracy: 0.9479 - Time: 10.26\n", - "Epoch: 3 - Training Loss: 0.111667 - Test Accuracy: 0.9627 - Time: 10.32\n", - "Epoch: 4 - Training Loss: 0.090105 - Test Accuracy: 0.9674 - Time: 10.26\n", - "Epoch: 5 - Training Loss: 0.082428 - Test Accuracy: 0.9682 - Time: 10.27\n", - "Epoch: 6 - Training Loss: 0.060599 - Test Accuracy: 0.9727 - Time: 10.29\n", - "Epoch: 7 - Training Loss: 0.050344 - Test Accuracy: 0.9771 - Time: 10.24\n", - "Epoch: 8 - Training Loss: 0.064024 - Test Accuracy: 0.9709 - Time: 10.24\n", - "Epoch: 9 - Training Loss: 0.043213 - Test Accuracy: 0.9756 - Time: 10.3\n", - "Epoch: 10 - Training Loss: 0.035557 - Test Accuracy: 0.9767 - Time: 10.33\n", - "Epoch: 11 - Training Loss: 0.042102 - Test Accuracy: 0.9747 - Time: 10.24\n", - "Epoch: 12 - Training Loss: 0.027443 - Test Accuracy: 0.9793 - Time: 10.37\n", - "Epoch: 13 - Training Loss: 0.027726 - Test Accuracy: 0.9791 - Time: 10.26\n", - "Epoch: 14 - Training Loss: 0.024155 - Test Accuracy: 0.9786 - Time: 10.24\n", - "Epoch: 15 - Training Loss: 0.01751 - Test Accuracy: 0.981 - Time: 10.4\n", - "Epoch: 16 - Training Loss: 0.108635 - Test Accuracy: 0.9545 - Time: 10.24\n", - "Epoch: 17 - Training Loss: 0.056646 - Test Accuracy: 0.971 - Time: 10.24\n", - "Epoch: 18 - Training Loss: 0.030357 - Test Accuracy: 0.9785 - Time: 10.26\n", - "Epoch: 19 - Training Loss: 0.081719 - Test Accuracy: 0.9666 - Time: 10.25\n", - "Epoch: 20 - Training Loss: 0.045295 - Test Accuracy: 0.9749 - Time: 10.25\n" - ] - } - ], - "source": [ - "opt_out = {'name':'SGD', \n", - " 'lr':0.1, \n", - " 'data':dataset_name, \n", - " 'model':model_name,\n", - " }\n", - "\n", - "# Get Model\n", - "model = ut.get_model(model_name)\n", - "if use_GPU:\n", - " model.cuda()\n", - " \n", - "# loss function\n", - "criterion = ut.softmax_loss\n", - "\n", - "# optimizer\n", - "optimizer = optim.SGD(model.parameters(), lr = opt_out['lr'])\n", - "\n", - "print('\\n' + 'Starting to train with {} optimizer: For {} epochs'.format(opt_out['name'], epochs))\n", - "\n", - "\n", - "train_loss_list = []\n", - "test_acc_list = []\n", - "run_time_list = []\n", - " \n", - "\n", - "for epoch in range(1, epochs+1):\n", - " \n", - " begin = time.time()\n", - "\n", - " # training steps\n", - " model.train()\n", - " for batch_index, (data, target) in enumerate(train_loader): \n", - " \n", - " # moves tensors to GPU\n", - " if use_GPU:\n", - " data, target = data.cuda(), target.cuda() \n", - " # clears gradients\n", - " optimizer.zero_grad()\n", - " # loss in batch\n", - " loss = criterion(model, data, target)\n", - " # backward pass for loss gradient\n", - " loss.backward()\n", - " \n", - " \n", - " # update paremeters\n", - " optimizer.step()\n", - " \n", - " end = time.time()\n", - " \n", - " \n", - " # Calculate metrics\n", - " train_loss = ut.compute_loss(model, train_set)\n", - " test_acc = ut.compute_accuracy(model, test_set)\n", - " \n", - " train_loss_list.append(train_loss)\n", - " test_acc_list.append(test_acc)\n", - " run_time_list.append(end-begin)\n", - " \n", - " # Display loss statistics\n", - " print(f'Epoch: {epoch} - Training Loss: {round(train_loss, 6)} - Test Accuracy: {round(test_acc, 6)} - Time: {round(end-begin, 2)}')\n", - "\n", - "\n", - "opt_out.update({'train_loss':train_loss_list,\n", - " 'test_acc':test_acc_list,\n", - " 'run_time':run_time_list,\n", - " })\n", - "\n", - "opt_out_list.append(opt_out)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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ffp0rr766mrL3XLLLdx0002sWbOGDh068Nhjj9W5/+TJk3nzzTeD88v4NalKkoiIVK9TYkumnXUM0/69lLJD5V7HkSDIL87XoA0izUBJSQlz587lscce41//+tfh9fv27WP8+PEMHjyYcePGHTFx7NVXX01OTg4DBgzg9ttvP7w+IyODW2+9lZEjR5KTk8OiRYs444wz6N27N4888ki9crVt25Zf/vKXDB8+nHnz5tVZ/tVXX2XixImYGSNGjGDXrl1s2bLliDLOOf773/9y0UUXATBp0iReeeWVOvc/8cQT6dixY73y10WVJBGRZuKiY9NJahXP43O/9DqKBIEGbRBpHl555RXOPPNM+vbtS4cOHQ53M3v44Ydp3bo1S5cu5bbbbmPhwoWH97nzzjtZsGABS5cu5X//+x9Lly49vK179+7MmzePE044gcmTJ/PSSy/x8ccf88tf/vJwmezs7Dpz7dmzh4EDB/LJJ58wevRobrrpJrKzs8nOzmbUqFGHX991110AbNq0ie7dv/k3Kz09nU2bNh1xzMLCQtq3b09cXNy3ygSyfzDFhezIIiISUcyM350/iPMenMsZAzrTM7mN15GkETRog4gH7ghB99Y7au8GPWPGDG688UYALrzwQmbMmMHQoUP54IMPuP766wEYPHgwgwcPPrzPCy+8wPTp0ykrK2PLli2sXLny8PaxY8cCMGjQIEpKSkhMTCQxMZGEhAR27dpF+/btycvLqzN2bGwsF1544eH399577+HXxcXFJCYmHlHeOfetY5hZwGUC2T+YVEkSEWlGeia34erc3tz68jL+cfnwkN5gJLQKSgrI6pTldQyR5qWOCk2wFRYW8t///pfly5djZpSVlRETE8Mf/vAHoPpKwpdffsmf/vQn5s+fT4cOHZg8eTL79+8/vL1ly5YAxMTEHH5d8b6srCzgbAkJCcTGxh5+f9NNN/H+++8DUF5eTkyMr8Pa+PHjmTZtGunp6eTn5x8uX1BQQNeuXY84ZkpKCrt27aKsrIy4uLgjygSyfzCpu52ISDNz2aheFO0r5V+LQtdNQUJPLUkiTd9LL73ExIkT2bBhA+vXr2fVqlX06tWLOXPmcOKJJ/Lss88CsHz58sNd6nbv3k2bNm1ISkpi27ZtvPHGG2HJeu+995KXl0deXh5z5849/HratGmArwXr6aefxjnHxx9/TFJSEl26dDniGGbGSSeddHiAiqeeeopzzz034P2DSZUkEZFmJi42hrsuGMxdb6xiR/EBr+NIA6mSJNL0zZgxg/PPP/+IdRdeeCH//Oc/ufrqqykpKWHw4MH84Q9/YNiwYQBkZWUxZMgQBgwYwGWXXcaoUaPqfd5Ankmqr7PPPpujjjqKPn36cOWVV/LQQw8dsW3z5s0A3H333dxzzz306dOHwsJCLr/88jr3nzBhAiNHjmT16tWkp6cfHhGvMZpUdzszGwOM6dOnj9dRREQi2sBuSVx4bDq/fn0lD0wY4nUcqadSV8qu/btIa53mdRQRCaHZs2d/a13Fc0gAzz33XLX7Pfnkk9WuX79+/eHXkydPZvLkydVuq+mZpMp5SkpKqi1TEzPjwQcfrHbbrFmzDr8+6qij+PTTT+u1/4wZM+qVJRBNqiVJ8ySJiATuxlP6srRgF++t2uZ1FKmnwrJCurTtQmxMbN2FRUSk3ppUJUlERALXqkUsvz9/EL94ZTklBwJ/WFe8t7N0p+ZIEhEJIVWSRESaseP7pDA6M4U/vvmZ11GkHnaW7SQ9UZUkEZFQUSVJRKSZu/XsfryxfCsLN3zldRQJ0M6ynRq0QUQkhFRJEhFp5tq3bsHtYwZwy7+WcaDskNdxJACFZYVqSRIRCSFVkkREhLMHdSYjuQ0Pz/7C6ygSALUkiYiElipJIiKCmfGb8wbw9LwNrNlW7HUcqUW5K/e1JGngBpFm4c4772TAgAEMHjyYUaNG8cknnwBQVlbGrbfeSmZmJtnZ2WRnZ3PnnXce3i82Npbs7GwGDBhAVlYW99xzD+Xl5XWeLyMjg507dzYo64EDBxg3bhxZWVkMHz78iGHFK7vtttvo3r07bdu2bdB5wkGVJBERAaBLUituOq0v0/69jPJy53UcqcGOvTtIsARax7f2OoqIhNi8efN4/fXXWbRoEUuXLuW1116je3dfK/LPf/5zNm/ezLJly8jLy+PDDz+ktLT08L6tWrUiLy+PFStW8M477zBr1ix+9atfNSiHcy6gCtZjjz1Ghw4dWLJkCTfddBO33HJLteXGjBlT7VxIkUSVJBEROex7w3pgwLOfbPA6itQgvziflPgUr2OISBhs2bKFlJQUWrZsCUBycjJdu3Zl7969PProozzwwAMkJCQAkJiYyB133FHtcVJTU5k+fTp//etfcS6wL8HWr19Pv379uOaaaxg6dCj5+fl17vPqq68yadIkAC666CLee++9as83YsQIunTpElAOr6iSJCIih8XEGHddOIh7313D5l37vI4j1cgvziclTpUkkebg9NNPJz8/n759+3LNNdcwZ84cANauXUuPHj1ITEwM+FhHHXUU5eXlbN++nc2bN3P22WfXuc/q1auZOHEiixcvpmfPnowbN+5w177Ky9NPPw3Apk2bDrd0xcXFkZSURGFhYQN+c+/FeR0gmMxsDDCmT58+XkcREYlafVITuX1Mf8oD/LaxKTCzM4H7gVjg7865u6ps7wA8DvQG9gOXOeeWm1l34GmgM1AOTHfO3R/KrJkdMhnWZlgoTyEiNRj01KCgH3PZpGU1bmvbti0LFy7kww8/5P3332fy5MncfffdDB069IhyTzzxBPfffz+FhYV89NFHhysqVVW06nTt2pVZs2bVma1nz56MGDHi8Pvnn3++1vLVtRqZWZ3niURNqpLknJsJzMzJybnS6ywiItHs3OxuXkcIGzOLBR4ETgMKgPlm9ppzbmWlYrcCec65883sGH/5U4Ay4EfOuUVmlggsNLN3quwbVANTBrKzVcMeqhaRxqmtQhMqsbGx5ObmkpubS58+fXjhhRe4+OKL2bhxI8XFxSQmJjJlyhSmTJnCwIEDOXSo+qkc1q1bR2xsLKmpqQGfu02bNke8HzduHKtXr/5WuZtvvpmJEyeSnp5Ofn4+SUlJlJWVUVRURMeOHev3C0eIJlVJEhERaYBhwFrn3DoAM3sOOBeoXNHpD/wewDn3mZllmFmac24LsMW/vtjMVgHdquwrItIgq1evJiYmhszMTACWLl1Kz549ad26NZdffjnXXXcdf/vb30hISODQoUMcPHiw2uPs2LGDq666iuuuu65RLTt1tSSNHTuWp556ij/+8Y+89NJLnHzyyWpJEhERiVLdgMpPJBcAw6uUWQJcAMwxs2FATyAd2FZRwMwygCHAJ9WdxMymAlMB0tLSmD17doMDl5SUNGr/cIqWrMoZfNGStbacSUlJFBd7Ny3Ctm3b+MlPfkJRURFxcXH06tWLBx54gOLiYqZNm8Zvf/tb+vfvT2JiIgkJCYwfP57ExESKi4vZt28fgwcPprS0lLi4OMaPH891111HcXExW7Zs4brrruNf//rXt87pnKOkpISSkhLKy8vr9ftf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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "ut.show_loss_acc_graph(opt_out_list, \"{}-{}\".format(dataset_name, model_name))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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9zt/X7oh6FAkinQ/kohI7CRUkmRmU8xs7vbt24MORUQkbiQlGb88exT/77m1fL5zb9DhSJQUlxcrSRJpIx577DHMjDVr1tRZJj8/n7feeiumcTTnGu7ONddcQ3Z2Njk5Obz99tu1lvvoo4848sgjGTZsGDNmzGDv3r0NHn/xxRfTq1cvRo0a1aTYapNQSZKmABcRqd2ofhmcOaYfs59ZHXQoEiUl5SVkdtRwO5G24MEHH+SYY445YHHWeFJZWdlgmWeeeYb333+f999/n7lz53LllVfWWu773/8+1113He+//z5du3bl7rvvbvD4GTNm8Oyzz0bnzYQlVJIkIiJ1u/6k4bzy3mcsWf950KFIFBSXFytJEmkDysrKWLRoEXffffcBSdKuXbuYNm0aOTk5TJ069YCFY6+88kry8vIYOXIkP/3pT6u3Dxo0iBtvvJGJEyeSl5fH22+/zcknn8zQoUO58847GxVX586d+clPfsKRRx7J4sWLGyz/xBNPMH36dMyMo446im3btrF58+YDyrg7L730Eueffz4AF1xwAY8//niDx0+ePJnu3aM706eSJBGRNqJz+xR+fMYIfvTYCvZV7g86HGmm4nJN3CDSFjz++OOccsopDB8+nO7du1cPM7vjjjvo2LEjy5Yt44c//CFLly6tPubmm2/mrbfeYtmyZbz88sssW7asel///v1ZvHgxxx57LDNmzODRRx/l3//+Nz/5yU+qy+Tm5jYY186dOxk1ahRvvPEGxxxzDNdddx25ublfesyePRuAjRs30r9//+rjs7Ky2Lhx4wHn3Lp1K127diUlJQWAfv36VZeJ5PhoSonZmUVEJO6cNro3D7+1gXte+4hDgw5GmqV4p+5JEmlxN8Xglo6b6r+X/sEHH+Taa68FYNq0aTz44IOMGzeOV155hWuuuQaAnJwccnJyqo955JFHmDt3LhUVFWzevJlVq1ZV7z/zzDMBGD16NGVlZaSnp5Oenk5aWhrbtm2ja9euFBYWNhh2cnIy5513XvXr3/3ud/WWd//yDKtmFnGZSI6PJiVJIiJtiJnxi7NGcvbti/jREWoCWqvK/ZVs3b2VXh2UJIm0qAYSmmjbunUrL730EitWrMDMqKysxMy45ZZbgNqThI8++ojf/va3LFmyhG7dujFjxgx2795dvb99+/YAJCUlVT+vel1RURFxbGlp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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "ut.show_time_graph(opt_out_list, \"{}-{}\".format(dataset_name, model_name))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.5" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..06968a5 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,1787 @@ +[[package]] +name = "anyio" +version = "3.3.4" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "dev" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +idna = ">=2.8" +sniffio = ">=1.1" +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +doc = ["sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"] +test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=6.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "mock (>=4)", "uvloop (>=0.15)"] +trio = ["trio (>=0.16)"] + +[[package]] +name = "appnope" +version = "0.1.2" +description = "Disable App Nap on macOS >= 10.9" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "argcomplete" +version = "1.12.3" +description = "Bash tab completion for argparse" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +importlib-metadata = {version = ">=0.23,<5", markers = "python_version == \"3.7\""} + +[package.extras] +test = ["coverage", "flake8", "pexpect", "wheel"] + +[[package]] +name = "argon2-cffi" +version = "21.1.0" +description = "The secure Argon2 password hashing algorithm." +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +cffi = ">=1.0.0" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest", "sphinx", "furo", "wheel", "pre-commit"] +docs = ["sphinx", "furo"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"] + +[[package]] +name = "attrs" +version = "21.2.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"] +docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] + +[[package]] +name = "babel" +version = "2.9.1" +description = "Internationalization utilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pytz = ">=2015.7" + +[[package]] +name = "backcall" +version = "0.2.0" +description = "Specifications for callback functions passed in to an API" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "bleach" +version = "4.1.0" +description = "An easy safelist-based HTML-sanitizing tool." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +packaging = "*" +six = ">=1.9.0" +webencodings = "*" + +[[package]] +name = "certifi" +version = "2021.10.8" +description = "Python package for providing Mozilla's CA Bundle." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "cffi" +version = "1.15.0" +description = "Foreign Function Interface for Python calling C code." +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "charset-normalizer" +version = "2.0.7" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "dev" +optional = false +python-versions = ">=3.5.0" + +[package.extras] +unicode_backport = ["unicodedata2"] + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "cycler" +version = "0.11.0" +description = "Composable style cycles" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "debugpy" +version = "1.5.1" +description = "An implementation of the Debug Adapter Protocol for Python" +category = "dev" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" + +[[package]] +name = "decorator" +version = "5.1.0" +description = "Decorators for Humans" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "entrypoints" +version = "0.3" +description = "Discover and load entry points from installed packages." +category = "dev" +optional = false +python-versions = ">=2.7" + +[[package]] +name = "fonttools" +version = "4.28.1" +description = "Tools to manipulate font files" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +all = ["fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "zopfli (>=0.1.4)", "lz4 (>=1.7.4.2)", "matplotlib", "sympy", "skia-pathops (>=0.5.0)", "brotlicffi (>=0.8.0)", "scipy", "brotli (>=1.0.1)", "munkres", "unicodedata2 (>=13.0.0)", "xattr"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["scipy", "munkres"] +lxml = ["lxml (>=4.0,<5)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=13.0.0)"] +woff = ["zopfli (>=0.1.4)", "brotlicffi (>=0.8.0)", "brotli (>=1.0.1)"] + +[[package]] +name = "idna" +version = "3.3" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "importlib-metadata" +version = "4.8.2" +description = "Read metadata from Python packages" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +perf = ["ipython"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] + +[[package]] +name = "importlib-resources" +version = "5.4.0" +description = "Read resources from Python packages" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-black (>=0.3.7)", "pytest-mypy"] + +[[package]] +name = "ipykernel" +version = "6.5.0" +description = "IPython Kernel for Jupyter" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +appnope = {version = "*", markers = "platform_system == \"Darwin\""} +argcomplete = {version = ">=1.12.3", markers = "python_version < \"3.8.0\""} +debugpy = ">=1.0.0,<2.0" +importlib-metadata = {version = "<5", markers = "python_version < \"3.8.0\""} +ipython = ">=7.23.1,<8.0" +jupyter-client = "<8.0" +matplotlib-inline = ">=0.1.0,<0.2.0" +tornado = ">=4.2,<7.0" +traitlets = ">=5.1.0,<6.0" + +[package.extras] +test = ["pytest (!=5.3.4)", "pytest-cov", "flaky", "nose", "ipyparallel"] + +[[package]] +name = "ipython" +version = "7.29.0" +description = "IPython: Productive Interactive Computing" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +appnope = {version = "*", markers = "sys_platform == \"darwin\""} +backcall = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +decorator = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} +pickleshare = "*" +prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" +pygments = "*" +traitlets = ">=4.2" + +[package.extras] +all = ["Sphinx (>=1.3)", "ipykernel", "ipyparallel", "ipywidgets", "nbconvert", "nbformat", "nose (>=0.10.1)", "notebook", "numpy (>=1.17)", "pygments", "qtconsole", "requests", "testpath"] +doc = ["Sphinx (>=1.3)"] +kernel = ["ipykernel"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["notebook", "ipywidgets"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.17)"] + +[[package]] +name = "ipython-genutils" +version = "0.2.0" +description = "Vestigial utilities from IPython" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "jedi" +version = "0.18.0" +description = "An autocompletion tool for Python that can be used for text editors." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +parso = ">=0.8.0,<0.9.0" + +[package.extras] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<6.0.0)"] + +[[package]] +name = "jinja2" +version = "3.0.3" +description = "A very fast and expressive template engine." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "json5" +version = "0.9.6" +description = "A Python implementation of the JSON5 data format." +category = "dev" +optional = false +python-versions = "*" + +[package.extras] +dev = ["hypothesis"] + +[[package]] +name = "jsonschema" +version = "4.2.1" +description = "An implementation of JSON Schema validation for Python" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +attrs = ">=17.4.0" +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} +pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" + +[package.extras] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format_nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] + +[[package]] +name = "jupyter-client" +version = "7.0.6" +description = "Jupyter protocol implementation and client libraries" +category = "dev" +optional = false +python-versions = ">=3.6.1" + +[package.dependencies] +entrypoints = "*" +jupyter-core = ">=4.6.0" +nest-asyncio = ">=1.5" +python-dateutil = ">=2.1" +pyzmq = ">=13" +tornado = ">=4.1" +traitlets = "*" + +[package.extras] +doc = ["myst-parser", "sphinx (>=1.3.6)", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] +test = ["codecov", "coverage", "ipykernel", "ipython", "mock", "mypy", "pre-commit", "pytest", "pytest-asyncio", "pytest-cov", "pytest-timeout", "jedi (<0.18)"] + +[[package]] +name = "jupyter-core" +version = "4.9.1" +description = "Jupyter core package. A base package on which Jupyter projects rely." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pywin32 = {version = ">=1.0", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} +traitlets = "*" + +[[package]] +name = "jupyter-server" +version = "1.11.2" +description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +anyio = ">=3.1.0,<4" +argon2-cffi = "*" +ipython-genutils = "*" +jinja2 = "*" +jupyter-client = ">=6.1.1" +jupyter-core = ">=4.6.0" +nbconvert = "*" +nbformat = "*" +prometheus-client = "*" +pyzmq = ">=17" +Send2Trash = "*" +terminado = ">=0.8.3" +tornado = ">=6.1.0" +traitlets = ">=4.2.1" +websocket-client = "*" + +[package.extras] +test = ["coverage", "pytest (>=6.0)", "pytest-cov", "pytest-mock", "requests", "pytest-tornasync", "pytest-console-scripts", "ipykernel"] + +[[package]] +name = "jupyterlab" +version = "3.2.3" +description = "JupyterLab computational environment" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +ipython = "*" +jinja2 = ">=2.1" +jupyter-core = "*" +jupyter-server = ">=1.4,<2.0" +jupyterlab-server = ">=2.3,<3.0" +nbclassic = ">=0.2,<1.0" +packaging = "*" +tornado = ">=6.1.0" + +[package.extras] +test = ["coverage", "pytest (>=6.0)", "pytest-cov", "pytest-console-scripts", "pytest-check-links (>=0.5)", "jupyterlab-server[test] (>=2.2,<3.0)", "requests", "requests-cache", "virtualenv", "check-manifest"] +ui-tests = ["build"] + +[[package]] +name = "jupyterlab-pygments" +version = "0.1.2" +description = "Pygments theme using JupyterLab CSS variables" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +pygments = ">=2.4.1,<3" + +[[package]] +name = "jupyterlab-server" +version = "2.8.2" +description = "A set of server components for JupyterLab and JupyterLab like applications ." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +babel = "*" +entrypoints = ">=0.2.2" +jinja2 = ">=2.10" +json5 = "*" +jsonschema = ">=3.0.1" +jupyter-server = ">=1.4,<2.0" +packaging = "*" +requests = "*" + +[package.extras] +test = ["codecov", "ipykernel", "pytest (>=5.3.2)", "pytest-cov", "jupyter-server", "openapi-core (>=0.14.0,<0.15.0)", "pytest-console-scripts", "strict-rfc3339", "ruamel.yaml", "wheel"] + +[[package]] +name = "kiwisolver" +version = "1.3.2" +description = "A fast implementation of the Cassowary constraint solver" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "markupsafe" +version = "2.0.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "matplotlib" +version = "3.5.0" +description = "Python plotting package" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.0.1" +numpy = ">=1.17" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.2.1" +python-dateutil = ">=2.7" +setuptools_scm = ">=4" + +[[package]] +name = "matplotlib-inline" +version = "0.1.3" +description = "Inline Matplotlib backend for Jupyter" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +traitlets = "*" + +[[package]] +name = "mistune" +version = "0.8.4" +description = "The fastest markdown parser in pure Python" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "nbclassic" +version = "0.3.4" +description = "Jupyter Notebook as a Jupyter Server extension." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +jupyter-server = ">=1.8,<2.0" +notebook = "<7" + +[package.extras] +test = ["pytest", "pytest-tornasync", "pytest-console-scripts"] + +[[package]] +name = "nbclient" +version = "0.5.8" +description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +category = "dev" +optional = false +python-versions = ">=3.6.1" + +[package.dependencies] +jupyter-client = ">=6.1.5" +nbformat = ">=5.0" +nest-asyncio = "*" +traitlets = ">=4.2" + +[package.extras] +dev = ["codecov", "coverage", "ipython", "ipykernel", "ipywidgets", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "check-manifest", "flake8", "mypy", "tox", "xmltodict", "pip (>=18.1)", "wheel (>=0.31.0)", "setuptools (>=38.6.0)", "twine (>=1.11.0)", "black"] +sphinx = ["Sphinx (>=1.7)", "sphinx-book-theme", "mock", "moto", "myst-parser"] +test = ["codecov", "coverage", "ipython", "ipykernel", "ipywidgets", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "check-manifest", "flake8", "mypy", "tox", "xmltodict", "pip (>=18.1)", "wheel (>=0.31.0)", "setuptools (>=38.6.0)", "twine (>=1.11.0)", "black"] + +[[package]] +name = "nbconvert" +version = "6.3.0" +description = "Converting Jupyter Notebooks" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +bleach = "*" +defusedxml = "*" +entrypoints = ">=0.2.2" +jinja2 = ">=2.4" +jupyter-core = "*" +jupyterlab-pygments = "*" +mistune = ">=0.8.1,<2" +nbclient = ">=0.5.0,<0.6.0" +nbformat = ">=4.4" +pandocfilters = ">=1.4.1" +pygments = ">=2.4.1" +testpath = "*" +traitlets = ">=5.0" + +[package.extras] +all = ["pytest", "pytest-cov", "pytest-dependency", "ipykernel", "ipywidgets (>=7)", "pyppeteer (==0.2.6)", "tornado (>=4.0)", "sphinx (>=1.5.1)", "sphinx-rtd-theme", "nbsphinx (>=0.2.12)", "ipython"] +docs = ["sphinx (>=1.5.1)", "sphinx-rtd-theme", "nbsphinx (>=0.2.12)", "ipython"] +serve = ["tornado (>=4.0)"] +test = ["pytest", "pytest-cov", "pytest-dependency", "ipykernel", "ipywidgets (>=7)", "pyppeteer (==0.2.6)"] +webpdf = ["pyppeteer (==0.2.6)"] + +[[package]] +name = "nbformat" +version = "5.1.3" +description = "The Jupyter Notebook format" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +ipython-genutils = "*" +jsonschema = ">=2.4,<2.5.0 || >2.5.0" +jupyter-core = "*" +traitlets = ">=4.1" + +[package.extras] +fast = ["fastjsonschema"] +test = ["check-manifest", "fastjsonschema", "testpath", "pytest", "pytest-cov"] + +[[package]] +name = "nest-asyncio" +version = "1.5.1" +description = "Patch asyncio to allow nested event loops" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "notebook" +version = "6.4.5" +description = "A web-based notebook environment for interactive computing" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +argon2-cffi = "*" +ipykernel = "*" +ipython-genutils = "*" +jinja2 = "*" +jupyter-client = ">=5.3.4" +jupyter-core = ">=4.6.1" +nbconvert = "*" +nbformat = "*" +prometheus-client = "*" +pyzmq = ">=17" +Send2Trash = ">=1.5.0" +terminado = ">=0.8.3" +tornado = ">=6.1" +traitlets = ">=4.2.1" + +[package.extras] +docs = ["sphinx", "nbsphinx", "sphinxcontrib-github-alt", "sphinx-rtd-theme", "myst-parser"] +json-logging = ["json-logging"] +test = ["pytest", "coverage", "requests", "nbval", "selenium", "pytest-cov", "requests-unixsocket"] + +[[package]] +name = "numpy" +version = "1.21.4" +description = "NumPy is the fundamental package for array computing with Python." +category = "main" +optional = false +python-versions = ">=3.7,<3.11" + +[[package]] +name = "packaging" +version = "21.2" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3" + +[[package]] +name = "pandocfilters" +version = "1.5.0" +description = "Utilities for writing pandoc filters in python" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "parso" +version = "0.8.2" +description = "A Python Parser" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["docopt", "pytest (<6.0.0)"] + +[[package]] +name = "pexpect" +version = "4.8.0" +description = "Pexpect allows easy control of interactive console applications." +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "pickleshare" +version = "0.7.5" +description = "Tiny 'shelve'-like database with concurrency support" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "pillow" +version = "8.4.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "prometheus-client" +version = "0.12.0" +description = "Python client for the Prometheus monitoring system." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.extras] +twisted = ["twisted"] + +[[package]] +name = "prompt-toolkit" +version = "3.0.22" +description = "Library for building powerful interactive command lines in Python" +category = "dev" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "pygments" +version = "2.10.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "pyrsistent" +version = "0.18.0" +description = "Persistent/Functional/Immutable data structures" +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2021.3" +description = "World timezone definitions, modern and historical" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "pywin32" +version = "302" +description = "Python for Window Extensions" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "pywinpty" +version = "1.1.6" +description = "Pseudo terminal support for Windows from Python." +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "pyzmq" +version = "22.3.0" +description = "Python bindings for 0MQ" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +cffi = {version = "*", markers = "implementation_name == \"pypy\""} +py = {version = "*", markers = "implementation_name == \"pypy\""} + +[[package]] +name = "requests" +version = "2.26.0" +description = "Python HTTP for Humans." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} +idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] +use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] + +[[package]] +name = "send2trash" +version = "1.8.0" +description = "Send file to trash natively under Mac OS X, Windows and Linux." +category = "dev" +optional = false +python-versions = "*" + +[package.extras] +nativelib = ["pyobjc-framework-cocoa", "pywin32"] +objc = ["pyobjc-framework-cocoa"] +win32 = ["pywin32"] + +[[package]] +name = "setuptools-scm" +version = "6.3.2" +description = "the blessed package to manage your versions by scm tags" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +packaging = ">=20.0" +tomli = ">=1.0.0" + +[package.extras] +toml = ["setuptools (>=42)", "tomli (>=1.0.0)"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "sniffio" +version = "1.2.0" +description = "Sniff out which async library your code is running under" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "terminado" +version = "0.12.1" +description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +ptyprocess = {version = "*", markers = "os_name != \"nt\""} +pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""} +tornado = ">=4" + +[package.extras] +test = ["pytest"] + +[[package]] +name = "testpath" +version = "0.5.0" +description = "Test utilities for code working with files and commands" +category = "dev" +optional = false +python-versions = ">= 3.5" + +[package.extras] +test = ["pytest", "pathlib2"] + +[[package]] +name = "tomli" +version = "1.2.2" +description = "A lil' TOML parser" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "torch" +version = "1.10.0" +description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" +category = "main" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +typing-extensions = "*" + +[[package]] +name = "torchvision" +version = "0.11.1" +description = "image and video datasets and models for torch deep learning" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +numpy = "*" +pillow = ">=5.3.0,<8.3.0 || >8.3.0" +torch = "1.10.0" + +[package.extras] +scipy = ["scipy"] + +[[package]] +name = "tornado" +version = "6.1" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +category = "dev" +optional = false +python-versions = ">= 3.5" + +[[package]] +name = "traitlets" +version = "5.1.1" +description = "Traitlets Python configuration system" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest"] + +[[package]] +name = "typing-extensions" +version = "4.0.0" +description = "Backported and Experimental Type Hints for Python 3.6+" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "urllib3" +version = "1.26.7" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +brotli = ["brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "wcwidth" +version = "0.2.5" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "websocket-client" +version = "1.2.1" +description = "WebSocket client for Python with low level API options" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +optional = ["python-socks", "wsaccel"] +test = ["websockets"] + +[[package]] +name = "zipp" +version = "3.6.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] + +[metadata] +lock-version = "1.1" +python-versions = ">=3.7,<3.11" +content-hash = "f8be03e55803a3113745f99bd6e86e426b3fdc38cd865fbdb1e8a645815508a6" + +[metadata.files] +anyio = [ + {file = "anyio-3.3.4-py3-none-any.whl", hash = "sha256:4fd09a25ab7fa01d34512b7249e366cd10358cdafc95022c7ff8c8f8a5026d66"}, + {file = "anyio-3.3.4.tar.gz", hash = "sha256:67da67b5b21f96b9d3d65daa6ea99f5d5282cb09f50eb4456f8fb51dffefc3ff"}, +] +appnope = [ + {file = "appnope-0.1.2-py2.py3-none-any.whl", hash = "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442"}, + {file = "appnope-0.1.2.tar.gz", hash = "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a"}, +] +argcomplete = [ + {file = "argcomplete-1.12.3-py2.py3-none-any.whl", hash = "sha256:291f0beca7fd49ce285d2f10e4c1c77e9460cf823eef2de54df0c0fec88b0d81"}, + {file = "argcomplete-1.12.3.tar.gz", hash = "sha256:2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445"}, +] +argon2-cffi = [ + {file = "argon2-cffi-21.1.0.tar.gz", hash = "sha256:f710b61103d1a1f692ca3ecbd1373e28aa5e545ac625ba067ff2feca1b2bb870"}, + {file = "argon2_cffi-21.1.0-cp35-abi3-macosx_10_14_x86_64.whl", hash = "sha256:217b4f0f853ccbbb5045242946ad2e162e396064575860141b71a85eb47e475a"}, + {file = "argon2_cffi-21.1.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fa7e7d1fc22514a32b1761fdfa1882b6baa5c36bb3ef557bdd69e6fc9ba14a41"}, + {file = "argon2_cffi-21.1.0-cp35-abi3-win32.whl", hash = "sha256:e4d8f0ae1524b7b0372a3e574a2561cbdddb3fdb6c28b70a72868189bda19659"}, + {file = "argon2_cffi-21.1.0-cp35-abi3-win_amd64.whl", hash = "sha256:65213a9174320a1aee03fe826596e0620783966b49eb636955958b3074e87ff9"}, + {file = "argon2_cffi-21.1.0-pp36-pypy36_pp73-macosx_10_7_x86_64.whl", hash = "sha256:245f64a203012b144b7b8c8ea6d468cb02b37caa5afee5ba4a10c80599334f6a"}, + {file = "argon2_cffi-21.1.0-pp36-pypy36_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4ad152c418f7eb640eac41ac815534e6aa61d1624530b8e7779114ecfbf327f8"}, + {file = "argon2_cffi-21.1.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:bc513db2283c385ea4da31a2cd039c33380701f376f4edd12fe56db118a3b21a"}, + {file = "argon2_cffi-21.1.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:c7a7c8cc98ac418002090e4add5bebfff1b915ea1cb459c578cd8206fef10378"}, + {file = "argon2_cffi-21.1.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:165cadae5ac1e26644f5ade3bd9c18d89963be51d9ea8817bd671006d7909057"}, + {file = "argon2_cffi-21.1.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:566ffb581bbd9db5562327aee71b2eda24a1c15b23a356740abe3c011bbe0dcb"}, +] +attrs = [ + {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, + {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, +] +babel = [ + {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"}, + {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"}, +] +backcall = [ + {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, + {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, +] +bleach = [ + {file = "bleach-4.1.0-py2.py3-none-any.whl", hash = "sha256:4d2651ab93271d1129ac9cbc679f524565cc8a1b791909c4a51eac4446a15994"}, + {file = "bleach-4.1.0.tar.gz", hash = "sha256:0900d8b37eba61a802ee40ac0061f8c2b5dee29c1927dd1d233e075ebf5a71da"}, +] +certifi = [ + {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, + {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"}, +] +cffi = [ + {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"}, + {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"}, + {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"}, + {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"}, + {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"}, + {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"}, + {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"}, + {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"}, + {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"}, + {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"}, + {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"}, + {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"}, + {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"}, + {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"}, + {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"}, + {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"}, + {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"}, + {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"}, + {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"}, + {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"}, + {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"}, + {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"}, + {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"}, + {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"}, + {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"}, +] +charset-normalizer = [ + {file = "charset-normalizer-2.0.7.tar.gz", hash = "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0"}, + {file = "charset_normalizer-2.0.7-py3-none-any.whl", hash = "sha256:f7af805c321bfa1ce6714c51f254e0d5bb5e5834039bc17db7ebe3a4cec9492b"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +cycler = [ + {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, + {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, +] +debugpy = [ + {file = "debugpy-1.5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:70b422c63a833630c33e3f9cdbd9b6971f8c5afd452697e464339a21bbe862ba"}, + {file = "debugpy-1.5.1-cp310-cp310-win32.whl", hash = "sha256:3a457ad9c0059a21a6c7d563c1f18e924f5cf90278c722bd50ede6f56b77c7fe"}, + {file = "debugpy-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:5d76a4fd028d8009c3faf1185b4b78ceb2273dd2499447664b03939e0368bb90"}, + {file = "debugpy-1.5.1-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:16db27b4b91991442f91d73604d32080b30de655aca9ba821b1972ea8171021b"}, + {file = "debugpy-1.5.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2b073ad5e8d8c488fbb6a116986858bab0c9c4558f28deb8832c7a5a27405bd6"}, + {file = "debugpy-1.5.1-cp36-cp36m-win32.whl", hash = "sha256:318f81f37341e4e054b4267d39896b73cddb3612ca13b39d7eea45af65165e1d"}, + {file = "debugpy-1.5.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b5b3157372e0e0a1297a8b6b5280bcf1d35a40f436c7973771c972726d1e32d5"}, + {file = "debugpy-1.5.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:1ec3a086e14bba6c472632025b8fe5bdfbaef2afa1ebd5c6615ce6ed8d89bc67"}, + {file = "debugpy-1.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:26fbe53cca45a608679094791ce587b6e2798acd1d4777a8b303b07622e85182"}, + {file = "debugpy-1.5.1-cp37-cp37m-win32.whl", hash = "sha256:d876db8c312eeb02d85611e0f696abe66a2c1515e6405943609e725d5ff36f2a"}, + {file = "debugpy-1.5.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4404a62fb5332ea5c8c9132290eef50b3a0ba38cecacad5529e969a783bcbdd7"}, + {file = "debugpy-1.5.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f3a3dca9104aa14fd4210edcce6d9ce2b65bd9618c0b222135a40b9d6e2a9eeb"}, + {file = "debugpy-1.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2df2c373e85871086bd55271c929670cd4e1dba63e94a08d442db830646203b"}, + {file = "debugpy-1.5.1-cp38-cp38-win32.whl", hash = "sha256:82f5f9ce93af6861a0713f804e62ab390bb12a17f113153e47fea8bbb1dfbe36"}, + {file = "debugpy-1.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:17a25ce9d7714f92fc97ef00cc06269d7c2b163094990ada30156ed31d9a5030"}, + {file = "debugpy-1.5.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:01e98c594b3e66d529e40edf314f849cd1a21f7a013298df58cd8e263bf8e184"}, + {file = "debugpy-1.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f73988422b17f071ad3c4383551ace1ba5ed810cbab5f9c362783d22d40a08dc"}, + {file = "debugpy-1.5.1-cp39-cp39-win32.whl", hash = "sha256:23df67fc56d59e386c342428a7953c2c06cc226d8525b11319153e96afb65b0c"}, + {file = "debugpy-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2aa64f6d2ca7ded8a7e8a4e7cae3bc71866b09876b7b05cecad231779cb9156"}, + {file = "debugpy-1.5.1-py2.py3-none-any.whl", hash = "sha256:194f95dd3e84568b5489aab5689a3a2c044e8fdc06f1890b8b4f70b6b89f2778"}, + {file = "debugpy-1.5.1.zip", hash = "sha256:d2b09e91fbd1efa4f4fda121d49af89501beda50c18ed7499712c71a4bf3452e"}, +] +decorator = [ + {file = "decorator-5.1.0-py3-none-any.whl", hash = "sha256:7b12e7c3c6ab203a29e157335e9122cb03de9ab7264b137594103fd4a683b374"}, + {file = "decorator-5.1.0.tar.gz", hash = "sha256:e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7"}, +] +defusedxml = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] +entrypoints = [ + {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"}, + {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"}, +] +fonttools = [ + {file = "fonttools-4.28.1-py3-none-any.whl", hash = "sha256:68071406009e7ef6a5fdcd85d95975cd6963867bb226f2b786bfffe15d1959ef"}, + {file = "fonttools-4.28.1.zip", hash = "sha256:8c8f84131bf04f3b1dcf99b9763cec35c347164ab6ad006e18d2f99fcab05529"}, +] +idna = [ + {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, + {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, +] +importlib-metadata = [ + {file = "importlib_metadata-4.8.2-py3-none-any.whl", hash = "sha256:53ccfd5c134223e497627b9815d5030edf77d2ed573922f7a0b8f8bb81a1c100"}, + {file = "importlib_metadata-4.8.2.tar.gz", hash = "sha256:75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb"}, +] +importlib-resources = [ + {file = "importlib_resources-5.4.0-py3-none-any.whl", hash = "sha256:33a95faed5fc19b4bc16b29a6eeae248a3fe69dd55d4d229d2b480e23eeaad45"}, + {file = "importlib_resources-5.4.0.tar.gz", hash = "sha256:d756e2f85dd4de2ba89be0b21dba2a3bbec2e871a42a3a16719258a11f87506b"}, +] +ipykernel = [ + {file = "ipykernel-6.5.0-py3-none-any.whl", hash = "sha256:f43de132feea90f86d68c51013afe9694f9415f440053ec9909dd656c75b04b5"}, + {file = "ipykernel-6.5.0.tar.gz", hash = "sha256:299795cca2c4aed7e233e3ad5360e1c73627fd0dcec11a9e75d5b2df43629353"}, +] +ipython = [ + {file = "ipython-7.29.0-py3-none-any.whl", hash = "sha256:a658beaf856ce46bc453366d5dc6b2ddc6c481efd3540cb28aa3943819caac9f"}, + {file = "ipython-7.29.0.tar.gz", hash = "sha256:4f69d7423a5a1972f6347ff233e38bbf4df6a150ef20fbb00c635442ac3060aa"}, +] +ipython-genutils = [ + {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"}, + {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"}, +] +jedi = [ + {file = "jedi-0.18.0-py2.py3-none-any.whl", hash = "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93"}, + {file = "jedi-0.18.0.tar.gz", hash = "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707"}, +] +jinja2 = [ + {file = "Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"}, + {file = "Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"}, +] +json5 = [ + {file = "json5-0.9.6-py2.py3-none-any.whl", hash = "sha256:823e510eb355949bed817e1f3e2d682455dc6af9daf6066d5698d6a2ca4481c2"}, + {file = "json5-0.9.6.tar.gz", hash = "sha256:9175ad1bc248e22bb8d95a8e8d765958bf0008fef2fe8abab5bc04e0f1ac8302"}, +] +jsonschema = [ + {file = "jsonschema-4.2.1-py3-none-any.whl", hash = "sha256:2a0f162822a64d95287990481b45d82f096e99721c86534f48201b64ebca6e8c"}, + {file = "jsonschema-4.2.1.tar.gz", hash = "sha256:390713469ae64b8a58698bb3cbc3859abe6925b565a973f87323ef21b09a27a8"}, +] +jupyter-client = [ + {file = "jupyter_client-7.0.6-py3-none-any.whl", hash = "sha256:074bdeb1ffaef4a3095468ee16313938cfdc48fc65ca95cc18980b956c2e5d79"}, + {file = "jupyter_client-7.0.6.tar.gz", hash = "sha256:8b6e06000eb9399775e0a55c52df6c1be4766666209c22f90c2691ded0e338dc"}, +] +jupyter-core = [ + {file = "jupyter_core-4.9.1-py3-none-any.whl", hash = "sha256:1c091f3bbefd6f2a8782f2c1db662ca8478ac240e962ae2c66f0b87c818154ea"}, + {file = "jupyter_core-4.9.1.tar.gz", hash = "sha256:dce8a7499da5a53ae3afd5a9f4b02e5df1d57250cf48f3ad79da23b4778cd6fa"}, +] +jupyter-server = [ + {file = "jupyter_server-1.11.2-py3-none-any.whl", hash = "sha256:eb247b555f5bdfb4a219d78e86bc8769456a1a712d8e30a4dbe06e3fe7e8a278"}, + {file = "jupyter_server-1.11.2.tar.gz", hash = "sha256:c1f32e0c1807ab2de37bf70af97a36b4436db0bc8af3124632b1f4441038bf95"}, +] +jupyterlab = [ + {file = "jupyterlab-3.2.3-py3-none-any.whl", hash = "sha256:7d7f0280654a8472c47a9d7b5164b74a961a8095ad4ce7fb26ef539ea1d7efd1"}, + {file = "jupyterlab-3.2.3.tar.gz", hash = "sha256:7d74593e52d4dbfacbb98e14cac4bc765ea2cffb1b980675f44930d622871705"}, +] +jupyterlab-pygments = [ + {file = "jupyterlab_pygments-0.1.2-py2.py3-none-any.whl", hash = "sha256:abfb880fd1561987efaefcb2d2ac75145d2a5d0139b1876d5be806e32f630008"}, + {file = "jupyterlab_pygments-0.1.2.tar.gz", hash = "sha256:cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146"}, +] +jupyterlab-server = [ + {file = "jupyterlab_server-2.8.2-py3-none-any.whl", hash = "sha256:9507f059ddb3d088674ed76fd3d751cedd940f8a74055e2250bf44babcc2ea1f"}, + {file = "jupyterlab_server-2.8.2.tar.gz", hash = "sha256:26d813c8162c83d466df7d155865987dabe70aa452f9187dfb79fd88afc8fa0b"}, +] +kiwisolver = [ + {file = "kiwisolver-1.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1d819553730d3c2724582124aee8a03c846ec4362ded1034c16fb3ef309264e6"}, + {file = "kiwisolver-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d93a1095f83e908fc253f2fb569c2711414c0bfd451cab580466465b235b470"}, + {file = "kiwisolver-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4550a359c5157aaf8507e6820d98682872b9100ce7607f8aa070b4b8af6c298"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2210f28778c7d2ee13f3c2a20a3a22db889e75f4ec13a21072eabb5693801e84"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:82f49c5a79d3839bc8f38cb5f4bfc87e15f04cbafa5fbd12fb32c941cb529cfb"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9661a04ca3c950a8ac8c47f53cbc0b530bce1b52f516a1e87b7736fec24bfff0"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ddb500a2808c100e72c075cbb00bf32e62763c82b6a882d403f01a119e3f402"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72be6ebb4e92520b9726d7146bc9c9b277513a57a38efcf66db0620aec0097e0"}, + {file = "kiwisolver-1.3.2-cp310-cp310-win32.whl", hash = "sha256:83d2c9db5dfc537d0171e32de160461230eb14663299b7e6d18ca6dca21e4977"}, + {file = "kiwisolver-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:cba430db673c29376135e695c6e2501c44c256a81495da849e85d1793ee975ad"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4116ba9a58109ed5e4cb315bdcbff9838f3159d099ba5259c7c7fb77f8537492"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19554bd8d54cf41139f376753af1a644b63c9ca93f8f72009d50a2080f870f77"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a4cf5bbdc861987a7745aed7a536c6405256853c94abc9f3287c3fa401b174"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0007840186bacfaa0aba4466d5890334ea5938e0bb7e28078a0eb0e63b5b59d5"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec2eba188c1906b05b9b49ae55aae4efd8150c61ba450e6721f64620c50b59eb"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3dbb3cea20b4af4f49f84cffaf45dd5f88e8594d18568e0225e6ad9dec0e7967"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-win32.whl", hash = "sha256:5326ddfacbe51abf9469fe668944bc2e399181a2158cb5d45e1d40856b2a0589"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:c6572c2dab23c86a14e82c245473d45b4c515314f1f859e92608dcafbd2f19b8"}, + {file = "kiwisolver-1.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b5074fb09429f2b7bc82b6fb4be8645dcbac14e592128beeff5461dcde0af09f"}, + {file = "kiwisolver-1.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:22521219ca739654a296eea6d4367703558fba16f98688bd8ce65abff36eaa84"}, + {file = "kiwisolver-1.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c358721aebd40c243894298f685a19eb0491a5c3e0b923b9f887ef1193ddf829"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ba5a1041480c6e0a8b11a9544d53562abc2d19220bfa14133e0cdd9967e97af"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44e6adf67577dbdfa2d9f06db9fbc5639afefdb5bf2b4dfec25c3a7fbc619536"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d45d1c74f88b9f41062716c727f78f2a59a5476ecbe74956fafb423c5c87a76"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70adc3658138bc77a36ce769f5f183169bc0a2906a4f61f09673f7181255ac9b"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6a5431940f28b6de123de42f0eb47b84a073ee3c3345dc109ad550a3307dd28"}, + {file = "kiwisolver-1.3.2-cp38-cp38-win32.whl", hash = "sha256:ee040a7de8d295dbd261ef2d6d3192f13e2b08ec4a954de34a6fb8ff6422e24c"}, + {file = "kiwisolver-1.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:8dc3d842fa41a33fe83d9f5c66c0cc1f28756530cd89944b63b072281e852031"}, + {file = "kiwisolver-1.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a498bcd005e8a3fedd0022bb30ee0ad92728154a8798b703f394484452550507"}, + {file = "kiwisolver-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80efd202108c3a4150e042b269f7c78643420cc232a0a771743bb96b742f838f"}, + {file = "kiwisolver-1.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f8eb7b6716f5b50e9c06207a14172cf2de201e41912ebe732846c02c830455b9"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f441422bb313ab25de7b3dbfd388e790eceb76ce01a18199ec4944b369017009"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:30fa008c172355c7768159983a7270cb23838c4d7db73d6c0f6b60dde0d432c6"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f8f6c8f4f1cff93ca5058d6ec5f0efda922ecb3f4c5fb76181f327decff98b8"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba677bcaff9429fd1bf01648ad0901cea56c0d068df383d5f5856d88221fe75b"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7843b1624d6ccca403a610d1277f7c28ad184c5aa88a1750c1a999754e65b439"}, + {file = "kiwisolver-1.3.2-cp39-cp39-win32.whl", hash = "sha256:e6f5eb2f53fac7d408a45fbcdeda7224b1cfff64919d0f95473420a931347ae9"}, + {file = "kiwisolver-1.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:eedd3b59190885d1ebdf6c5e0ca56828beb1949b4dfe6e5d0256a461429ac386"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:dedc71c8eb9c5096037766390172c34fb86ef048b8e8958b4e484b9e505d66bc"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:bf7eb45d14fc036514c09554bf983f2a72323254912ed0c3c8e697b62c4c158f"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2b65bd35f3e06a47b5c30ea99e0c2b88f72c6476eedaf8cfbc8e66adb5479dcf"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25405f88a37c5f5bcba01c6e350086d65e7465fd1caaf986333d2a045045a223"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:bcadb05c3d4794eb9eee1dddf1c24215c92fb7b55a80beae7a60530a91060560"}, + {file = "kiwisolver-1.3.2.tar.gz", hash = "sha256:fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c"}, +] +markupsafe = [ + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"}, + {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"}, +] +matplotlib = [ + {file = "matplotlib-3.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4b018ea6f26424a0852eb60eb406420d9f0d34f65736ea7bbfbb104946a66d86"}, + {file = "matplotlib-3.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a07ff2565da72a7b384a9e000b15b6b8270d81370af8a3531a16f6fbcee023cc"}, + {file = "matplotlib-3.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2eea16883aa7724c95eea0eb473ab585c6cf66f0e28f7f13e63deb38f4fd6d0f"}, + {file = "matplotlib-3.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e020a42f3338823a393dd2f80e39a2c07b9f941dfe2c778eb104eeb33d60bb5"}, + {file = "matplotlib-3.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bac8eb1eccef540d7f4e844b6313d9f7722efd48c07e1b4bfec1056132127fd"}, + {file = "matplotlib-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a7cb59ebd63a8ac4542ec1c61dd08724f82ec3aa7bb6b4b9e212d43c611ce3d"}, + {file = "matplotlib-3.5.0-cp310-cp310-win32.whl", hash = "sha256:6e0e6b2111165522ad336705499b1f968c34a9e84d05d498ee5af0b5697d1efe"}, + {file = "matplotlib-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:ff5d9fe518ad2de14ce82ab906b6ab5c2b0c7f4f984400ff8a7a905daa580a0a"}, + {file = "matplotlib-3.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:66b172610db0ececebebb09d146f54205f87c7b841454e408fba854764f91bdd"}, + {file = "matplotlib-3.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee3d9ff16d749a9aa521bd7d86f0dbf256b2d2ac8ce31b19e4d2c86d2f2ff0b6"}, + {file = "matplotlib-3.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970aa97297537540369d05fe0fd1bb952593f9ab696c9b427c06990a83e2418b"}, + {file = "matplotlib-3.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:153a0cf6a6ff4f406a0600d2034710c49988bacc6313d193b32716f98a697580"}, + {file = "matplotlib-3.5.0-cp37-cp37m-win32.whl", hash = "sha256:6db02c5605f063b67780f4d5753476b6a4944343284aa4e93c5e8ff6e9ec7f76"}, + {file = "matplotlib-3.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:df0042cab69f4d246f4cb8fc297770ac4ae6ec2983f61836b04a117722037dcd"}, + {file = "matplotlib-3.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a7bf8b05c214d32fb7ca7c001fde70b9b426378e897b0adbf77b85ea3569d56a"}, + {file = "matplotlib-3.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0abf8b51cc6d3ba34d1b15b26e329f23879848a0cf1216954c1f432ffc7e1af7"}, + {file = "matplotlib-3.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:13930a0c9bec0fd25f43c448b047a21af1353328b946f044a8fc3be077c6b1a8"}, + {file = "matplotlib-3.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18f6e52386300db5cc4d1e9019ad9da2e80658bab018834d963ebb0aa5355095"}, + {file = "matplotlib-3.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba107add08e12600b072cf3c47aaa1ab85dd4d3c48107a5d3377d1bf80f8b235"}, + {file = "matplotlib-3.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2089b9014792dcc87bb1d620cde847913338abf7d957ef05587382b0cb76d44e"}, + {file = "matplotlib-3.5.0-cp38-cp38-win32.whl", hash = "sha256:f23fbf70d2e80f4e03a83fc1206a8306d9bc50482fee4239f10676ce7e470c83"}, + {file = "matplotlib-3.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:71a1851111f23f82fc43d2b6b2bfdd3f760579a664ebc939576fe21cc6133d01"}, + {file = "matplotlib-3.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d092b7ba63182d2dd427904e3eb58dd5c46ec67c5968de14a4b5007010a3a4cc"}, + {file = "matplotlib-3.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ac17a7e7b06ee426a4989f0b7f24ab1a592e39cdf56353a90f4e998bc0bf44d6"}, + {file = "matplotlib-3.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a5b62d1805cc83d755972033c05cea78a1e177a159fc84da5c9c4ab6303ccbd9"}, + {file = "matplotlib-3.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:666d717a4798eb9c5d3ae83fe80c7bc6ed696b93e879cb01cb24a74155c73612"}, + {file = "matplotlib-3.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65f877882b7ddede7090c7d87be27a0f4720fe7fc6fddd4409c06e1aa0f1ae8d"}, + {file = "matplotlib-3.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7baf23adb698d8c6ca7339c9dde00931bc47b2dd82fa912827fef9f93db77f5e"}, + {file = "matplotlib-3.5.0-cp39-cp39-win32.whl", hash = "sha256:b3b687e905da32e5f2e5f16efa713f5d1fcd9fb8b8c697895de35c91fedeb086"}, + {file = "matplotlib-3.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:a6cef5b31e27c31253c0f852b629a38d550ae66ec6850129c49d872f9ee428cb"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a0dcaf5648cecddc328e81a0421821a1f65a1d517b20746c94a1f0f5c36fb51a"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b5e439d9e55d645f2a4dca63e2f66d68fe974c405053b132d61c7e98c25dfeb2"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dc8c5c23e7056e126275dbf29efba817b3d94196690930d0968873ac3a94ab82"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a0ea10faa3bab0714d3a19c7e0921279a68d57552414d6eceaea99f97d7735db"}, + {file = "matplotlib-3.5.0.tar.gz", hash = "sha256:38892a254420d95594285077276162a5e9e9c30b6da08bdc2a4d53331ad9a6fa"}, +] +matplotlib-inline = [ + {file = "matplotlib-inline-0.1.3.tar.gz", hash = "sha256:a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee"}, + {file = "matplotlib_inline-0.1.3-py3-none-any.whl", hash = "sha256:aed605ba3b72462d64d475a21a9296f400a19c4f74a31b59103d2a99ffd5aa5c"}, +] +mistune = [ + {file = "mistune-0.8.4-py2.py3-none-any.whl", hash = "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4"}, + {file = "mistune-0.8.4.tar.gz", hash = "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e"}, +] +nbclassic = [ + {file = "nbclassic-0.3.4-py3-none-any.whl", hash = "sha256:9c7b7987a148ecdd1827b47fe6f6968b2ddabf663142f81254000cb77ee5bd10"}, + {file = "nbclassic-0.3.4.tar.gz", hash = "sha256:f00b07ef4908fc38fd332d2676ccd3ceea5076528feaf21bd27e809ef20f5578"}, +] +nbclient = [ + {file = "nbclient-0.5.8-py3-none-any.whl", hash = "sha256:e85d4d6280d0a0237c1a6ec7a5e0757cf40a1fcb8c47253516b3a1f87f4ceae8"}, + {file = "nbclient-0.5.8.tar.gz", hash = "sha256:34f52cc9cb831a5d8ccd7031537e354c75dc61a24487f998712d1289de320a25"}, +] +nbconvert = [ + {file = "nbconvert-6.3.0-py3-none-any.whl", hash = "sha256:8f23fbeabda4a500685d788ee091bf22cf34119304314304fb39f16e2fc32f37"}, + {file = "nbconvert-6.3.0.tar.gz", hash = "sha256:5e77d6203854944520105e38f2563a813a4a3708e8563aa598928a3b5ee1081a"}, +] +nbformat = [ + {file = "nbformat-5.1.3-py3-none-any.whl", hash = "sha256:eb8447edd7127d043361bc17f2f5a807626bc8e878c7709a1c647abda28a9171"}, + {file = "nbformat-5.1.3.tar.gz", hash = "sha256:b516788ad70771c6250977c1374fcca6edebe6126fd2adb5a69aa5c2356fd1c8"}, +] +nest-asyncio = [ + {file = "nest_asyncio-1.5.1-py3-none-any.whl", hash = "sha256:76d6e972265063fe92a90b9cc4fb82616e07d586b346ed9d2c89a4187acea39c"}, + {file = "nest_asyncio-1.5.1.tar.gz", hash = "sha256:afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa"}, +] +notebook = [ + {file = "notebook-6.4.5-py3-none-any.whl", hash = "sha256:f7b4362698fed34f44038de0517b2e5136c1e7c379797198c1736121d3d597bd"}, + {file = "notebook-6.4.5.tar.gz", hash = "sha256:872e20da9ae518bbcac3e4e0092d5bd35454e847dedb8cb9739e9f3b68406be0"}, +] +numpy = [ + {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8890b3360f345e8360133bc078d2dacc2843b6ee6059b568781b15b97acbe39f"}, + {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:69077388c5a4b997442b843dbdc3a85b420fb693ec8e33020bb24d647c164fa5"}, + {file = "numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e89717274b41ebd568cd7943fc9418eeb49b1785b66031bc8a7f6300463c5898"}, + {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823"}, + {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:615d4e328af7204c13ae3d4df7615a13ff60a49cb0d9106fde07f541207883ca"}, + {file = "numpy-1.21.4-cp310-cp310-win_amd64.whl", hash = "sha256:1403b4e2181fc72664737d848b60e65150f272fe5a1c1cbc16145ed43884065a"}, + {file = "numpy-1.21.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74b85a17528ca60cf98381a5e779fc0264b4a88b46025e6bcbe9621f46bb3e63"}, + {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:92aafa03da8658609f59f18722b88f0a73a249101169e28415b4fa148caf7e41"}, + {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5d95668e727c75b3f5088ec7700e260f90ec83f488e4c0aaccb941148b2cd377"}, + {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73"}, + {file = "numpy-1.21.4-cp37-cp37m-win32.whl", hash = "sha256:81225e58ef5fce7f1d80399575576fc5febec79a8a2742e8ef86d7b03beef49f"}, + {file = "numpy-1.21.4-cp37-cp37m-win_amd64.whl", hash = "sha256:32fe5b12061f6446adcbb32cf4060a14741f9c21e15aaee59a207b6ce6423469"}, + {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c449eb870616a7b62e097982c622d2577b3dbc800aaf8689254ec6e0197cbf1e"}, + {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2e4ed57f45f0aa38beca2a03b6532e70e548faf2debbeb3291cfc9b315d9be8f"}, + {file = "numpy-1.21.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1247ef28387b7bb7f21caf2dbe4767f4f4175df44d30604d42ad9bd701ebb31f"}, + {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:34f3456f530ae8b44231c63082c8899fe9c983fd9b108c997c4b1c8c2d435333"}, + {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c9c23158b87ed0e70d9a50c67e5c0b3f75bcf2581a8e34668d4e9d7474d76c6"}, + {file = "numpy-1.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4799be6a2d7d3c33699a6f77201836ac975b2e1b98c2a07f66a38f499cb50ce"}, + {file = "numpy-1.21.4-cp38-cp38-win32.whl", hash = "sha256:bc988afcea53e6156546e5b2885b7efab089570783d9d82caf1cfd323b0bb3dd"}, + {file = "numpy-1.21.4-cp38-cp38-win_amd64.whl", hash = "sha256:170b2a0805c6891ca78c1d96ee72e4c3ed1ae0a992c75444b6ab20ff038ba2cd"}, + {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d"}, + {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c885bfc07f77e8fee3dc879152ba993732601f1f11de248d4f357f0ffea6a6d4"}, + {file = "numpy-1.21.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e6f5f50d1eff2f2f752b3089a118aee1ea0da63d56c44f3865681009b0af162"}, + {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ad010846cdffe7ec27e3f933397f8a8d6c801a48634f419e3d075db27acf5880"}, + {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c74c699b122918a6c4611285cc2cad4a3aafdb135c22a16ec483340ef97d573c"}, + {file = "numpy-1.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9864424631775b0c052f3bd98bc2712d131b3e2cd95d1c0c68b91709170890b0"}, + {file = "numpy-1.21.4-cp39-cp39-win32.whl", hash = "sha256:b1e2312f5b8843a3e4e8224b2b48fe16119617b8fc0a54df8f50098721b5bed2"}, + {file = "numpy-1.21.4-cp39-cp39-win_amd64.whl", hash = "sha256:e3c3e990274444031482a31280bf48674441e0a5b55ddb168f3a6db3e0c38ec8"}, + {file = "numpy-1.21.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a3deb31bc84f2b42584b8c4001c85d1934dbfb4030827110bc36bfd11509b7bf"}, + {file = "numpy-1.21.4.zip", hash = "sha256:e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0"}, +] +packaging = [ + {file = "packaging-21.2-py3-none-any.whl", hash = "sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0"}, + {file = "packaging-21.2.tar.gz", hash = "sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966"}, +] +pandocfilters = [ + {file = "pandocfilters-1.5.0-py2.py3-none-any.whl", hash = "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f"}, + {file = "pandocfilters-1.5.0.tar.gz", hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38"}, +] +parso = [ + {file = "parso-0.8.2-py2.py3-none-any.whl", hash = "sha256:a8c4922db71e4fdb90e0d0bc6e50f9b273d3397925e5e60a717e719201778d22"}, + {file = "parso-0.8.2.tar.gz", hash = "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398"}, +] +pexpect = [ + {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, + {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, +] +pickleshare = [ + {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, + {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, +] +pillow = [ + {file = "Pillow-8.4.0-cp310-cp310-macosx_10_10_universal2.whl", hash = "sha256:81f8d5c81e483a9442d72d182e1fb6dcb9723f289a57e8030811bac9ea3fef8d"}, + {file = "Pillow-8.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3f97cfb1e5a392d75dd8b9fd274d205404729923840ca94ca45a0af57e13dbe6"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb9fc393f3c61f9054e1ed26e6fe912c7321af2f41ff49d3f83d05bacf22cc78"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d82cdb63100ef5eedb8391732375e6d05993b765f72cb34311fab92103314649"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc1afda735a8d109007164714e73771b499768b9bb5afcbbee9d0ff374b43f"}, + {file = "Pillow-8.4.0-cp310-cp310-win32.whl", hash = "sha256:e3dacecfbeec9a33e932f00c6cd7996e62f53ad46fbe677577394aaa90ee419a"}, + {file = "Pillow-8.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:620582db2a85b2df5f8a82ddeb52116560d7e5e6b055095f04ad828d1b0baa39"}, + {file = "Pillow-8.4.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:1bc723b434fbc4ab50bb68e11e93ce5fb69866ad621e3c2c9bdb0cd70e345f55"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72cbcfd54df6caf85cc35264c77ede902452d6df41166010262374155947460c"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70ad9e5c6cb9b8487280a02c0ad8a51581dcbbe8484ce058477692a27c151c0a"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25a49dc2e2f74e65efaa32b153527fc5ac98508d502fa46e74fa4fd678ed6645"}, + {file = "Pillow-8.4.0-cp36-cp36m-win32.whl", hash = "sha256:93ce9e955cc95959df98505e4608ad98281fff037350d8c2671c9aa86bcf10a9"}, + {file = "Pillow-8.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2e4440b8f00f504ee4b53fe30f4e381aae30b0568193be305256b1462216feff"}, + {file = "Pillow-8.4.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:8c803ac3c28bbc53763e6825746f05cc407b20e4a69d0122e526a582e3b5e153"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8a17b5d948f4ceeceb66384727dde11b240736fddeda54ca740b9b8b1556b29"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1394a6ad5abc838c5cd8a92c5a07535648cdf6d09e8e2d6df916dfa9ea86ead8"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:792e5c12376594bfcb986ebf3855aa4b7c225754e9a9521298e460e92fb4a488"}, + {file = "Pillow-8.4.0-cp37-cp37m-win32.whl", hash = "sha256:d99ec152570e4196772e7a8e4ba5320d2d27bf22fdf11743dd882936ed64305b"}, + {file = "Pillow-8.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7b7017b61bbcdd7f6363aeceb881e23c46583739cb69a3ab39cb384f6ec82e5b"}, + {file = "Pillow-8.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:d89363f02658e253dbd171f7c3716a5d340a24ee82d38aab9183f7fdf0cdca49"}, + {file = "Pillow-8.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a0956fdc5defc34462bb1c765ee88d933239f9a94bc37d132004775241a7585"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b7bb9de00197fb4261825c15551adf7605cf14a80badf1761d61e59da347779"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72b9e656e340447f827885b8d7a15fc8c4e68d410dc2297ef6787eec0f0ea409"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5a4532a12314149d8b4e4ad8ff09dde7427731fcfa5917ff16d0291f13609df"}, + {file = "Pillow-8.4.0-cp38-cp38-win32.whl", hash = "sha256:82aafa8d5eb68c8463b6e9baeb4f19043bb31fefc03eb7b216b51e6a9981ae09"}, + {file = "Pillow-8.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:066f3999cb3b070a95c3652712cffa1a748cd02d60ad7b4e485c3748a04d9d76"}, + {file = "Pillow-8.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:5503c86916d27c2e101b7f71c2ae2cddba01a2cf55b8395b0255fd33fa4d1f1a"}, + {file = "Pillow-8.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4acc0985ddf39d1bc969a9220b51d94ed51695d455c228d8ac29fcdb25810e6e"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b052a619a8bfcf26bd8b3f48f45283f9e977890263e4571f2393ed8898d331b"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:493cb4e415f44cd601fcec11c99836f707bb714ab03f5ed46ac25713baf0ff20"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8831cb7332eda5dc89b21a7bce7ef6ad305548820595033a4b03cf3091235ed"}, + {file = "Pillow-8.4.0-cp39-cp39-win32.whl", hash = "sha256:5e9ac5f66616b87d4da618a20ab0a38324dbe88d8a39b55be8964eb520021e02"}, + {file = "Pillow-8.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:3eb1ce5f65908556c2d8685a8f0a6e989d887ec4057326f6c22b24e8a172c66b"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ddc4d832a0f0b4c52fff973a0d44b6c99839a9d016fe4e6a1cb8f3eea96479c2"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a3e5ddc44c14042f0844b8cf7d2cd455f6cc80fd7f5eefbe657292cf601d9ad"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c70e94281588ef053ae8998039610dbd71bc509e4acbc77ab59d7d2937b10698"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:3862b7256046fcd950618ed22d1d60b842e3a40a48236a5498746f21189afbbc"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4901622493f88b1a29bd30ec1a2f683782e57c3c16a2dbc7f2595ba01f639df"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c471a734240653a0ec91dec0996696eea227eafe72a33bd06c92697728046b"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:244cf3b97802c34c41905d22810846802a3329ddcb93ccc432870243211c79fc"}, + {file = "Pillow-8.4.0.tar.gz", hash = "sha256:b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed"}, +] +prometheus-client = [ + {file = "prometheus_client-0.12.0-py2.py3-none-any.whl", hash = "sha256:317453ebabff0a1b02df7f708efbab21e3489e7072b61cb6957230dd004a0af0"}, + {file = "prometheus_client-0.12.0.tar.gz", hash = "sha256:1b12ba48cee33b9b0b9de64a1047cbd3c5f2d0ab6ebcead7ddda613a750ec3c5"}, +] +prompt-toolkit = [ + {file = "prompt_toolkit-3.0.22-py3-none-any.whl", hash = "sha256:48d85cdca8b6c4f16480c7ce03fd193666b62b0a21667ca56b4bb5ad679d1170"}, + {file = "prompt_toolkit-3.0.22.tar.gz", hash = "sha256:449f333dd120bd01f5d296a8ce1452114ba3a71fae7288d2f0ae2c918764fa72"}, +] +ptyprocess = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pycparser = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, +] +pygments = [ + {file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"}, + {file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"}, +] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] +pyrsistent = [ + {file = "pyrsistent-0.18.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f4c8cabb46ff8e5d61f56a037974228e978f26bfefce4f61a4b1ac0ba7a2ab72"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:da6e5e818d18459fa46fac0a4a4e543507fe1110e808101277c5a2b5bab0cd2d"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5e4395bbf841693eaebaa5bb5c8f5cdbb1d139e07c975c682ec4e4f8126e03d2"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-win32.whl", hash = "sha256:527be2bfa8dc80f6f8ddd65242ba476a6c4fb4e3aedbf281dfbac1b1ed4165b1"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2aaf19dc8ce517a8653746d98e962ef480ff34b6bc563fc067be6401ffb457c7"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58a70d93fb79dc585b21f9d72487b929a6fe58da0754fa4cb9f279bb92369396"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4916c10896721e472ee12c95cdc2891ce5890898d2f9907b1b4ae0f53588b710"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:73ff61b1411e3fb0ba144b8f08d6749749775fe89688093e1efef9839d2dcc35"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-win32.whl", hash = "sha256:b29b869cf58412ca5738d23691e96d8aff535e17390128a1a52717c9a109da4f"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-win_amd64.whl", hash = "sha256:097b96f129dd36a8c9e33594e7ebb151b1515eb52cceb08474c10a5479e799f2"}, + {file = "pyrsistent-0.18.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:772e94c2c6864f2cd2ffbe58bb3bdefbe2a32afa0acb1a77e472aac831f83427"}, + {file = "pyrsistent-0.18.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c1a9ff320fa699337e05edcaae79ef8c2880b52720bc031b219e5b5008ebbdef"}, + {file = "pyrsistent-0.18.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cd3caef37a415fd0dae6148a1b6957a8c5f275a62cca02e18474608cb263640c"}, + {file = "pyrsistent-0.18.0-cp38-cp38-win32.whl", hash = "sha256:e79d94ca58fcafef6395f6352383fa1a76922268fa02caa2272fff501c2fdc78"}, + {file = "pyrsistent-0.18.0-cp38-cp38-win_amd64.whl", hash = "sha256:a0c772d791c38bbc77be659af29bb14c38ced151433592e326361610250c605b"}, + {file = "pyrsistent-0.18.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d5ec194c9c573aafaceebf05fc400656722793dac57f254cd4741f3c27ae57b4"}, + {file = "pyrsistent-0.18.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6b5eed00e597b5b5773b4ca30bd48a5774ef1e96f2a45d105db5b4ebb4bca680"}, + {file = "pyrsistent-0.18.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:48578680353f41dca1ca3dc48629fb77dfc745128b56fc01096b2530c13fd426"}, + {file = "pyrsistent-0.18.0-cp39-cp39-win32.whl", hash = "sha256:f3ef98d7b76da5eb19c37fda834d50262ff9167c65658d1d8f974d2e4d90676b"}, + {file = "pyrsistent-0.18.0-cp39-cp39-win_amd64.whl", hash = "sha256:404e1f1d254d314d55adb8d87f4f465c8693d6f902f67eb6ef5b4526dc58e6ea"}, + {file = "pyrsistent-0.18.0.tar.gz", hash = "sha256:773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b"}, +] +python-dateutil = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] +pytz = [ + {file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"}, + {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"}, +] +pywin32 = [ + {file = "pywin32-302-cp310-cp310-win32.whl", hash = "sha256:251b7a9367355ccd1a4cd69cd8dd24bd57b29ad83edb2957cfa30f7ed9941efa"}, + {file = "pywin32-302-cp310-cp310-win_amd64.whl", hash = "sha256:79cf7e6ddaaf1cd47a9e50cc74b5d770801a9db6594464137b1b86aa91edafcc"}, + {file = "pywin32-302-cp36-cp36m-win32.whl", hash = "sha256:fe21c2fb332d03dac29de070f191bdbf14095167f8f2165fdc57db59b1ecc006"}, + {file = "pywin32-302-cp36-cp36m-win_amd64.whl", hash = "sha256:d3761ab4e8c5c2dbc156e2c9ccf38dd51f936dc77e58deb940ffbc4b82a30528"}, + {file = "pywin32-302-cp37-cp37m-win32.whl", hash = "sha256:48dd4e348f1ee9538dd4440bf201ea8c110ea6d9f3a5010d79452e9fa80480d9"}, + {file = "pywin32-302-cp37-cp37m-win_amd64.whl", hash = "sha256:496df89f10c054c9285cc99f9d509e243f4e14ec8dfc6d78c9f0bf147a893ab1"}, + {file = "pywin32-302-cp38-cp38-win32.whl", hash = "sha256:e372e477d938a49266136bff78279ed14445e00718b6c75543334351bf535259"}, + {file = "pywin32-302-cp38-cp38-win_amd64.whl", hash = "sha256:543552e66936378bd2d673c5a0a3d9903dba0b0a87235ef0c584f058ceef5872"}, + {file = "pywin32-302-cp39-cp39-win32.whl", hash = "sha256:2393c1a40dc4497fd6161b76801b8acd727c5610167762b7c3e9fd058ef4a6ab"}, + {file = "pywin32-302-cp39-cp39-win_amd64.whl", hash = "sha256:af5aea18167a31efcacc9f98a2ca932c6b6a6d91ebe31f007509e293dea12580"}, +] +pywinpty = [ + {file = "pywinpty-1.1.6-cp310-none-win_amd64.whl", hash = "sha256:5f526f21b569b5610a61e3b6126259c76da979399598e5154498582df3736ade"}, + {file = "pywinpty-1.1.6-cp36-none-win_amd64.whl", hash = "sha256:7576e14f42b31fa98b62d24ded79754d2ea4625570c016b38eb347ce158a30f2"}, + {file = "pywinpty-1.1.6-cp37-none-win_amd64.whl", hash = "sha256:979ffdb9bdbe23db3f46fc7285fd6dbb86b80c12325a50582b211b3894072354"}, + {file = "pywinpty-1.1.6-cp38-none-win_amd64.whl", hash = "sha256:2308b1fc77545427610a705799d4ead5e7f00874af3fb148a03e202437456a7e"}, + {file = "pywinpty-1.1.6-cp39-none-win_amd64.whl", hash = "sha256:c703bf569a98ab7844b9daf37e88ab86f31862754ef6910a8b3824993a525c72"}, + {file = "pywinpty-1.1.6.tar.gz", hash = "sha256:8808f07350c709119cc4464144d6e749637f98e15acc1e5d3c37db1953d2eebc"}, +] +pyzmq = [ + {file = "pyzmq-22.3.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:6b217b8f9dfb6628f74b94bdaf9f7408708cb02167d644edca33f38746ca12dd"}, + {file = "pyzmq-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2841997a0d85b998cbafecb4183caf51fd19c4357075dfd33eb7efea57e4c149"}, + {file = "pyzmq-22.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f89468059ebc519a7acde1ee50b779019535db8dcf9b8c162ef669257fef7a93"}, + {file = "pyzmq-22.3.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea12133df25e3a6918718fbb9a510c6ee5d3fdd5a346320421aac3882f4feeea"}, + {file = "pyzmq-22.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c532fd68b93998aab92356be280deec5de8f8fe59cd28763d2cc8a58747b7f"}, + {file = "pyzmq-22.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f907c7359ce8bf7f7e63c82f75ad0223384105f5126f313400b7e8004d9b33c3"}, + {file = "pyzmq-22.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:902319cfe23366595d3fa769b5b751e6ee6750a0a64c5d9f757d624b2ac3519e"}, + {file = "pyzmq-22.3.0-cp310-cp310-win32.whl", hash = "sha256:67db33bea0a29d03e6eeec55a8190e033318cee3cbc732ba8fd939617cbf762d"}, + {file = "pyzmq-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:7661fc1d5cb73481cf710a1418a4e1e301ed7d5d924f91c67ba84b2a1b89defd"}, + {file = "pyzmq-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79244b9e97948eaf38695f4b8e6fc63b14b78cc37f403c6642ba555517ac1268"}, + {file = "pyzmq-22.3.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab888624ed68930442a3f3b0b921ad7439c51ba122dbc8c386e6487a658e4a4e"}, + {file = "pyzmq-22.3.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18cd854b423fce44951c3a4d3e686bac8f1243d954f579e120a1714096637cc0"}, + {file = "pyzmq-22.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:de8df0684398bd74ad160afdc2a118ca28384ac6f5e234eb0508858d8d2d9364"}, + {file = "pyzmq-22.3.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:62bcade20813796c426409a3e7423862d50ff0639f5a2a95be4b85b09a618666"}, + {file = "pyzmq-22.3.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:ea5a79e808baef98c48c884effce05c31a0698c1057de8fc1c688891043c1ce1"}, + {file = "pyzmq-22.3.0-cp36-cp36m-win32.whl", hash = "sha256:3c1895c95be92600233e476fe283f042e71cf8f0b938aabf21b7aafa62a8dac9"}, + {file = "pyzmq-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:851977788b9caa8ed011f5f643d3ee8653af02c5fc723fa350db5125abf2be7b"}, + {file = "pyzmq-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b4ebed0977f92320f6686c96e9e8dd29eed199eb8d066936bac991afc37cbb70"}, + {file = "pyzmq-22.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42abddebe2c6a35180ca549fadc7228d23c1e1f76167c5ebc8a936b5804ea2df"}, + {file = "pyzmq-22.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1e41b32d6f7f9c26bc731a8b529ff592f31fc8b6ef2be9fa74abd05c8a342d7"}, + {file = "pyzmq-22.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:be4e0f229cf3a71f9ecd633566bd6f80d9fa6afaaff5489492be63fe459ef98c"}, + {file = "pyzmq-22.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:08c4e315a76ef26eb833511ebf3fa87d182152adf43dedee8d79f998a2162a0b"}, + {file = "pyzmq-22.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:badb868fff14cfd0e200eaa845887b1011146a7d26d579aaa7f966c203736b92"}, + {file = "pyzmq-22.3.0-cp37-cp37m-win32.whl", hash = "sha256:7c58f598d9fcc52772b89a92d72bf8829c12d09746a6d2c724c5b30076c1f11d"}, + {file = "pyzmq-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2b97502c16a5ec611cd52410bdfaab264997c627a46b0f98d3f666227fd1ea2d"}, + {file = "pyzmq-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d728b08448e5ac3e4d886b165385a262883c34b84a7fe1166277fe675e1c197a"}, + {file = "pyzmq-22.3.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:480b9931bfb08bf8b094edd4836271d4d6b44150da051547d8c7113bf947a8b0"}, + {file = "pyzmq-22.3.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7dc09198e4073e6015d9a8ea093fc348d4e59de49382476940c3dd9ae156fba8"}, + {file = "pyzmq-22.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ca6cd58f62a2751728016d40082008d3b3412a7f28ddfb4a2f0d3c130f69e74"}, + {file = "pyzmq-22.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:468bd59a588e276961a918a3060948ae68f6ff5a7fa10bb2f9160c18fe341067"}, + {file = "pyzmq-22.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c88fa7410e9fc471e0858638f403739ee869924dd8e4ae26748496466e27ac59"}, + {file = "pyzmq-22.3.0-cp38-cp38-win32.whl", hash = "sha256:c0f84360dcca3481e8674393bdf931f9f10470988f87311b19d23cda869bb6b7"}, + {file = "pyzmq-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:f762442bab706fd874064ca218b33a1d8e40d4938e96c24dafd9b12e28017f45"}, + {file = "pyzmq-22.3.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:954e73c9cd4d6ae319f1c936ad159072b6d356a92dcbbabfd6e6204b9a79d356"}, + {file = "pyzmq-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f43b4a2e6218371dd4f41e547bd919ceeb6ebf4abf31a7a0669cd11cd91ea973"}, + {file = "pyzmq-22.3.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:acebba1a23fb9d72b42471c3771b6f2f18dcd46df77482612054bd45c07dfa36"}, + {file = "pyzmq-22.3.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cf98fd7a6c8aaa08dbc699ffae33fd71175696d78028281bc7b832b26f00ca57"}, + {file = "pyzmq-22.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d072f7dfbdb184f0786d63bda26e8a0882041b1e393fbe98940395f7fab4c5e2"}, + {file = "pyzmq-22.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:53f4fd13976789ffafedd4d46f954c7bb01146121812b72b4ddca286034df966"}, + {file = "pyzmq-22.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1b5d457acbadcf8b27561deeaa386b0217f47626b29672fa7bd31deb6e91e1b"}, + {file = "pyzmq-22.3.0-cp39-cp39-win32.whl", hash = "sha256:e6a02cf7271ee94674a44f4e62aa061d2d049001c844657740e156596298b70b"}, + {file = "pyzmq-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d3dcb5548ead4f1123851a5ced467791f6986d68c656bc63bfff1bf9e36671e2"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3a4c9886d61d386b2b493377d980f502186cd71d501fffdba52bd2a0880cef4f"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:80e043a89c6cadefd3a0712f8a1322038e819ebe9dbac7eca3bce1721bcb63bf"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1621e7a2af72cced1f6ec8ca8ca91d0f76ac236ab2e8828ac8fe909512d566cb"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d6157793719de168b199194f6b6173f0ccd3bf3499e6870fac17086072e39115"}, + {file = "pyzmq-22.3.0.tar.gz", hash = "sha256:8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c"}, +] +requests = [ + {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, + {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, +] +send2trash = [ + {file = "Send2Trash-1.8.0-py3-none-any.whl", hash = "sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08"}, + {file = "Send2Trash-1.8.0.tar.gz", hash = "sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d"}, +] +setuptools-scm = [ + {file = "setuptools_scm-6.3.2-py3-none-any.whl", hash = "sha256:4c64444b1d49c4063ae60bfe1680f611c8b13833d556fd1d6050c0023162a119"}, + {file = "setuptools_scm-6.3.2.tar.gz", hash = "sha256:a49aa8081eeb3514eb9728fa5040f2eaa962d6c6f4ec9c32f6c1fba88f88a0f2"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +sniffio = [ + {file = "sniffio-1.2.0-py3-none-any.whl", hash = "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663"}, + {file = "sniffio-1.2.0.tar.gz", hash = "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de"}, +] +terminado = [ + {file = "terminado-0.12.1-py3-none-any.whl", hash = "sha256:09fdde344324a1c9c6e610ee4ca165c4bb7f5bbf982fceeeb38998a988ef8452"}, + {file = "terminado-0.12.1.tar.gz", hash = "sha256:b20fd93cc57c1678c799799d117874367cc07a3d2d55be95205b1a88fa08393f"}, +] +testpath = [ + {file = "testpath-0.5.0-py3-none-any.whl", hash = "sha256:8044f9a0bab6567fc644a3593164e872543bb44225b0e24846e2c89237937589"}, + {file = "testpath-0.5.0.tar.gz", hash = "sha256:1acf7a0bcd3004ae8357409fc33751e16d37ccc650921da1094a86581ad1e417"}, +] +tomli = [ + {file = "tomli-1.2.2-py3-none-any.whl", hash = "sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade"}, + {file = "tomli-1.2.2.tar.gz", hash = "sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee"}, +] +torch = [ + {file = "torch-1.10.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:56022b0ce94c54e95a2f63fc5a1494feb1fc3d5c7a9b35a62944651d03edef05"}, + {file = "torch-1.10.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:13e1ffab502aa32d6841a018771b47028d02dbbc685c5b79cfd61db5464dae4e"}, + {file = "torch-1.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:3c0a942e0df104c80b0eedc30d2a19cdc3d28601bc6e280bf24b2e6255016d3b"}, + {file = "torch-1.10.0-cp36-none-macosx_10_9_x86_64.whl", hash = "sha256:eea16c01af1980ba709c00e8d5e6c09bedb5b30f9fa2085f6a52a78d7dc4e125"}, + {file = "torch-1.10.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:b812e8d40d7037748da40bb695bd849e7b2e7faad4cd06df53d2cc4531926fda"}, + {file = "torch-1.10.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:034df0b20603bfc81325094586647302891b9b20be7e36f152c7dd6af00deac1"}, + {file = "torch-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:67fc509e207b8e7330f2e76e77800950317d31d035a4d19593db991962afead4"}, + {file = "torch-1.10.0-cp37-none-macosx_10_9_x86_64.whl", hash = "sha256:4499055547087d7ef7e8a754f09c2c4f1470297ae3e5490363dba66c75501b21"}, + {file = "torch-1.10.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ab0cf330714c8f79a837c04784a7a5658b014cf5a4ca527e7b710155ae519cdf"}, + {file = "torch-1.10.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:e01ba5946267014abfdb30248bcdbd457aaa20cff749febe7fc191e5ae096af4"}, + {file = "torch-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:9013002adcb42bac05dcdbf0a03dd9f6bb5d7ab8b9817041c1176a014870786b"}, + {file = "torch-1.10.0-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:aef7afb62e9b174b4e0e5e1e4a42e3bab3b8490a668d666f62f7d4517559fbf2"}, + {file = "torch-1.10.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d82e68302c9b5c76ed585e04d61be0ca2184f70cb8ffeba8610570609ad5d7c9"}, + {file = "torch-1.10.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e5822200bf80a1495ad98a2bb41803eeba4a85ce373e35fc65765f7f888f5374"}, + {file = "torch-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:ca2c88fa4376e2648785029ab108e6e7abd784eb6535fc6036004b9254f9f7c1"}, + {file = "torch-1.10.0-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:d6ef87470b44df9970e84542547d5ba7720bb89616602441df555a39b124e2bc"}, +] +torchvision = [ + {file = "torchvision-0.11.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:597d82e9b186f59695ea19ff96d4b46b74f0be52227b0a77d7cf9a9d20e6801c"}, + {file = "torchvision-0.11.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:b56285c3da0abd11cdf86cad82c4aebbb57ab6975673a4f87d686c612dda66b7"}, + {file = "torchvision-0.11.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:75ea4c021e348315a655b3f94734d9ddaf5650a7ace53759dff38a13469c7cfa"}, + {file = "torchvision-0.11.1-cp36-cp36m-win_amd64.whl", hash = "sha256:0c3bb474e298f3655f419e0f13a0c1ca0ef89f43e0f3f7b7ef603f3f1728543a"}, + {file = "torchvision-0.11.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:1fde05a1cc41f1fa3771723aad2435eb745513534209e51b349b009769895586"}, + {file = "torchvision-0.11.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3c1ba63eaf36d8dff7e0326dc61a73dbb100530ad4231c56427002689cada00b"}, + {file = "torchvision-0.11.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f0be815759290ad81cafdab17973b040f8317fc59c740ad67948ebb9271e763c"}, + {file = "torchvision-0.11.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7d28c1cd3f8f470c5faf46b426969d9db1113aa9414fc5a3056e20c7cf91a746"}, + {file = "torchvision-0.11.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:73fae784c31a5ec7ddddefe0ba36ff3fac5131dc9c8babae3fab4ea9885b682a"}, + {file = "torchvision-0.11.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:4e41b0a35587d2284468eddff31642704d4b218ea0e5505bb60881a94d2688e6"}, + {file = "torchvision-0.11.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:5dec0014240f93c17837b37a194c6a35ba99da9c3b7c5b8341f7fb2bcc676e04"}, + {file = "torchvision-0.11.1-cp38-cp38-win_amd64.whl", hash = "sha256:99c92a02832e84e51c47e303a76e57e09776abf5009b046e9269ea7387d5aadb"}, + {file = "torchvision-0.11.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:18f9e1d571be810ee9a4b8604f88748e5eb4e545171f0167ad734bf080eacf2d"}, + {file = "torchvision-0.11.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6ac7aa49f81cdab4176131c3004bc86a5e5525d0be430172c78e6e2bb604e675"}, + {file = "torchvision-0.11.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8bb26e3856f163d9fe9287ad19105e93368e1c1d70d58101a9370d0acdb12865"}, + {file = "torchvision-0.11.1-cp39-cp39-win_amd64.whl", hash = "sha256:11e0b162f7a8ee7fa959b9e0f2a15fb858af0b2e6f79f5a0527db55327241d26"}, +] +tornado = [ + {file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, + {file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"}, + {file = "tornado-6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05"}, + {file = "tornado-6.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910"}, + {file = "tornado-6.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b"}, + {file = "tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675"}, + {file = "tornado-6.1-cp35-cp35m-win32.whl", hash = "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5"}, + {file = "tornado-6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68"}, + {file = "tornado-6.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb"}, + {file = "tornado-6.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c"}, + {file = "tornado-6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921"}, + {file = "tornado-6.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558"}, + {file = "tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c"}, + {file = "tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085"}, + {file = "tornado-6.1-cp36-cp36m-win32.whl", hash = "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575"}, + {file = "tornado-6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795"}, + {file = "tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f"}, + {file = "tornado-6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102"}, + {file = "tornado-6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4"}, + {file = "tornado-6.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd"}, + {file = "tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01"}, + {file = "tornado-6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d"}, + {file = "tornado-6.1-cp37-cp37m-win32.whl", hash = "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df"}, + {file = "tornado-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37"}, + {file = "tornado-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95"}, + {file = "tornado-6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a"}, + {file = "tornado-6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5"}, + {file = "tornado-6.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288"}, + {file = "tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f"}, + {file = "tornado-6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6"}, + {file = "tornado-6.1-cp38-cp38-win32.whl", hash = "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326"}, + {file = "tornado-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c"}, + {file = "tornado-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5"}, + {file = "tornado-6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe"}, + {file = "tornado-6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea"}, + {file = "tornado-6.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2"}, + {file = "tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0"}, + {file = "tornado-6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd"}, + {file = "tornado-6.1-cp39-cp39-win32.whl", hash = "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c"}, + {file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"}, + {file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"}, +] +traitlets = [ + {file = "traitlets-5.1.1-py3-none-any.whl", hash = "sha256:2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033"}, + {file = "traitlets-5.1.1.tar.gz", hash = "sha256:059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7"}, +] +typing-extensions = [ + {file = "typing_extensions-4.0.0-py3-none-any.whl", hash = "sha256:829704698b22e13ec9eaf959122315eabb370b0884400e9818334d8b677023d9"}, + {file = "typing_extensions-4.0.0.tar.gz", hash = "sha256:2cdf80e4e04866a9b3689a51869016d36db0814d84b8d8a568d22781d45d27ed"}, +] +urllib3 = [ + {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"}, + {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"}, +] +wcwidth = [ + {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, + {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, +] +webencodings = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] +websocket-client = [ + {file = "websocket-client-1.2.1.tar.gz", hash = "sha256:8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d"}, + {file = "websocket_client-1.2.1-py2.py3-none-any.whl", hash = "sha256:0133d2f784858e59959ce82ddac316634229da55b498aac311f1620567a710ec"}, +] +zipp = [ + {file = "zipp-3.6.0-py3-none-any.whl", hash = "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc"}, + {file = "zipp-3.6.0.tar.gz", hash = "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832"}, +] diff --git a/pyproject.toml b/pyproject.toml index 374b58c..97e7786 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,26 @@ -[build-system] -requires = [ - "setuptools>=42", - "wheel" +[tool.poetry] +name = "smb-optimizer" +version = "0.1.1" +description = "Implementation for Pytorch of the method described in our paper \"Bolstering Stochastic Gradient Descent with Model Building\", S. Ilker Birbil, Ozgur Martin, Gonenc Onay, Figen Oztoprak, 2021 (see https://arxiv.org/abs/2111.07058)" +authors = ["Ilker BIRBIL ", "Ozgur Martin "] +license = "MIT" +packages = [ + { include = "smb"} ] -build-backend = "setuptools.build_meta" +readme = "README.md" +homepage = "https://github.com/sibirbil/SMB" + + +[tool.poetry.dependencies] +python = ">=3.7,<3.11" +matplotlib = ">=3.4.3" +numpy = ">=1.21.4" +torch = ">=1.10.0" +torchvision = ">=0.11.1" + +[tool.poetry.dev-dependencies] +jupyterlab = "^3.2.3" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/tutorial.ipynb b/tutorial.ipynb index df340e1..59000ab 100644 --- a/tutorial.ipynb +++ b/tutorial.ipynb @@ -40,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -96,9 +96,64 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "0.1%" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to Datasets/MNIST/raw/train-images-idx3-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "42.9%" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting Datasets/MNIST/raw/t10k-images-idx3-ubyte.gz to Datasets/MNIST/raw\n", + "\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz to Datasets/MNIST/raw/t10k-labels-idx1-ubyte.gz\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "112.7%" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting Datasets/MNIST/raw/t10k-labels-idx1-ubyte.gz to Datasets/MNIST/raw\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], "source": [ "# Check if GPU is available\n", "use_GPU = torch.cuda.is_available()\n", @@ -129,7 +184,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -138,26 +193,11 @@ "text": [ "\n", "Starting to train with SMB optimizer: For 20 epochs\n", - "Epoch: 1 - Training Loss: 0.160835 - Test Accuracy: 0.9528 - Time: 14.5\n", - "Epoch: 2 - Training Loss: 0.10123 - Test Accuracy: 0.9665 - Time: 13.35\n", - "Epoch: 3 - Training Loss: 0.084133 - Test Accuracy: 0.9654 - Time: 12.9\n", - "Epoch: 4 - Training Loss: 0.084372 - Test Accuracy: 0.9623 - Time: 12.73\n", - "Epoch: 5 - Training Loss: 0.048766 - Test Accuracy: 0.9748 - Time: 12.59\n", - "Epoch: 6 - Training Loss: 0.038853 - Test Accuracy: 0.9777 - Time: 12.65\n", - "Epoch: 7 - Training Loss: 0.043774 - Test Accuracy: 0.9737 - Time: 12.57\n", - "Epoch: 8 - Training Loss: 0.040955 - Test Accuracy: 0.9742 - Time: 12.65\n", - "Epoch: 9 - Training Loss: 0.030071 - Test Accuracy: 0.9774 - Time: 12.56\n", - "Epoch: 10 - Training Loss: 0.014237 - Test Accuracy: 0.9825 - Time: 12.65\n", - "Epoch: 11 - Training Loss: 0.009853 - Test Accuracy: 0.9835 - Time: 12.83\n", - "Epoch: 12 - Training Loss: 0.00837 - Test Accuracy: 0.9827 - Time: 12.86\n", - "Epoch: 13 - Training Loss: 0.005376 - Test Accuracy: 0.9827 - Time: 12.78\n", - "Epoch: 14 - Training Loss: 0.004833 - Test Accuracy: 0.9831 - Time: 12.87\n", - "Epoch: 15 - Training Loss: 0.004305 - Test Accuracy: 0.9832 - Time: 12.39\n", - "Epoch: 16 - Training Loss: 0.001841 - Test Accuracy: 0.9834 - Time: 12.83\n", - "Epoch: 17 - Training Loss: 0.002754 - Test Accuracy: 0.9826 - Time: 12.7\n", - "Epoch: 18 - Training Loss: 0.000957 - Test Accuracy: 0.9846 - Time: 12.57\n", - "Epoch: 19 - Training Loss: 0.000705 - Test Accuracy: 0.9845 - Time: 12.53\n", - "Epoch: 20 - Training Loss: 0.000396 - Test Accuracy: 0.9849 - Time: 12.41\n" + "Epoch: 1 - Training Loss: 0.159516 - Test Accuracy: 0.9496 - Time: 16.6\n", + "Epoch: 2 - Training Loss: 0.096351 - Test Accuracy: 0.9645 - Time: 16.09\n", + "Epoch: 3 - Training Loss: 0.10743 - Test Accuracy: 0.9626 - Time: 15.3\n", + "Epoch: 4 - Training Loss: 0.07375 - Test Accuracy: 0.9687 - Time: 15.52\n", + "Epoch: 5 - Training Loss: 0.043632 - Test Accuracy: 0.9763 - Time: 15.32\n" ] } ], @@ -524,7 +564,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -538,7 +578,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.7.10" } }, "nbformat": 4,