ipython / ipython/ipyparallel

Transition from `CompositeError` to builtin `ExceptionGroup`

未關閉
#814 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Jupyter Notebook
星號
2.6k
分支
1k
PR 合併指標
30 天內沒有已合併 PR

描述

[PEP-654](https://peps.python.org/pep-0654/) adds a new builtin `ExceptionGroup` type to Python, and `except*` syntax for cleanly handling multiple errors. [The backport](https://pypi.org/project/exceptiongroup/) is already widely used, including by Pytest, Trio, Hypothesis, and many others. I'd love to see `ipyparallel` join in, so that all our users get interoperable tooling and - once they're on recent versions of Python - nice syntax too.

Logistically, this is a substantial lift, but following e.g. https://github.com/python-trio/trio/pull/2213 will hopefully be a lot easier than doing the whole thing from scratch. You might even choose to wait a while for the ecosystem to mature, but I thought it was worth opening an issue now - if nothing else, it's relevant to any _other_ proposed changes to `CompositeError` - and I'm confident that switching over will be the best way forward within the next few years.

貢獻指南

開啟貢獻指南

研究方向

首先檢視 ipyparallel 的 CompositeError 實作,以及 issue 中描述的相關 Python Trio 遷移,同時查看 PEP 654 和 exceptiongroup backport。完成的標準是 ipyparallel 使用可互通的內建 ExceptionGroup 行為,同時保留其現有的多錯誤處理方式。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
distributed-systems
Issue 類型
重構
難度
5/5
預估耗時
一週以上
活躍度
停滯
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。