tqdm/tests_notebook.ipynb

513 lines
12 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This file is part of the [test suite](./tests) and will be moved there when [nbval#116](https://github.com/computationalmodelling/nbval/issues/116#issuecomment-793148404) is fixed.\n",
"\n",
"See [DEMO.ipynb](DEMO.ipynb) instead for notebook examples."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from functools import partial\n",
"from time import sleep\n",
"\n",
"from tqdm.notebook import tqdm_notebook\n",
"from tqdm.notebook import tnrange\n",
"\n",
"# avoid displaying widgets by default (pollutes output cells)\n",
"tqdm = partial(tqdm_notebook, display=False)\n",
"trange = partial(tnrange, display=False)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Help on function display in module tqdm.notebook:\n",
"\n",
"display(self, msg=None, pos=None, close=False, bar_style=None, check_delay=True)\n",
" Use `self.sp` to display `msg` in the specified `pos`.\n",
" \n",
" Consider overloading this function when inheriting to use e.g.:\n",
" `self.some_frontend(**self.format_dict)` instead of `self.sp`.\n",
" \n",
" Parameters\n",
" ----------\n",
" msg : str, optional. What to display (default: `repr(self)`).\n",
" pos : int, optional. Position to `moveto`\n",
" (default: `abs(self.pos)`).\n",
"\n"
]
}
],
"source": [
"help(tqdm_notebook.display)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7c18c038bf964b55941e228503292506",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/9 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"1\n",
"2\n",
"3\n",
"4\n",
"5\n",
"6\n",
"7\n",
"8\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e29668be41ca4e40b16fb98572b333a5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/9 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# NBVAL_TEST_NAME: basic use\n",
"with tqdm_notebook(range(9)) as t:\n",
" for i in t:\n",
" print(i)\n",
"assert t.container.children[1].bar_style == 'success'\n",
"\n",
"t = tqdm_notebook(total=9)\n",
"t.update()\n",
"t.refresh()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 11%|█ | 1/9 [00:00<00:00, 17.73it/s]\n",
" 20%|██ | 1/5 [00:00<00:00, 341.50it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: reset\n",
"print(t)\n",
"t.reset(total=5)\n",
"t.update(1)\n",
"print(t)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# NBVAL_TEST_NAME: bar_style\n",
"assert t.container.children[1].bar_style != 'danger'\n",
"t.close()\n",
"assert t.container.children[1].bar_style == 'danger'"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0%| | 0/8 [00:00<?, ?it/s]\n",
" 0%| | 0/8 [00:00<?, ?it/s]\n",
"1\n",
" 0%| | 0/8 [00:00<?, ?it/s]\n",
" 0%| | 0/8 [00:00<?, ?it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: repr\n",
"with trange(1, 9) as t:\n",
" print(t)\n",
" print(t.container)\n",
" it = iter(t)\n",
" print(next(it))\n",
" print(t)\n",
" print(t.container)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"t = trange(9)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0%| | 0/9 [00:00<?, ?it/s]\n",
" 0%| | 0/9 [00:00<?, ?it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: display pre\n",
"print(t)\n",
"print(t.container)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"for i in t:\n",
" pass"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"100%|██████████| 9/9 [00:00<00:00, 132.23it/s]\n",
"100%|##########| 9/9 [00:00<00:00, 131.02it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: display post\n",
"print(t)\n",
"print(t.container)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"no total: 0it [00:00, ?it/s]\n",
"no total: 1it [00:00, 47.83it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: no total\n",
"with tqdm(desc=\"no total\") as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0%| | 0/9 [00:00<?, ?it/s]\n",
" 11%|███▍ | 1/9 [00:00<00:00, 45.06it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: ncols\n",
"with trange(9, ncols=66) as t:\n",
" print(t)\n",
" for i in t:\n",
" if i == 1:\n",
" break\n",
" print(t)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0%| | 0/1 [00:00<?, ?it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 54.60it/s]\n",
" 0%| | 0/9 [00:00<?, ?it/s]\n",
" 11%|█ | 1/9 [00:00<00:00, 57.43it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: leave\n",
"assert (False, None) != (getattr(t.container, \"visible\", False), getattr(t.container, \"_ipython_display_\", None))\n",
"for total in (1, 9):\n",
" with tqdm(total=total, leave=False) as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)\n",
" assert total != 1 or (False, None) == (\n",
" getattr(t.container, \"visible\", False), getattr(t.container, \"_ipython_display_\", None)\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0it [00:00, ?it/s]\n",
"1it [00:00, 47.87it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: no total\n",
"with tqdm() as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"disable: None\n",
" 0%| | 0/1 [00:00<?, ?it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 53.24it/s]\n",
" 0%| | 0/9 [00:00<?, ?it/s]\n",
" 11%|█ | 1/9 [00:00<00:00, 1752.01it/s]\n",
"0it [00:00, ?it/s]\n",
"1it [00:00, 35.88it/s]\n",
" 0%| | 0/1 [00:00<?, ?it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1880.85it/s]\n",
"disable: True\n",
" 0%| | 0/1 [00:00<?, ?it/s]\n",
" 0%| | 0/1 [00:00<?, ?it/s]\n",
" 0%| | 0/9 [00:00<?, ?it/s]\n",
" 0%| | 0/9 [00:00<?, ?it/s]\n",
"0it [00:00, ?it/s]\n",
"0it [00:00, ?it/s]\n",
" 0%| | 0/1 [00:00<?, ?it/s]\n",
" 0%| | 0/1 [00:00<?, ?it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: reset and disable\n",
"for disable in (None, True):\n",
" print(\"disable:\", disable)\n",
" with tqdm(total=1, disable=disable) as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)\n",
"\n",
" t.reset(total=9)\n",
" print(t)\n",
" t.update()\n",
" print(t)\n",
" with tqdm(disable=disable) as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)\n",
"\n",
" t.reset(total=1)\n",
" print(t)\n",
" t.update()\n",
" print(t)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0%|| 0/1 [00:00<?, ?it/s]\n",
"100%|| 1/1 [00:00<00:00, 32.57it/s]\n",
" 0%| \n",
"100%|██████████\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: bar_format\n",
"with tqdm(total=1, bar_format='{l_bar}{r_bar}') as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)\n",
"\n",
"with tqdm(total=1, bar_format='{l_bar}{bar}') as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0%|\u001b[33m \u001b[0m| 0/1 [00:00<?, ?it/s]\n",
"100%|\u001b[33m██████████\u001b[0m| 1/1 [00:00<00:00, 47.14it/s]\n"
]
}
],
"source": [
"# NBVAL_TEST_NAME: colour\n",
"assert t.colour != 'yellow'\n",
"with tqdm(total=1, colour='yellow') as t:\n",
" print(t)\n",
" t.update()\n",
" print(t)\n",
" assert t.colour == 'yellow'"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"# NBVAL_TEST_NAME: delay no trigger\n",
"with tqdm_notebook(total=1, delay=10) as t:\n",
" t.update()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "fe102eedbb4f437783fbd0cff32f6613",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"100%|##########| 1/1 [00:00<00:00, 7.68it/s]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# NBVAL_TEST_NAME: delay trigger\n",
"with tqdm_notebook(total=1, delay=0.1) as t:\n",
" sleep(0.1)\n",
" t.update()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:tqdm]",
"language": "python",
"name": "conda-env-tqdm-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython"
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python"
}
},
"nbformat": 4,
"nbformat_minor": 2
}