跳到主要內容

2016-06-24:一般討論

(請注意,此文件先前錯誤地將會議安排在 17 日)

時間:UTC 下午 2:00

視訊連結:https://hangouts.google.com/call/v5olhwzpfzgzpoq5i3wthjpqpie

出席者

Bjˆrn Gr¸ning

Filipe

John Kirkham

Michael Sarahan

Jonathan Helmus

Matt Craig

Phil Elson

常設項目

  • 有多少個 repo?
  • 有多少位貢獻者?
  • 新的核心開發者?

議程

  • 底層套件

  • 拆分 gcc 或使用預設值?我們需要一個更好且更一致的方式來建置依賴 Fortran 和 libgomp 的套件,否則當混合 conda-forge 和預設值時,我們將持續看到損壞的套件。

  • PR 到 staged-recipes 的基本社群實務。

  • 最近我在 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 的人來說也是不好的,因為這會造成混淆。
    • 避免千刀萬剮:許多小的「吹毛求疵」評論可能會嚇跑新的貢獻者(ping 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
    • 新的 repo?
    • 我們在哪裡託管安裝程式?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: Back-end server is at capacity for url...

    *   Seems we are regularly running into this issue under normal usage conditions.
    • 先前曾討論過在 AppVeyor 上快取套件,並嘗試重複使用這些套件以開始。
    • 也許我們需要考慮在所有 CI 上快取。
    • 透過 constructor 建置我們自己的類似 Miniconda 的自解壓縮腳本,其中包含套件。

筆記

最緊迫的問題:命名慣例

命名慣例

  • Continuum 的意見:命名空間生效需要一些時間,不想破壞任何人的設定,因此保留目前的名稱,在預設值具有優先權的情況下,我們可以遵循預設值嗎?在 Continuum 沒有套件的情況下,他們可以遵循 conda-forge 嗎?

  • simplegeneric 問題,覆蓋

  • 當您執行「conda install gplot」時,如何知道安裝了哪個套件?導致可重現的環境。

  • 從沒有命名空間開始,在您安裝「核心」套件(python、r 等)後取得命名空間,然後您將獲得與您環境中語言相符的套件

  • 希望 conda 的行為像 pip、cran 等,「開箱即用」

  • 關於依賴項該怎麼辦?

  • 建議當您安裝套件時,您將獲得所有命名空間中的套件?

  • 另一種選擇是在套件名稱中指定語言 (python-simplegeneric),並為「常見」套件建立查找表

  • 應該在 conda GitHub repo 上提出問題

  • 沒有簡單的解決方案,但我們需要選擇一些解決方案

  • 使用「常見」名稱的中繼套件

  • 正確的解決方案是在所有內容前加上「python-」前綴,但人們在安裝時不想這樣做,而且人們已經習慣了舊方法。

  • Filipe 關於命名空間的問題是它為使用者做出了選擇,寧願擁有該選擇...在 GitHub issue XXX 上提出

  • 對於許多使用者來說,conda 是 pip 的直接替代品,我們應該保留這個巨大的優勢嗎?

  • 是否有比命名空間更少工程化的解決方案?

    *   Should be raised in GitHub, submit PRs 
  • 在所有內容前加上前綴,並讓 conda install 能夠聰明地找到這些套件?

  • 不要為預設值中的套件加上前綴,但任何不在預設值中的套件都應該加上 python-、r- 前綴

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

  • 稍後繼續討論...

骨架產生器

  • 骨架產生器應該使用前綴名稱嗎?
  • 骨架需要一些更新,沒有
  • John 有一個 Jinja 模板,可以產生 meta.yaml,我們可以使用這個嗎?需要從 setuptools 中提取資料
  • conda-forge 應該發布自己的骨架產生器嗎?還是其他不同的東西

治理

  • NOAA 擔心失去對 repo 的控制

  • 擔心倉促合併的 PR 和類似問題

  • 撰寫關於良好 PR 看起來像什麼、自我合併和類似問題的指導提案

NumPy 問題

  • libgfortran 可以解決這個問題嗎?
  • 希望 Micheal Grant 在建立 conda-forge libgfortran 之前先看看 solver
  • libquadmath,目前計劃包含在 libgfortran 中,未在預設值中使用,這些應該是單獨的套件嗎?
  • 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