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 vs 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 的方式與另一個環境不同?)。如果命名空間實際上是新語法的一部分,而不是僅僅是套件名稱的前綴,這可能會更可行。
- 當然,這是合理的 - 將命名空間搜尋功能設為使用者定義的便利功能,而不是自動決定的功能。
- 值得記住的是,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 的人來說也是不好的,因為這會造成混淆。
- 避免千刀萬剮:許多小的「吹毛求疵」評論可能會嚇跑新的貢獻者 (ping Mike S ;-) )
-
社群存在感。
* Twitter ( [conda forge/conda forge.github.io#114](https://github.com/conda-forge/conda-forge.github.io/issues/114) )
- Stack Overflow (例如 http://stackoverflow.com/questions/36838181/how-can-i-start-building-universal-conda-packages )
- 其他?
-
工具鏈配置的標準化 ( conda forge/staged recipes#578 )。
** 筆記 **
-
下次會議,下週要開會嗎?
* Wednesday/Thursday, 1400 UTC
-
conda-build 的新版本即將發布,配方正在製作中,並將很快提交。
* 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 對子環境更感興趣。
-
這些將如何與預設提供的套件相互作用?
* 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 日星期五,UTC 1400
-
從 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 的權限將在每次會議上決定。