Pygithub: Tambahkan anotasi jenis untuk mypy (dll.)

Dibuat pada 8 Sep 2019  ·  6Komentar  ·  Sumber: PyGithub/PyGithub

Akan lebih bagus jika PyGithub memiliki anotasi jenis untuk jenisnya. Ini akan memungkinkan pengguna untuk membuat kode yang lebih aman di sekitarnya serta meningkatkan saran editor. Karena PyGithub sudah memiliki hierarki tipe yang terdefinisi dengan baik, sudah ada tipe yang dapat digunakan, yang sangat bagus.

(Saya sebenarnya awalnya berasumsi dari deskripsi bahwa PyGithub diberi anotasi dan terkejut bahwa itu tidak).

Apakah ini sesuatu yang Anda pertimbangkan dan/atau akan terbuka?

feature request improvement

Komentar yang paling membantu

Dimungkinkan untuk menggunakan alat seperti https://github.com/Instagram/MonkeyType untuk menerapkan anotasi jenis sebaris dari file rintisan. Jadi berpotensi, kita bisa mulai bekerja menulis rintisan, dan kemudian menerapkannya sebaris setelah menjatuhkan dukungan untuk Py2.

Semua 6 komentar

Jika pengelola setuju dengan ide ini, saya tidak keberatan mengerjakannya.

Saya baik-baik saja dengan ini, tapi itu bukan usaha kecil. Mungkin sebelum ini kita harus memutakhirkan proyek ke Python 3 (karena Python2 akan segera dihentikan), jadi kita bisa menggunakan anotasi tipe gaya Python3 di mana-mana.

Dimungkinkan untuk menggunakan alat seperti https://github.com/Instagram/MonkeyType untuk menerapkan anotasi jenis sebaris dari file rintisan. Jadi berpotensi, kita bisa mulai bekerja menulis rintisan, dan kemudian menerapkannya sebaris setelah menjatuhkan dukungan untuk Py2.

Oke, saya sebenarnya sudah mulai mengerjakan ide @trickeydan . Saya membuat file stub dengan menjalankan MonkeyType terhadap unittest dan menulisnya ke file .piy di sebelah file .py. Ini akan membutuhkan pemeriksaan semua rintisan dengan tangan karena MonkeyType tampaknya telah melewatkan beberapa detail di sana-sini dengan sedih (jadi mungkin perlu beberapa saat).

Saya pikir itu juga akan diperlukan untuk mengekspor lebih atau kurang setiap jenis yang kita miliki di __init__.py modul agar orang-orang memasukkan jenis PyGithub dalam typechecks mereka.

Jika ada yang tertarik, Anda dapat memeriksa perkembangannya di sini: https://github.com/zer0tonin/PyGithub/tree/agg/type_stubs

Satu-satunya masalah yang saya perhatikan sejauh ini adalah bahwa urllib3 tampaknya tidak memiliki info pengetikan yang tersedia dan sayangnya kami menggunakan beberapa jenisnya.

@zer0tonin Mari kita terus menggelindingkan bola. Mengapa tidak membuka PR dari cabang Anda, agar kami dapat meninjaunya.

urllib3 hanya digunakan untuk fungsi Coba Lagi, yang baru-baru ini diperkenalkan di #1002. Mari kita lihat bagaimana kita bisa menambahkan rintisan ke urllib3 nanti.

Ditutup pada #1231
Penegakan CI akan ditambahkan di #1442

Apakah halaman ini membantu?
0 / 5 - 0 peringkat