Berkontribusi; berkontribusi; berkontribusi; menyumbang (kata ini memiliki banyak arti, dan terjemahan spesifik perlu ditentukan sesuai dengan konteksnya)
Terima kasih atas minat Anda untuk berkontribusi pada Starlette. Anda dapat berkontribusi pada proyek ini dengan beberapa cara:
- Coba Starlette dan laporkan bug / masalah apa pun yang Anda temukan
- Terapkan fitur baru
- Tinjau permintaan tarik dari orang lain
- Tulis dokumentasi
- Berpartisipasi dalam diskusi
Laporkan bug atau masalah lain
Menemukan sesuatu yang harus didukung Starlette? Secara tidak sengaja mengalami beberapa perilaku tak terduga?
Kontribusi umumnya harus dimulai dengan diskusi. Kemungkinan bug dapat diangkat sebagai diskusi "masalah potensial," dan permintaan fitur dapat diangkat sebagai diskusi "ide." Kami kemudian dapat menentukan apakah diskusi itu perlu ditingkatkan menjadi "masalah," atau apakah kami akan mempertimbangkan untuk menarik permintaan.
Jelaskan sedetail mungkin, dan dalam kasus laporan bug, berikan informasi sebanyak mungkin, seperti:
- Platform Sistem Operasi
- Versi ular piton
Ketergantungan dan versi yang diinstal* (
python -m pip freeze) - cuplikan kode
- Jejak Pelacakan Kesalahan
Anda harus selalu mencoba untuk mengurangi contoh apa pun ke situasi sesederhana mungkin yang menggambarkan masalah tersebut.
Mengembangkan; mengembangkan
Untuk mulai mengembangkan Starlette, buat garpu untuk repositori Starlette di GitHub.
Kemudian kloning cabang Anda dengan perintah berikut, ganti YOUR-USERNAME dengan nama pengguna GitHub Anda:
$Git klon https://github.com/YOUR-USERNAME/starlette
Anda sekarang dapat menginstal proyek dan ketergantungannya dengan perintah berikut:
starlette $CD
$skrip / instal
Pengujian dan inspeksi kode
Kami menggunakan skrip shell khusus untuk mengotomatiskan pengujian, inspeksi kode, dan alur kerja pembuatan dokumentasi kami.
Untuk menjalankan tes ini, gunakan:
$skrip / tes
Argumen lain akan diteruskan ke pytest. Lihat dokumentasi pytest untuk informasi lebih lanjut.
Misalnya, menjalankan skrip tes tunggal:
$skrip / tes /test_application.py
Untuk menjalankan kode yang diformat secara otomatis:
$skrip / serat
Terakhir, untuk menjalankan pemeriksaan kode secara terpisah (juga di jalankan sebagai bagian dari scripts/test), jalankan:
$skrip / cek
Catatan; menyiapkan dokumen
Halaman dokumentasi terletak di bawah folder docs/.
Untuk menjalankan situs dokumentasi secara lokal (berguna untuk melihat perubahan pratinjau), gunakan:
$skrip / dokumen
Menyelesaikan kegagalan membangun / integrasi berkelanjutan
Setelah Anda mengirimkan permintaan tarik, test suite akan berjalan secara otomatis dan hasilnya akan ditampilkan di GitHub. Jika test suite gagal, Anda perlu mengklik tautan "Detail" dan mencoba mencari tahu mengapa test suite gagal.

Berikut adalah beberapa cara umum yang dapat gagal dalam test suite:
Pekerjaan cek gagal

Kegagalan pekerjaan ini berarti masalah pemformatan kode atau masalah anotasi tipe. Anda dapat melihat output pekerjaan untuk mencari tahu mengapa gagal, atau menjalankannya dalam cangkang:
$skrip / cek
Mungkin ada baiknya menjalankan $ scripts/lint untuk mencoba memformat kode secara otomatis, dan jika operasi berhasil, lakukan perubahan.
Pekerjaan dokumen gagal
Kegagalan pekerjaan ini berarti bahwa pembuatan dokumen gagal. Ini dapat terjadi karena berbagai alasan, seperti konfigurasi yang tidak valid Markdown atau hilang dalam mkdocs.yml.
Pekerjaan Python 3. X gagal

Kegagalan pekerjaan ini berarti bahwa uji unit gagal atau tidak semua jalur kode ditimpa oleh uji unit.
Jika tes gagal, Anda akan melihat pesan ini di bawah laporan cakupan:
=== 1 failed, 435 passed, 1 skipped, 1 xfailed in 11.09s ===
Jika pengujian berhasil, tetapi cakupan tidak mencapai ambang batas kami saat ini, Anda akan melihat pesan ini di bawah laporan cakupan:
FAIL Required test coverage of 100% not reached. Total coverage: 99.00%
Menerbitkan; melepaskan; melepaskan
Bagian ini ditargetkan pada pengelola Starlette.
Sebelum merilis versi baru, buat permintaan tarik dengan konten berikut:
- Pembaruan untuk changelog:
- Kami mengikuti format keepachangelog.
- membandingkan
masterdengan tag versi terbaru dan mencantumkan semua item yang menarik bagi pengguna kami:- Apa yang harus didokumentasikan dalam changelog: fitur ditambahkan, diubah, tidak digunakan lagi, atau dihapus, dan perbaikan bug.
- Apa yang tidak boleh dicatat dalam changelog: perubahan dokumentasi, tes, atau alat.
- Cobalah untuk mengurutkan item dalam urutan menuruni dampak / kepentingan.
- Tetap ringkas dan to the point.🎯
Upgrade versi untuk* : lihat
__version__.py.
Misalnya, lihat # 1600.
Setelah rilis PR digabungkan, rilis baru dibuat, termasuk:
Versi label* seperti 0.13.3.
* rilis judul Version 0.13.3
* Jelaskan penyalinan dari log perubahan.
Setelah dibuat, versi ini akan otomatis diunggah ke PyPI.
Jika ada masalah dengan tugas PyPI, Anda dapat menggunakan skrip scripts/publish untuk merilis versi.