跳到主要内容

2016-05-13

14:00 UTC

在线会议链接: https://hangouts.google.com/call/v5olhwzpfzgzpoq5i3wthjpqpie

与会者

  • Jonathan Helmus
  • Michael Sarahan
  • John Kirkham
  • Phil Elson
  • Eric Dill
  • Anthony Scopatz
  • Filipe Fernandes

** 议程**

  • PyPI 元数据冗余
    • 将纯 Python wheel 文件直接转换为 conda 包的原型工具: https://github.com/takluyver/wheel2conda
    • 自动化 feedstock 维护。
    • 用于源代码的 URL。(这在某种程度上与此相关,所以我将其添加在此处。尽管下面有一个更长的主题“软件包的链接偏好...”)。
  • Python3 与 Python==3
    • 如何在 Python==2 环境中依赖(包括构建依赖)需要 Python 3 的应用程序
    • “子环境依赖” 是一种可能的替代方案
  • 底层打包
  • NetCDF (以及 curl/ca-certificates 和 Perl 软件包)
  • MSYS2 集成到 conda 中。我们希望如何使用它?我们还需要 VC 吗?
  • GitHub 速率限制。我们如何进一步缓解这些限制?
  • 为软件包添加命名空间 `node-`、`ruby-`、`perl-`,为什么不 `python-` 呢? ;-)
    • “实用性胜过纯粹性” ;-)
    • 至少一开始是这样,但我不认为这普遍适用。
    • Continuum 提出的一个想法是主要命名空间的概念 - 有效地为软件包的命名空间定义默认前缀的命名空间。这可能是两全其美的方案。你也可以有排序的优先级:首先搜索 python-*,然后是 node-*,最后是没有任何前缀的完整软件包名称。这种优先级可以由每个环境的 condarc 定义,初始设置取决于安装的软件包。例如,首先安装 python 创建一个环境将使 python 成为主要环境。
    • 我可以理解这种吸引力,但这似乎是造成相当大混乱的潜在来源(例如,为什么在某个环境中安装 x 与在另一个环境中安装 x 的工作方式不同?)。如果命名空间实际上是新语法的一部分,而不是仅仅是软件包名称的前缀,那么这可能会更可行。
    • 当然,这是合理的 - 让命名空间搜索成为用户定义的便利功能,而不是自动确定的功能。
    • 值得记住的是,Python 命名更改将是对现有 Continuum 软件包的重大突破。因此,不应轻率地做出此决定。
  • 这里要考虑的另一件事可能是新的元数据。例如,我们可以指定软件包的主要语言。然后我们可以指定 `conda install` 我们想要软件包的这种语言。可能的语法可能包括类似于上面的内容。不确定如果我们想要报错、警告并安装所有内容或其他内容,我们希望如何处理冲突。

  • 放弃 py34 conda forge/staged recipes#465

  • 软件包链接偏好选项如下

    *   Prefer close to source (e.g. GitHub tarballs)
    • 软件包管理站点(例如 PyPI)

          *   No matter where the source lives an installable package will be on PyPI.
      • 更易于集成到自动化维护中(无论我们如何做)。

      • 有时包括重要的预构建步骤。

      • 避免 GitHub 下载可能产生的任何速率限制。

      • 避免重做开发人员为我们完成的任何步骤。

      • 其他选项?

  • 表彰支持者

    *   Some supporters

    * AppVeyor
    * Continuum
    * Others?

    * Splash page like Jupyter has? Something else.
  • 变体。( conda forge/staged recipes#525 )

  • PR 审核

    *   Treat every PR as a Work in Progress. At least let PRs sit for a few hours before merging them.
    • 当我们提出澄清问题时,等待答案,并在获得答案之前避免采取行动。
    • 尊重第一位审阅者,不要用不同的措辞重复她/他的审阅意见。这对提交 PR 的人也不利,因为它会造成混乱。
    • 避免千刀万剐:许多小的“挑剔”评论可能会吓到新的贡献者(@Mike S ;-)
  • 社区存在感。

    *   Twitter ( [conda forge/conda forge.github.io#114](https://github.com/conda-forge/conda-forge.github.io/issues/114) )
  • 工具链配置的标准化 ( conda forge/staged recipes#578 )。

** 笔记**

  • 下次会议,下周开一次?

    *   Wednesday/Thursday, 1400 UTC 
  • conda-build 的新版本即将发布,recipe 正在开发中,并将很快提交。

    *   cmake has issues with VC2008 express, AppVeyor.yaml may need to be updated
  • 表彰支持者

    *   Splash page, networkx widget to show who is contributing
    • 资金支持,NumFocus 已联系
    • 需要有人 (?) 为徽标页面做一些网页设计
  • 放弃 py34 conda forge/staged recipes#465

    *   Requires move to VS2015, mingw-64 still has issues
    • 约 50% 的 Python 3 用户是 3.4
    • Python 3.6 最终版将于 2016 年 12 月 16 日发布
    • 仅支持 2.7 和 3.5 就可以了
    • 下载计数显示什么?CI 消耗的问题
    • 在 Python 3.6 发布时放弃 3.4
  • req = urllib.Request(url, headers={'User-Agent': 'Mozilla/5.0'})

  • https://github.com/pyne/pyne/blob/4ddb759afce46e278d8f8a79fc4b96d58334d0a2/tests/utils.py#L20

  • 将 tarball 镜像为 feedstock 仓库中的一个发布版本

  • 变体。

    *   Use features, end up making meta-packages, pain to maintain
    • BLAS 变体软件包?

    • 在 Numpy 上有多个分支,每个分支都有不同的 BLAS 变体,甚至可以尝试使用构建矩阵来简化。

    • Michael 对子环境更感兴趣。

    • 这些将如何与 defaults 提供的软件包相互作用?

          *   Don't use features? Would this work?  Solved may be trying to minimize number of features, needs some testing.
      • 可能是短期的最佳解决方案,长期来看,如果 conda/conda-build 支持这一点就更好了。
    • 暂时使用 OpenBLAS 进行 NumPy 构建

    • 会搞乱构建字符串,没有构建编号

  • 社区存在感。

    *   Twitter, set up twitter bot to post about when packages get added... which ones?
    • Stack Overflow。我们应该监控 SO 以推荐和帮助人们使用 conda-forge 吗?

          *   Anthony will add Google alerts to monitor, other should also
      • 其他人也应该考虑这样做。
  • Phil 有一个重新渲染 feedstock 的脚本,但目前只有他可以执行。

    *   Set up Heroku account which run this
    • 可以选择 feedstock 重新渲染吗?此功能需要 PR

    • 有时连接到 anaconda 会失败,尤其是在 AppVeyor 上。

    • 可能需要来自 AppVeyor 的更好的错误消息

    • appveyor 缓存信息: https://www.appveyor.com/docs/build-cache

          *   "Resulting archive should not exceed 100 MB."
  • Filipe 为 SciPyLA 准备的 Conda-forge 演示幻灯片

  • 下次会议在三周后,6 月 3 日星期五,14:00 UTC

  • 合并来自 staged-recipes 的 PR

    *   `make check`
  • 增加人员在 staged-recipes 上拥有权限将在每次会议上决定。