Jupyter 官方子專案列表#
Jupyter 軟體開發在軟體子專案中進行。在 Jupyter 官方子專案的範疇內,有兩種型別的子專案:一種擁有正式的子專案委員會和 SSC 代表,另一種是規模較小、活躍度較低的子專案,其子專案委員會就是 SSC 本身。本文件將列舉這兩種型別的子專案。
有 SSC 代表的官方子專案#
以下 Jupyter 子專案擁有自己正式的子專案委員會,該委員會選舉並維護一名 SSC 代表。
沒有 SSC 代表的官方子專案#
以下官方 Jupyter 子專案規模較小且活躍度較低。因此,其正式的子專案委員會將是 SSC,並且它們不會有獨立的 SSC 代表。我們期望這些較小的團隊能基本維持現狀,遵循 Jupyter 決策指南中尋求共識的階段來做決策。儘管 SSC 對這些專案擁有決策權,但 SSC 會將所有不涉及廣泛跨專案影響的決策授權給子專案維護者。在極少數需要投票的情況下,SSC 將作為投票機構,並與子專案維護者密切協商。如果這些子專案中的某一個發展壯大或變得更加活躍,SSC 可以隨時為該子專案選舉一個獨立的委員會,屆時該子專案將開始擁有自己的 SSC 代表。在所有其他方面,這些子專案都是完整且正式的子專案。
nbdime (jupyter/nbdime)
nbgrader (jupyter/nbgrader)
nbviewer (jupyter/nbviewer)
ipyparallel (ipython/ipyparallel)
所有其他未在上面列出,且不明確屬於上述官方子專案 GitHub 組織的程式碼倉庫。
關於 Jupyter 官方子專案的說明#
“Jupyter 官方子專案”這份檔案提出了一系列關於如何將我們的程式碼倉庫組織成官方子專案和 GitHub 組織的變更。本文件描述了這些提議的變更。
服務
通常,像 Binder、nbviewer 和 Jupyter 網站這樣的 Jupyter 服務會涉及法律、財務和運營事務。因此,我們提議由向執行委員會(Executive Council)彙報的工作組來管理這些實際的服務,執行委員會可以提供所需的支援和監督。例如,如果我們想聘請全職或兼職人員來維護或運營這些服務,執行委員會將負責籌集資金、招聘和管理這些人員。
JupyterHub 和 Binder 團隊有一些獨特的考慮因素。目前,所有 Binder 程式碼倉庫都在 Jupyterhub 組織下,但有一個獨立(但高度重疊)的團隊被列為 Binder 團隊。這些團隊需要商定是各自擁有一個正式的子專案委員會和一名 SSC 代表,還是合併成一個團隊。治理工作組將為 JupyterHub 和 Binder 團隊提供幫助,以解決這些問題。
我們提議 Jupyter 網站及其程式碼倉庫由一個向執行委員會彙報的工作組來治理。
我們提議 nbviewer 服務(僅指實際的線上服務)由一個向執行委員會彙報的工作組來治理。nbviewer 的可複用部分(位於 jupyter/nbviewer)將成為一個沒有 SSC 代表的 Jupyter 官方子專案,如上所述。
Jupyter Kernels
為了整合專案在第一方核心上的工作,我們提議建立一個名為 *Jupyter Kernels* 的新官方子專案,並建立一個名為 jupyter-kernels 的 GitHub 組織來承載該子專案的工作。所有 Xeus 程式碼倉庫(jupyter-xeus)將被移至該組織。該子專案還將治理 IPython GitHub 組織,該組織將保持原位(ipython)。
將為該組織建立一個新的子專案委員會,他們將選舉一名 SSC 代表。
Jupyter 基礎與標準
最終,由於 Jupyter 標準具有跨專案的性質,它們歸 SSC 所有。JEP 倉庫的日常管理機制將由 SSC 決定。
有許多程式碼倉庫包含了專案範圍內的標準和協議。為了整合這些倉庫的工作,我們提議建立一個名為“Jupyter Standards”的新官方子專案,並建立一個名為 jupyter-standards 的 GitHub 組織來承載該子專案的工作。以下程式碼倉庫將被移至該組織:
Jupyter Client (jupyter/jupyter_client)
Jupyter Notebook Format (jupyter/nbformat)
由其他子專案維護的其他規範的文件,例如 Jupyter Widgets 訊息規範或 Jupyter Server REST API。
JEPs 倉庫 (jupyter/enhancement-proposals)。
Jupyter 的軟體中有許多元件是其他眾多子專案的基礎。為了整合這些倉庫的工作,我們提議建立一個名為 *Jupyter Foundations* 的新官方子專案,並建立一個名為 jupyter-foundations 的 GitHub 組織來承載該子專案的工作。以下程式碼倉庫將被移至該組織:
nbconvert (jupyter/nbconvert)
Jupyter Core (jupyter/jupyter_core)
Jupyter-packaging (jupyter/jupyter-packaging)
Terminado (jupyter/terminado)
nbclient (jupyter/nbclient)
Telemetry (jupyter/telemetry)
Traitlets (ipython/traitlets)
Jupyter Console (jupyter/jupyter_console)
Docker stacks (jupyter/docker-stacks)