0Pricing
Python Academy · Pelajaran

Mempublikasikan dengan twine

Unggah ke PyPI

Mempublikasikan dengan twine adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Langkah Terakhir

Anda telah membuat artefak di dist/. Langkah terakhir adalah mengunggahnya ke PyPI agar semua orang dapat pip install paket Anda. Alat standar untuk ini adalah twine.

twine mengunggah dengan aman melalui HTTPS dan memvalidasi artefak sebelum mengirimkannya.

Memasang twine

Pasang dengan pip install twine. Ini adalah alat kecil dan khusus: tugasnya semata-mata memvalidasi dan mengunggah berkas di dist/. Alat ini tidak membuat apa pun.

TestPyPI Terlebih Dahulu

Tersedia kotak pasir terpisah, TestPyPI, untuk berlatih mengunggah. Terbitkan paket di sana terlebih dahulu untuk menemukan masalah tanpa mengotori indeks sebenarnya. Nama dan versi di TestPyPI tidak bergantung pada PyPI.

Unggah dengan twine upload --repository testpypi dist/*.

Memeriksa Sebelum Mengunggah

twine check dist/* memvalidasi bahwa metadata dan deskripsi panjang Anda akan ditampilkan dengan benar di PyPI. Jalankan setiap kali; jika deskripsi README rusak, deskripsi tersebut dapat ditampilkan sebagai teks biasa di halaman proyek Anda.

files = ['mytool-0.1.0.tar.gz', 'mytool-0.1.0-py3-none-any.whl']
for f in files:
    status = 'PASSED' if f.endswith(('.gz', '.whl')) else 'SKIP'
    print('check', f, '->', status)

Token API, Bukan Kata Sandi

Lakukan autentikasi dengan token API dari akun PyPI Anda, bukan dengan kata sandi. Gunakan __token__ sebagai nama pengguna dan token (yang diawali dengan pypi-) sebagai kata sandi. Cakupan token dapat dibatasi ke satu proyek dan token tersebut dapat dicabut kapan saja.

username = '__token__'
token = 'pypi-AgEIcHl...'
print('Username:', username)
print('Token starts with:', token[:5])
print('Never commit the token to git')

Menyimpan Kredensial

Hindari mengetik ulang token dengan menyimpannya di berkas ~/.pypirc atau variabel lingkungan (TWINE_USERNAME, TWINE_PASSWORD). Jangan masukkan berkas ini ke dalam kontrol versi dan pastikan hanya Anda yang dapat membacanya.

Mengunggah ke PyPI

Setelah TestPyPI terlihat baik, terbitkan paket sungguhan dengan twine upload dist/*. Dalam beberapa saat, paket Anda dapat dipasang di seluruh dunia. Tidak ada cara untuk membatalkannya: Anda tidak dapat mengunggah ulang versi yang sama setelah menghapusnya.

Versi Tidak Dapat Diubah

PyPI tidak pernah mengizinkan Anda menimpa versi yang telah diterbitkan. Jika menemukan kesalahan setelah menerbitkan paket, Anda harus menerbitkan versi baru (misalnya, menaikkan nomor patch). Jadikan aturan ini bagian dari alur kerja Anda agar tidak pernah menemui jalan buntu.

published = {'1.0.0', '1.0.1'}
new_version = '1.0.1'
if new_version in published:
    print(new_version, 'already on PyPI - bump and rebuild')
else:
    print(new_version, 'is free to upload')

Memverifikasi Pemasangan

Setelah mengunggah, pastikan semuanya berfungsi: buat lingkungan virtual baru dan jalankan pip install mytool, lalu impor paket tersebut. Memasang dari lingkungan yang bersih dapat menemukan berkas yang hilang dan kesalahan dependensi yang tidak ditemukan oleh proses pembuatan.

Penerbitan Tepercaya

Proyek modern dapat melewati penggunaan token manual dengan penerbitan tepercaya: PyPI mengautentikasi alur kerja CI (seperti GitHub Actions) secara langsung melalui OpenID Connect. Tidak ada rahasia yang berlaku lama yang disimpan di mana pun, sehingga cara ini lebih aman.

twine tetap melakukan pengunggahan, tetapi kredensialnya hanya berlaku sementara dan diterbitkan saat proses berjalan.

Mengotomatiskan Rilis

Pengaturan yang umum memicu rilis saat Anda mengirim tag git seperti v1.0.0. Alur kerja CI membuat paket, menjalankan twine check, lalu mengunggahnya secara otomatis. Pemberian tag menjadi satu-satunya tindakan untuk merilis sebuah versi.

Hal ini membuat rilis tetap konsisten dan menghilangkan kesalahan pengunggahan manual.

Cek Singkat

Uji pemahaman Anda tentang penerbitan paket.

Ringkasan

Anda telah menerbitkan sebuah paket:

  • pip install twine, lalu twine check dist/*
  • Berlatihlah di TestPyPI sebelum mengunggah ke tempat sebenarnya
  • Lakukan autentikasi dengan token API yang memiliki cakupan terbatas (__token__), jangan pernah menggunakan kata sandi
  • twine upload dist/* menerbitkan paket; versi tidak dapat diubah, jadi naikkan versinya untuk memperbaiki kesalahan
  • Verifikasi dengan pip install di lingkungan yang bersih

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mempublikasikan dengan twine” gratis?

Ya — teks lengkap “Mempublikasikan dengan twine” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mempublikasikan dengan twine”?

Unggah ke PyPI Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Mempublikasikan dengan twine” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Struktur Proyek dan pyproject.toml
  2. Membangun dengan build
  3. Penerapan Versi dan Metadata
  4. Mempublikasikan dengan twine
← Kembali ke Python Academy