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. -
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) )
- Stackoverflow (例如 http://stackoverflow.com/questions/36838181/how-can-i-start-building-universal-conda-packages )
- 其他?
-
工具链配置的标准化 ( 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
-
scikit-build
-
John/Michael 将创建/重新打开 AppVeyor PR 以解决此问题
* staged-recipe PR ( [conda forge/staged recipes#607](https://github.com/conda-forge/staged-recipes/pull/607) )
- conda-smithy PR ( conda forge/conda smithy#107 )
-
-
表彰支持者
* 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`
- 或其它“有意义的”测试
- 避免“一击即跑”式的合并,因为之后还需要额外的工作。
- PR 模板 ( conda forge/staged recipes#550 )
- 指南 ( https://github.com/conda-forge/conda-forge.github.io/blob/master/docs/guidelines.md )
-
增加人员在 staged-recipes 上拥有权限将在每次会议上决定。