{ "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": { "text/html": [ "Finished loop 0.

Finished loop 1.

Finished loop 2.

Finished loop 3.

Finished loop 4.

Finished loop 5.

Finished loop 6.

Finished loop 7.

Finished loop 8.

Finished loop 9." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "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": { "text/html": [ "Finished loop 0.

Finished loop 1.

Finished loop 2.

Finished loop 3.

Finished loop 4.

Finished loop 5.

Finished loop 6.

Finished loop 7.

Finished loop 8.

Finished loop 9." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "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": { "text/html": [ "Finished loop 0.

Finished loop 1.

Finished loop 2.

Finished loop 3.

Finished loop 4.

Finished loop 5.

Finished loop 6.

Finished loop 7.

Finished loop 8.

Finished loop 9." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "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.1" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }