被动背景任务的模式

traits-futures的Python项目详细描述


特质期货

traits_futures包演示了反应式 从traitsui应用程序触发的后台作业。

激励示例

一位客户要求您将他们的黑盒优化代码包装在一个gui中。

您构建了一个简单的traitsui gui,允许用户设置输入和选项 然后按下绿色的“计算”按钮。需求看起来 像这样:

  • 当后台计算时,ui应该保持可用和响应性 正在运行。
  • 用户界面应该更新(例如,显示绘图或显示结果)以响应 后台计算正常完成。
  • 后台作业应可取消。
  • 如果后台作业引发异常,ui应该做出适当的反应。

而且还有一些更易于开发的要求:

  • 尽可能地,ui开发人员不应该考虑管理 后台线程或从 后台任务。用户界面开发人员应该能够简单地听取 对来自背景任务的信息做出适当的反应。
  • 应该可以在使用后台线程和 后台进程(也可能是协同进程)只需很少的努力。

开始

源存储库中的cihelper包有助于设置 开发环境和运行测试和示例。它需要电火花加工 在python引导环境中安装了clicksetuptools

要创建开发环境,请运行:

python -m ci build

从存储库的顶层,在python引导环境中。

要运行traits\u futures edm环境的测试,请执行:

python -m ci test

在覆盖范围内运行测试:

python -m ci coverage

运行样式检查:

python -m ci flake8

构建文档:

python -m ci doc

示例脚本可以使用以下命令运行:

python -m ci example <example-name>

运行python -m ci example查看可用示例的列表。

以上所有命令都有两个选项。--python-version选项 允许您指定用于开发环境的python版本。这个 --toolkit选项允许您在使用pyqt和pyside之间进行选择 Python2。运行python -m ci <command> --help获取有关任何 这些命令。

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

推荐PyPI第三方库


热门话题
服务器(java)无法从具有SSL连接的客户端(c#)接收XML   我有一个maven项目,它不断抛出异常java。lang.NoClassDefFoundError:   什么时候需要将java类X放入名为X.java的文件中?   java如何在spring Boot 2中为spring批处理配置数据源以进行测试   java无法在简单程序上解析符号“上下文”   java JList,内部有3个JLabel   java jacksondataformatcsv:映射不带POJO的数值   eclipse在Java7中允许从数字转换为双精度?(自动装箱)   java写入属性文件不起作用   java My PDF未打开,locgcat中未显示错误   在Java HashMap中使用对象作为键   Java中的长基元类型范围   使用Apache HttpClient的java Http 400 PUT请求   java如何插入日期和时间对象?Php mysql错误