DSPROGLIB Telegram 6939
🔗 NumPy теперь почти полностью типизирован — 90%

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: ...


😁 Да, одна опечатка в аннотации — и вот уже +50% к типовой полноте.

После этого внимание было уделено MaskedArray, где типизация была всего 20%.

Теперь — 100%:
>>> np.mean([x['isTypeKnown'] for x in exported if x['name'].startswith('numpy.ma.core.MaskedArray.')])
np.float64(1.0)


Более полная типизация =
✔️ Умнее автодополнение в IDE
✔️ Меньше ошибок
✔️ Надёжнее библиотеки, зависящие от NumPy (pandas, scikit-learn, xarray и др.)

📝Остаётся типизировать верхнеуровневые функции numpy.ma, уточнить перегрузки и добавить type-checker прямо в CI NumPy. Отличный шанс внести вклад в open source — довести NumPy до 100% тип-совместимости.

🔗 Подробнее

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122😁2



tgoop.com/dsproglib/6939
Create:
Last Update:

🔗 NumPy теперь почти полностью типизирован — 90%

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: ...


😁 Да, одна опечатка в аннотации — и вот уже +50% к типовой полноте.

После этого внимание было уделено MaskedArray, где типизация была всего 20%.

Теперь — 100%:
>>> np.mean([x['isTypeKnown'] for x in exported if x['name'].startswith('numpy.ma.core.MaskedArray.')])
np.float64(1.0)


Более полная типизация =
✔️ Умнее автодополнение в IDE
✔️ Меньше ошибок
✔️ Надёжнее библиотеки, зависящие от NumPy (pandas, scikit-learn, xarray и др.)

📝Остаётся типизировать верхнеуровневые функции numpy.ma, уточнить перегрузки и добавить type-checker прямо в CI NumPy. Отличный шанс внести вклад в open source — довести NumPy до 100% тип-совместимости.

🔗 Подробнее

🐸 Библиотека дата-сайентиста

#буст

BY Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение


Share with your friend now:
tgoop.com/dsproglib/6939

View MORE
Open in Telegram


Telegram News

Date: |

Judge Hui described Ng as inciting others to “commit a massacre” with three posts teaching people to make “toxic chlorine gas bombs,” target police stations, police quarters and the city’s metro stations. This offence was “rather serious,” the court said. During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month. As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." Concise
from us


Telegram Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
FROM American