tgoop.com/dsproglib/6939
Create:
Last Update:
Last Update:
NumPy — один из самых скачиваемых Python-пакетов, и теперь его type-completeness (покрытие типами) выросло с 33% до почти 90%.
Это огромный шаг для всей экосистемы Python и особенно для дата-сайнса.
Оказалось, что одна строчка исправления подняла покрытие типов с 33% до 80%:
# Было
def setfield(self, /, val: ArrayLike, dtype: DTypeLike, offset: CanIndex = 0) -> None: ...
# Стало
def setfield(self, /, val: ArrayLike, dtype: DTypeLike, offset: SupportsIndex = 0) -> None: ...
После этого внимание было уделено
MaskedArray, где типизация была всего 20%.Теперь — 100%:
>>> np.mean([x['isTypeKnown'] for x in exported if x['name'].startswith('numpy.ma.core.MaskedArray.')])
np.float64(1.0)Более полная типизация =
pandas, scikit-learn, xarray и др.)numpy.ma, уточнить перегрузки и добавить type-checker прямо в CI NumPy. Отличный шанс внести вклад в open source — довести NumPy до 100% тип-совместимости.#буст
