Penerbitan Versi dan Metadata
Urus metadata pakej
Penerbitan Versi dan Metadata ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.
Mengapa Metadata Penting
Metadata ialah segala-galanya tentang pakej anda kecuali kod: versinya, perihalan, lesen, pengarang dan pautan. PyPI menggunakannya untuk memaparkan projek anda, manakala pip menggunakannya untuk menyelesaikan kebergantungan.
Metadata yang baik menjadikan pakej anda boleh dipercayai dan boleh dipasang.
Versi Semantik
Konvensyennya ialah MAJOR.MINOR.PATCH:
- MAJOR perubahan yang memecahkan keserasian
- MINOR ciri baharu yang serasi ke belakang
- PATCH pembaikan pepijat yang serasi ke belakang
Pengguna bergantung padanya untuk mengetahui sama ada peningkatan versi selamat.
version = '2.4.1'
major, minor, patch = version.split('.')
print('Major', major, 'Minor', minor, 'Patch', patch)
print('Bug fix -> bump patch to', major + '.' + minor + '.' + str(int(patch) + 1))Memilih Versi Seterusnya
Menentukan bump adalah berasaskan peraturan: adakah anda memecahkan antara muka awam, menambahkan ciri atau hanya membaiki pepijat? Menetapkan peraturan ini menjadikan keluaran konsisten.
def bump(version, kind):
major, minor, patch = (int(x) for x in version.split('.'))
if kind == 'major':
return str(major + 1) + '.0.0'
if kind == 'minor':
return str(major) + '.' + str(minor + 1) + '.0'
return str(major) + '.' + str(minor) + '.' + str(patch + 1)
print(bump('1.2.3', 'minor'))
print(bump('1.2.3', 'major'))Versi Prakeluaran dan Pembangunan
Python membenarkan akhiran: 1.0.0a1 (alfa), 1.0.0b2 (beta), 1.0.0rc1 (calon keluaran) dan 1.0.0.dev3. pip menganggap versi ini lebih awal daripada 1.0.0 akhir, jadi penguji boleh memilihnya tanpa menjejaskan pengguna biasa.
Satu Sumber Kebenaran
Simpan versi tepat pada satu tempat sahaja. Sama ada isytiharkan versi itu secara statik dalam pyproject.toml, atau tandakannya sebagai dynamic dan bacanya daripada kod (atau teg) melalui alat seperti setuptools-scm. Dua salinan akhirnya pasti berbeza.
Perihalan dan README
description yang ringkas muncul dalam hasil carian. Perihalan panjang datang daripada readme anda (biasanya README.md) dan dipaparkan sebagai halaman projek PyPI. Tunjukkannya dengan readme = 'README.md'.
README yang jelas ialah pemasaran terbaik anda.
Lesen
Isytiharkan lesen supaya pengguna mengetahui hak mereka. Projek moden menggunakan ungkapan SPDX seperti license = 'MIT'. Tanpa lesen, semua hak terpelihara, dan keadaan ini tidak menggalakkan penggunaan.
popular = ['MIT', 'Apache-2.0', 'BSD-3-Clause', 'GPL-3.0-only']
for lic in popular:
print('SPDX:', lic)Pengelas
classifiers ialah teg piawai daripada senarai PyPI, seperti 'Programming Language :: Python :: 3.11' atau 'Development Status :: 4 - Beta'. Teg ini menggerakkan penapis PyPI serta menunjukkan tahap kematangan dan versi yang disokong.
URL Projek
Di bawah [project.urls], tambahkan pautan seperti Laman Utama, Dokumentasi, Sumber dan Log Perubahan. Pautan ini muncul dalam bar sisi PyPI dan membantu pengguna mencari repositori serta dokumentasi anda.
urls = {
'Homepage': 'https://example.com',
'Source': 'https://github.com/me/mytool',
'Issues': 'https://github.com/me/mytool/issues',
}
for label, link in urls.items():
print(label.ljust(10), link)Kata Kunci untuk Penemuan
Medan keywords ialah senarai istilah pendek yang membantu pengguna mencari pakej anda dalam carian. Pilih perkataan yang benar-benar akan ditaip oleh pengguna, seperti ['cli', 'automation', 'excel'], bukannya perkataan umum yang tidak bermakna.
Bersama-sama dengan pengelas, kata kunci meningkatkan kebolehlihatan projek anda.
CHANGELOG
Selenggarakan CHANGELOG yang merekodkan perkara yang berubah dalam setiap versi. Pengguna membacanya sebelum menaik taraf untuk mengetahui ciri baharu dan perubahan yang memecahkan keserasian. Memautkannya di bawah [project.urls] menjadikannya boleh dicapai dengan satu klik dari halaman PyPI.
Log perubahan yang baik menukarkan nombor versi kepada kisah yang boleh diikuti oleh pengguna.
Semakan Pantas
Uji pengetahuan anda tentang pemversian.
Imbas Kembali
Anda telah menguruskan metadat pakej:
- Pemversian semantik MAJOR.MINOR.PATCH, serta akhiran prapelancaran
- Simpan versi dalam satu-satunya sumber kebenaran
- Sediakan
description, huraian panjang README danlicense - Tambahkan
classifiersdan[project.urls]supaya PyPI memaparkan projek anda dengan baik
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 76
- Pelajaran
- 320
Soalan Lazim
Adakah pelajaran “Penerbitan Versi dan Metadata” percuma?
Ya — teks penuh “Penerbitan Versi dan Metadata” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Penerbitan Versi dan Metadata”?
Urus metadata pakej Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Python Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Penerbitan Versi dan Metadata” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Struktur Projek dan pyproject.toml
- Membina dengan build
- Penerbitan Versi dan Metadata
- Menerbitkan dengan twine