{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from fastprogress import master_bar, progress_bar\n", "from time import sleep" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic use" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "VBox(children=(HBox(children=(IntProgress(value=0, max=10), HTML(value=''))), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Total time: 00:10\n", "Finished loop 0. (00:01)\n", "Finished loop 1. (00:01)\n", "Finished loop 2. (00:01)\n", "Finished loop 3. (00:01)\n", "Finished loop 4. (00:01)\n", "Finished loop 5. (00:01)\n", "Finished loop 6. (00:01)\n", "Finished loop 7. (00:01)\n", "Finished loop 8. (00:01)\n", "Finished loop 9. (00:01)\n", "\n" ] } ], "source": [ "mb = master_bar(range(10))\n", "for i in mb:\n", " for j in progress_bar(range(100), parent=mb):\n", " sleep(0.01)\n", " mb.child.comment = f'second bar stat'\n", " mb.first_bar.comment = f'first bar stat'\n", " mb.write(f'Finished loop {i}.')\n", " #mb.update_graph(graphs, x_bounds, y_bounds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding the graph" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "VBox(children=(HBox(children=(IntProgress(value=0, max=10), HTML(value=''))), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Total time: 00:11\n", "Finished loop 0. (00:01)\n", "Finished loop 1. (00:01)\n", "Finished loop 2. (00:01)\n", "Finished loop 3. (00:01)\n", "Finished loop 4. (00:01)\n", "Finished loop 5. (00:01)\n", "Finished loop 6. (00:01)\n", "Finished loop 7. (00:01)\n", "Finished loop 8. (00:01)\n", "Finished loop 9. (00:01)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mb = master_bar(range(10))\n", "#Name of the curves to put in the legend box.\n", "mb.names = ['cos', 'sin']\n", "for i in mb:\n", " for j in progress_bar(range(100), parent=mb):\n", " sleep(0.01)\n", " mb.child.comment = f'second bar stat'\n", " mb.first_bar.comment = f'first bar stat'\n", " mb.write(f'Finished loop {i}.')\n", " x = np.arange(0, 2*(i+1)*np.pi/10, 0.01)\n", " y1, y2 = np.cos(x), np.sin(x)\n", " graphs = [[x,y1], [x,y2]]\n", " #Specifying the boundaries is better to have the box at the right size.\n", " x_bounds = [0, 2*np.pi]\n", " y_bounds = [-1,1]\n", " mb.update_graph(graphs, x_bounds, y_bounds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Updating every iteration in the inner loop is possible but slower" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "VBox(children=(HBox(children=(IntProgress(value=0, max=10), HTML(value=''))), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Total time: 00:14\n", "Finished loop 0. (00:01)\n", "Finished loop 1. (00:01)\n", "Finished loop 2. (00:01)\n", "Finished loop 3. (00:01)\n", "Finished loop 4. (00:01)\n", "Finished loop 5. (00:01)\n", "Finished loop 6. (00:01)\n", "Finished loop 7. (00:01)\n", "Finished loop 8. (00:01)\n", "Finished loop 9. (00:01)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mb = master_bar(range(10))\n", "mb.names = ['cos', 'sin']\n", "for i in mb:\n", " for j in progress_bar(range(100), parent=mb):\n", " if j%10 == 0:\n", " k = 100 * i + j\n", " x = np.arange(0, 2*k*np.pi/1000, 0.01)\n", " y1, y2 = np.cos(x), np.sin(x)\n", " graphs = [[x,y1], [x,y2]]\n", " x_bounds = [0, 2*np.pi]\n", " y_bounds = [-1,1]\n", " mb.update_graph(graphs, x_bounds, y_bounds)\n", " mb.child.comment = f'second bar stat'\n", " mb.first_bar.comment = f'first bar stat'\n", " mb.write(f'Finished loop {i}.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Console rendering" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from fastprogress.fastprogress import ConsoleMasterBar, ConsoleProgressBar " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Finished loop 0. \n", "Finished loop 1. \n", "Finished loop 2. \n", "Finished loop 3. \n", "Finished loop 4. \n", "Finished loop 5. \n", "Finished loop 6. \n", "Finished loop 7. \n", "Finished loop 8. \n", "Finished loop 9. \n" ] } ], "source": [ "mb = ConsoleMasterBar(range(10))\n", "for i in mb:\n", " for j in ConsoleProgressBar(range(100), parent=mb):\n", " sleep(0.01)\n", " mb.child.comment = f'second bar stat'\n", " mb.write(f'Finished loop {i}.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can force the console rendering without changing your code by using the following command:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "from fastprogress import force_console_behavior\n", "master_bar,progress_bar = force_console_behavior()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Finished loop 0. \n", "Finished loop 1. \n", "Finished loop 2. \n", "Finished loop 3. \n", "Finished loop 4. \n", "Finished loop 5. \n", "Finished loop 6. \n", "Finished loop 7. \n", "Finished loop 8. \n", "Finished loop 9. \n" ] } ], "source": [ "mb = master_bar(range(10))\n", "for i in mb:\n", " for j in progress_bar(range(100), parent=mb):\n", " sleep(0.01)\n", " mb.child.comment = f'second bar stat'\n", " mb.first_bar.comment = f'first bar stat'\n", " mb.write(f'Finished loop {i}.')\n", " #mb.update_graph(graphs, x_bounds, y_bounds)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }