跳转至主要内容

2016-06-24:一般性讨论

(请注意,此文档先前错误地将会议安排在 17 号)

时间:14:00 UTC

环聊链接:https://hangouts.google.com/call/v5olhwzpfzgzpoq5i3wthjpqpie

与会者

Bjˆrn Gr¸ning

Filipe

John Kirkham

Michael Sarahan

Jonathan Helmus

Matt Craig

Phil Elson

常设事项

  • 有多少仓库?
  • 有多少贡献者?
  • 新的核心开发人员?

议程

  • 底层软件包

  • 拆分 gcc 还是使用 defaults?我们需要一种更好、更一致的方式来构建依赖于 Fortran 和 libgomp 的软件包,否则当混合使用 conda-forge 和 defaults 时,我们将不断看到损坏的软件包。

  • 向 staged-recipes 提交 PR 的基本社区实践。

  • 最近我在 DC 的 NOAA/IOOS 中介绍了 conda-forge。大多数人对 conda-forge 感到兴奋,但不愿意从 IOOS 频道切换到 conda-forge。当然,主要原因是控制。我尽力向他们保证,conda-forge 将遵循所有良好的社区实践,就像他们已经依赖的任何其他开源项目一样。但是,仍然存在一些担忧。我想在我们的会议上介绍一下讨论的摘要。

  • NetCDF(还有 curl/ca-certificates 和 Perl 软件包)- 完成了吗?

    *   curl and ca-certificates are done and available. 
    • Perl 不再是此过程的一部分
  • GitHub 速率限制。我们如何进一步缓解这些? 这是一个重复项,它再次出现在下面。

  • PR 审查

    *   Treat every PR as a Work in Progress. At least let PRs sit for a few hours before merging them.
    • 当我们提出澄清问题时,请等待答案,并在获得答案之前避免采取行动。
    • 尊重第一位审阅者,不要用另一种说法重复她/他的审阅意见。这对提交 PR 的人来说也是不利的,因为它会造成混淆。
    • 避免千刀万剐:许多小的“吹毛求疵”的评论可能会吓跑新的贡献者(@ Mike S ;-)
  • 通知(我们如何掌握它们)

  • 标准化安装

    *   Mention [`toolchain`](https://github.com/conda-forge/toolchain-feedstock) .

    * Discuss rollout to feedstocks.

    * Get feedback on [`python-toolchain`](https://github.com/conda-forge/staged-recipes/pull/642)
  • MSYS2

    *   Discussing Ray Donnelly's work on MSYS2 packages and how we want to use and integrate these into conda-forge.
    • 一些要考虑的用例 OpenBLAS、FFTW、构建工具,其他?
  • 二进制数据

    *   Do we include it in recipes?
    • 我们允许哪些类型(如果有)(例如图标)?
    • 我们如何验证许可?
    • 我们如何验证它们是安全的?
  • OpenBLAS(在 Windows 上)

  • 开发版本:它们在哪里发布?

    *   Do we do them at conda-forge?

    * Maybe add a label.

    * Do we let others do them with a feedstock on their own repo?
    • 我们如何强制执行我们决定的任何内容?
  • Conda-forge 安装程序

    *   We have Python 3.5 now
    • 仍然需要 conda
    • 新的仓库?
    • 我们将安装程序托管在哪里?Git 标签?
  • GitHub 速率限制。我们如何进一步缓解这些?

    *   GitHub letter ( [](https://docs.google.com/document/d/19HLtYPwg6IKAwmxPwL7Vd3AX0n47ANP-ZTpZROn-Cwc/edit?pref=2&pli=1)https://docs.google.com/document/d/19HLtYPwg6IKAwmxPwL7Vd3AX0n47ANP-ZTpZROn-Cwc/edit?pref=2&pli=1 ).

    * +1, this reads very well
    * +1 also -- is it appropriate to ask for advice on how to reduce our API calls or queue them up in the event they are unwilling to raise limit?
    * So, there have been updates since this was initially added. See this issue ( [conda forge/conda forge.github.io#88](https://github.com/conda-forge/conda-forge.github.io/issues/88) ). They wrote this letter in reply ( [](https://docs.google.com/document/d/1lzWNxvmEtrgjSBVrUWEO-imDryBOLRfObz3PkI9qT5Y/edit?pref=2&pli=1)https://docs.google.com/document/d/1lzWNxvmEtrgjSBVrUWEO-imDryBOLRfObz3PkI9qT5Y/edit?pref=2&pli=1 ). Basically, they said that it wouldn't make sense for them to bump our rate limit in this way as our current usage scales poorly. I think I agree with that sentiment. Wrote up this proposal for more optimizations ( [conda forge/conda forge.github.io#172](https://github.com/conda-forge/conda-forge.github.io/issues/172) ). Have done some of them. See this PR ( [conda forge/staged recipes#733](https://github.com/conda-forge/staged-recipes/pull/733) ) for part of the fix. This has greatly improved the situation. Though we still have some issues.
  • 频道镜像

    *   Can this point be a little bit explained? I thought about this as well and would like to contribute to this point.
  • Feedstock 历史

    *   Is it sacred?
    • 我们是否 rebase/force push?

          *   If so, under what conditions?
      • 我们如何避免多人同时执行此操作?
  • Docker 托管解决方案

    *   Docker Hub builds were broken for a week and a half.
    • 目前已切换到 quay.io。
    • 在 Docker Hub 上镜像 quay.io 镜像。
    • 关于 quay.io 的想法?关于一般托管的想法?
  • Continuum 元数据请求:我们可以将这些添加到 linter 吗?

    *   example metadata: [](https://github.com/ContinuumIO/anaconda-recipes/blob/master/anaconda-build/meta.yaml#L36-L44)[https://github.com/ContinuumIO/anaconda-recipes/blob/master/anaconda-build/meta.yaml#L36-L44](https://github.com/ContinuumIO/anaconda-recipes/blob/master/anaconda-build/meta.yaml#L36-L44)
    • 此外,区分摘要(限制为 77 或 80 个字符)和描述(无限制)
  • Google 环聊的最大容量为 10 人。是否值得考虑其他沟通方式,以便每个想参与的人都能参与?

  • 也许这个( http://www.freeconferencecalling.com/ )是一个选项。

  • Bluejeans

  • Continuum 有 Webex。过去的经验是某些 Linux 平台连接有问题

  • 删除 numpy 1.10 并减少我们的构建矩阵。(Numba 现在可以与 numpy 1.11 一起使用。)

  • 来自 graphviz 的 PR 的这条评论是我见过的最好的摘要:conda forge/staged recipes#568#issuecomment-225315370

  • 感谢指出这一点。所描述的解决方案看起来是合理的,并且比前缀包名称更可取。太棒了!

  • 签名软件包

    *   Should be easy to do. ( [](http://conda.pydata.org/docs/signed-packages.html)http://conda.pydata.org/docs/signed-packages.html )
    • 之前有人对此感兴趣。
  • HTTPError: 503 Server Error: Service Unavailable: 后端服务器已满负荷,网址为...

    *   Seems we are regularly running into this issue under normal usage conditions.
    • 之前讨论过在 AppVeyor 上缓存软件包并尝试重用这些软件包作为开始。
    • 也许我们需要考虑在所有 CI 上进行缓存。
    • 通过 constructor 构建我们自己的类似 Miniconda 的自解压脚本,其中包含软件包。

笔记

最紧迫的问题:命名约定

命名约定

  • Continuum 的意见:命名空间生效需要一些时间,不想破坏任何人的设置,所以保留当前名称,我们可以遵循 defaults,其中 defaults 具有优先权吗?在 Continuum 没有软件包的地方,他们可以遵循 conda-forge 吗?

  • simplegeneric 问题,冲突

  • 当您执行“conda install gplot”时,如何知道安装了哪个软件包?导致可重现的环境。

  • 从没有命名空间开始,在安装“核心”软件包(python、r 等)后获取命名空间,然后您将获得与您的环境中的语言匹配的软件包

  • 希望 conda 的行为类似于 pip、cran 等,“开箱即用”

  • 如何处理依赖项?

  • 建议当您安装一个软件包时,您将获得所有命名空间中的软件包?

  • 另一种选择是在软件包名称中指定语言(python-simplegeneric),并为“常用”软件包设置查找表

  • 应该在 conda GitHub 仓库上提出问题

  • 没有简单的解决方案,但我们需要选择一些解决方案

  • 使用“常用”名称的元软件包

  • 正确的解决方案是用“python-”前缀所有内容,但是人们在安装时不想这样做,并且人们已经习惯了旧方法。

  • Filipe 关于命名空间的问题是它为用户做出了选择,宁愿让用户自己选择...在 GitHub issue XXX 上提出

  • 对于许多用户来说,conda 是 pip 的直接替代品,我们应该保持这个巨大的优势吗?

  • 是否有比命名空间工程性更低的解决方案?

    *   Should be raised in GitHub, submit PRs 
  • 前缀所有内容并让 conda install 智能地查找这些软件包?

  • 不要前缀 defaults 中的软件包,但 defaults 中没有的任何内容都应该前缀 python-、r-

  • 在 PR 中发布玩具示例到 conda,看看它是否有效?

  • 稍后继续讨论...

骨架生成器

  • 骨架生成器应该使用前缀名称吗?
  • 骨架需要一些更新,不
  • John 有 Jinja 模板,可以生成 meta.yaml,我们可以使用这个吗?需要从 setuptools 中提取数据
  • conda-forge 应该发布自己的骨架生成器吗?还是其他不同的东西

治理

  • NOAA 担心失去对仓库的控制

  • 担心仓促合并的 PR 和类似问题

  • 为好的 PR 应该是什么样子、自我合并和类似问题编写指导提案

NumPy 问题

  • libgfortran 会解决这个问题吗?
  • 希望 Micheal Grant 在创建 conda-forge libgfortran 之前查看求解器
  • libquadmath,当前计划包含在 libgfortran 中,defaults 中未使用,这些应该是单独的软件包吗?
  • libstdc++
  • 需要在 conda-forge 和 Continuum 之间标准化通用编译器堆栈

对 Phil 的优先事项的建议

  • conda-build-all

    *   [SciTools/conda build all#41](https://github.com/SciTools/conda-build-all/issues/41)

在 conda-build 的 beta 版本上运行构建的服务

“稳定”软件包的副本?

  • 将多个 PR 合并到单个版本中
  • conda-build-all PR