2016-09-09:一般討論
時間:14:00 UTC
視訊連結:https://hangouts.google.com/call/v5olhwzpfzgzpoq5i3wthjpqpie
出席者
- Jonathan Helmus、Filipe、Michael、Ray、Eric Dill、Björn Grüning、Matt Craig (晚到)
常設項目
- 有多少個 repo? ~1100
- 有多少位貢獻者? ~220
- 新的核心開發者?
筆記
Bioconda 更新
- 當來源 tarball 消失時,為 conda-build 2.0 重建二進制檔案。Bioconda 正在封存來源。
- 自動化流程以封存來源 tarball 並在容器中測試 (作為創建捆綁容器以運行套件的服務非常棒)。
核心開發者
- Eric Dill (邀請)
- Peter M. Landwehr (已邀請)
分割建置
- conda-build 問題 (xref?) conda/conda build#1338
- continuum 編譯器工具鏈,一致地使用 gcc (Linux)、clang 和 gfortran (OS X)。
預發布/RC
-
需要一位擁護者來撰寫提案!
* Eric Dill will take this on. Hopefully a CFEP will land within one week, 2016-09-16
-
Eric 建議同時擁有 dev 和
-dev 標籤。前者適用於「前沿人士」,但後者適用於只想測試/使用僅一個事物 (加上任何依賴項) 的新版本的人。 -
dev 是一個糟糕的名稱。這些套件更多用於測試而不是開發。測試?RC?
-
Filipe 認為我們不應接受早於 RC 的版本 (實際上並非不接受,而是鼓勵人們將其開發版本稱為 RC。想法是 conda-forge 是發布二進制檔案和每晚測試建置的地方,例如,超出 IMO 的範圍。)
feather-feedstock 維護者問題
- 他們希望使用現代 Visual Studio 建置 Python 2.7,而 conda-forge 應向他們建議,這將創建一個與 conda-forge 相容的不同生態系統。
conda-build 2.0 和 conda-build-all。Mike 問我們是否已準備好使用 conda-build 2.0。conda-forge 需要檢查
- conda-build <2.0 的 pins 在哪裡
- 檢查 conda-inspect
- 檢查上傳腳本
- 檢查 conda-smithy
在建置腳本中使用 pip。
- 在 Windows 上需要 conda > 4.2
- 需要檢查 entry_points 是否必須在 recipe 中聲明。
議程
-
下次會議:我們可以安排在 2016-09-16 嗎?
-
來自 bioconda 社群的更新。Tarball 封存和自動容器 (Docker、rkt) 建置。
-
conda-forge 是否對類似的整合感興趣?
-
OSX - 回到可用、連貫的堆疊
-
libc++ (clang) vs libstdc++ (gcc/g++)
-
Apple 的 C Blocks 擴展 (這些類似於 lambdas) 不在最新的 (或非 Apple) GCC 中:https://gcc.gnu.org/ml/gcc/2009-09/msg00264.html
-
我們可以在不違反具有運行時異常 (compiler_rt + libc++) 的 GPL 的情況下,將 gfortran 和 LLVM 系統/c++ 庫連結在一起嗎? - 如果連結是靜態完成的,就我所知不行,而且 gfortran 可以在 compiler_rt 之上建置嗎? 這些都是很大的未知數。
-
clang 所需的最低 OSX 版本 (我認為是 10.8?)
-
實際上 clang 從 10.7 開始就可用了。因此,如果考慮您的相容性限制,這將是可行的。
-
此外,我看到的所有參考都表明,這仍然具有 C++11 支援。
-
與預設值 (在 10.7 上建置,使用 gcc) 的相容性 - 人們會在何處中斷? 我認為只有在混合套件時 - 我們如何確保我們擁有我們需要的所有套件?
-
與 Continuum 的元數據統一 - 我們是否可以接受在 about 部分添加一些欄位以符合 Anaconda 標準?
-
範例位於 https://github.com/ContinuumIO/anaconda-recipes/blob/master/colander/meta.yaml
-
license_family
-
doc_url
-
dev_url
-
將 summary 限制為 80 個字元 (更長的內容使用 description)
-
我們可以將其添加到 linter,並在更新 recipes 時將其添加到 recipes 中嗎?
-
我們應該對 unicode 提供哪些支援? 任何支援? 僅限 Summary/description?
-
CUDA/cuDNN 更新
-
改進基礎設施
* Better workflows with staged-recipes
* Fast finish AppVeyor on merge ( [conda forge/staged recipes#1142](https://github.com/conda-forge/staged-recipes/pull/1142) )
* Drop Travis CI matrix ( [conda forge/staged recipes#1234](https://github.com/conda-forge/staged-recipes/pull/1234) )
* Use CircleCI for feedstock generation ( [conda forge/staged recipes#916](https://github.com/conda-forge/staged-recipes/issues/916) )
* Keeping recipes out of PRs ( [conda forge/staged recipes#942](https://github.com/conda-forge/staged-recipes/issues/942) )
* Bank work in partial conversion ( [conda forge/staged recipes#915](https://github.com/conda-forge/staged-recipes/issues/915) ) -
通知 (我們如何掌握它們)
-
MSYS2
* Available on defaults - was in conda 4.1.7, but that was pulled. Coming in 4.1.8.
- 討論 Ray Donnelly 在 MSYS2 套件上的工作,以及我們希望如何使用這些套件並將其整合到 conda-forge 中。
- 一些要考慮的用例 OpenBLAS、FFTW、建置工具,其他?
-
二進制數據
* Do we include it in recipes?
- 如果有的話,我們允許哪些種類 (例如圖示)?
- 我們如何驗證授權?
- 我們如何驗證它們是安全的?
-
Dev 版本:它們在哪裡發布?
* Do we do them at conda-forge?
* Maybe add a label.
* Do we let others do them with a feedstock on their own repo?- 我們如何強制執行我們決定的任何事情?
-
頻道鏡像
* Can this point be a little bit explained? I thought about this as well and would like to contribute to this point.
* Eric Dill has put together a script for copying a package from one channel to another here: [conda forge/conda forge.github.io#134](https://github.com/conda-forge/conda-forge.github.io/pull/134)
* I have a really, really crude script that copies all of the packages in one channel to another that I just put at: [](https://gist.github.com/mwcraig/8473cf840f6d29236d6d8af699404555)[https://gist.github.com/mwcraig/8473cf840f6d29236d6d8af699404555](https://gist.github.com/mwcraig/8473cf840f6d29236d6d8af699404555)
* conda-build-all can copy from one channel to another: `conda build-all --inspect-channels conda-forge --upload-channels astropy some_packge_recipe` will copy the `some_package` from the channel conda-forge to astropy if it can, or build it if it doesn't exist on conda-forge. Discussion about what the desired behavior should be has started at: [SciTools/conda build all#46](https://github.com/SciTools/conda-build-all/issues/46) -
Feedstock 歷史記錄
* Is it sacred?
-
我們是否 rebase/force push?
* If so, under what conditions?
-
我們如何避免多人同時執行此操作?
* I don't think you can.
* IMHO, if it's just one author in staged recipes, sure. If feedstock, no force push - only to PRs to feedstock. If people don't mind merge PRs, it sure is a lot simpler to not rebase. I have messed up rebasing a few times recently... =(
-
-
-
移除 numpy 1.10 並縮減我們的建置矩陣。(Numba 現在適用於 numpy 1.11。)
-
Feedstocks 哲學:顯式 vs 隱式 / 可重現 vs 冗餘
-
簽署套件
* Should be easy to do. ( [](http://conda.pydata.org/docs/signed-packages.html)[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 方面已經進行了一些改進,應該有助於解決此問題。簡而言之,repodata (給定頻道的套件索引) 是為每個 anaconda.org 查詢生成的。這是不必要的高成本,並且已經實施了一些快取方案。
-
處理移除未釘選/未正確釘選的套件。
* Has been done manually thus far.
- 但這無法很好地擴展。
- 我們應該 (半) 自動化移除嗎?
- 我們應該熱修復損壞的套件嗎? (conda forge/conda forge.github.io#170)
- 我們應該將它們標記為損壞
-
目前無法建置的套件
* In particular open source code that is out of scope for CIs.
-
範例包括 Qt4、Qt5、可能 PyQt4、可能 PyQt5、gcc、VTK 等。
-
我們如何指示它們是手動建置的?
-
我們可以接受上傳非建置的二進制檔案嗎?
-
我們何時確定某事物可以手動建置?
-
人們應該遵循哪些手動建置程序?
* Use a standard build docker image, VM, or vagrant file
-
簽署套件?
-
在可行的情況下實施可重現的建置 (linux)
* [](https://reproducible-builds.org/)[https://reproducible-builds.org/](https://reproducible-builds.org/)
-
我們需要在 conda-smithy 中進行哪些其他變更?
-
-
我們可以利用哪些其他建置基礎設施?
* Would be nice to provide some volunteer builder abstraction, so that we could have an elastic worker farm that would be somewhat resilient.
- 標準化建置映像檔可能 (相對) 容易 - 但如何協調?
-
-
Windows BLAS 解決方案
* Still don't have a BLAS for Windows yet need something.
-
不要建置 BLAS
* NumPy has a small subset of BLAS functionality.
-
不確定如何處理 SciPy (也找不到它們的 Windows wheels)。
-
僅使用 C 支援建置 OpenBLAS。
* Will be pretty slow.
-
應該適用於所有 Python。
-
使用 MinGW 編譯器建置 OpenBLAS。
* Works with Python 2.7 and 3.4.
-
不適用於 Python 3.5?
-
重用類似 R 的 BLAS。
* Is there a package for something like this?
-
它是否會遇到與 Python 3.5 相同的問題?
-
ATLAS?
-
-