跳到主要內容

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.
  • 變體。( 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 的人來說也是不好的,因為這會造成混淆。
    • 避免千刀萬剮:許多小的「吹毛求疵」評論可能會嚇跑新的貢獻者 (ping 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 的新版本即將發布,配方正在製作中,並將很快提交。

    *   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 對子環境更感興趣。

    • 這些將如何與預設提供的套件相互作用?

          *   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`
  • 增加人員以擁有 staged-recipes 的權限將在每次會議上決定。