使用ipython本机构建的交互式progressbar

ipypb的Python项目详细描述


交互式进度条

使用本机ipython功能的python进度条。小工具免费。甚至在朱庇特实验室工作。

创建此包的原因是其他进度条使用自定义条对象和/或小部件工具,忽略内置的IPython功能。这使得它们在像jupyterlab这样的“干净”环境中不可用。相反,ipypb甚至可以在非常受限的环境中运行。

ipypb的另一个有用特性是,即使在关闭笔记本并终止其ipython内核之后,进度条信息也是可用的。再次启动此笔记本后,您将看到与关闭前相同的进度条信息,而不是像Failed to display Jupyter Widget of type HBox这样与widjet相关的erorr,如下所示:

tqdm - display failure

也可以看看这个NBViewer example

注释

目前处于测试阶段。

简单用法示例:

fromtimeimportsleepfromipypbimporttrackforiintrack(range(10)):sleep(0.1)

还有其他一些便利设施。例如,可以使用ipypb作为python的range-like函数:

fromipypbimportirangeforiinirange(1,10,2):# same as range(1, 10, 2) but with progressbar# <do stuff>...

使用factory方法ipb也可能有帮助,该方法处理不同的使用场景,并根据输入参数返回trackirange实例。另一个使用示例是,当您已经有一堆使用^{}的代码,并且希望 替换为ipypb

fromipypbimportipbtqdm_notebook=ipb# or if you run it in interactive shelltqdm=ipb

它将自动处理关键字参数,以确保与tqdm的api兼容。注意,ipb为笔记本和终端环境提供了一个通用接口。

异步流

也可以使用ipypb来跟踪异步或并行执行的任务。主要用例是当任务池中已执行任务的顺序与显示进度的所需顺序不对应时。在这种情况下,可以通过提交进度层次结构的描述来指示ipypb保留所需的顺序。下面是由三个层次组成的简单继承权的示例:i <-- j <-- k。每个父级的进度取决于其子级的完全执行。请注意,级别k:1k:2如何移动到它们所属的组j:0中,即使它们最初出现在j:1组的末尾:

ipypb - async flow

note:此功能当前处于临时状态,这意味着其api在将来的版本中会发生主要更改。要进行测试,请执行

fromipypbimportchain

安装

pip install --upgrade ipypb

要求

python 3.6+和ipython v.5.6+不包括v.6.1和v.6.2

限制

  • 循环结束时清除progressbar的功能尚不受支持。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajooqmaven和多模式   java通过web控制台向wildfly添加数据源   java Kafka 2.9.1 producer 0.8.2.1编译与运行时依赖关系   可滚动的java SWT拆分窗格   java有ArraySet和ArrayMap这样的东西吗?   java Spring jdbc调用函数   java将绝对布局合并为标准布局   java如何正确地从Firebase中提取数据?   java计划以可变时间间隔运行任务   java关闭JFrame=>程序崩溃   java Junit测试,其中一些参数不同,另一些参数保持不变   java servletname在<servlet>和<servletmapping>中可以不同吗?   java有很多活动,好吗   java静态变量把一切都搞砸了   java Ashley ECS迭代系统未处理实体族