Sürümleme ve Üst Veriler
Paket üst verilerini yönetin
Sürümleme ve Üst Veriler, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Üst Veri Neden Önemlidir
Üst veri, kod dışındaki paketinizle ilgili her şeyi kapsar: sürümünü, açıklamasını, lisansını, yazarını ve bağlantılarını. PyPI projenizi görüntülemek için, pip ise bağımlılıkları çözümlemek için bu bilgileri kullanır.
İyi üst veri, paketinize güven duyulmasını ve paketin kurulabilmesini sağlar.
Anlamsal Sürümleme
Kural MAJOR.MINOR.PATCH biçimindedir:
- MAJOR, geriye dönük uyumluluğu bozan değişiklikler
- MINOR, geriye dönük uyumlu yeni özellikler
- PATCH, geriye dönük uyumlu hata düzeltmeleri
Kullanıcılar bir yükseltmenin güvenli olup olmadığını anlamak için bu kurala güvenir.
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))Sonraki Sürümü Seçme
Sürüm artışına karar vermek kurallara dayanır: programlama arayüzünü bozdunuz mu, bir özellik mi eklediniz, yoksa yalnızca bir hatayı mı düzelttiniz? Kuralı kodlamak, sürümlerin tutarlı olmasını sağlar.
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'))Ön Sürümler ve Geliştirme Sürümleri
Python şu son eklerin kullanılmasına izin verir: 1.0.0a1 (alfa), 1.0.0b2 (beta), 1.0.0rc1 (sürüm adayı) ve 1.0.0.dev3. pip bunları son sürüm olan 1.0.0 sürümünden daha eski kabul eder; böylece sınayıcılar normal kullanıcıları etkilemeden bu sürümleri seçebilir.
Tek Doğru Kaynak
Sürümü tam olarak tek bir yerde tutun. Ya pyproject.toml içinde statik olarak bildirin ya da dynamic olarak işaretleyip setuptools-scm gibi araçlarla koddan (veya bir etiketten) okuyun. İki kopya er ya da geç birbirinden farklılaşır.
Açıklama ve README
Kısa description arama sonuçlarında görünür. Uzun açıklama readme dosyanızdan (genellikle README.md) alınır ve PyPI proje sayfası olarak görüntülenir. Dosyayı readme = 'README.md' ile belirtin.
Anlaşılır bir README, en iyi tanıtım aracınızdır.
Lisans
Kullanıcıların haklarını bilmesi için bir lisans bildirin. Modern projeler license = 'MIT' gibi bir SPDX ifadesi kullanır. Lisans bulunmaması, tüm hakların saklı olduğu anlamına gelir ve benimsenmeyi zorlaştırır.
popular = ['MIT', 'Apache-2.0', 'BSD-3-Clause', 'GPL-3.0-only']
for lic in popular:
print('SPDX:', lic)Sınıflandırıcılar
classifiers, PyPI listesindeki standartlaştırılmış etiketlerdir; örneğin 'Programming Language :: Python :: 3.11' veya 'Development Status :: 4 - Beta'. PyPI filtrelerini destekler, ayrıca projenin olgunluğunu ve desteklenen sürümleri belirtirler.
Proje URL'leri
[project.urls] altında Ana Sayfa, Belgeler, Kaynak ve Değişiklik Günlüğü gibi bağlantılar ekleyin. Bunlar PyPI'da bir kenar çubuğunda görünür ve kullanıcıların deponuzu ve belgelerinizi bulmasına yardımcı olur.
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)Keşfedilebilirlik İçin Anahtar Kelimeler
keywords alanı, kullanıcıların paketinizi aramalarda bulmasına yardımcı olan kısa terimlerin listesidir. Genel ve boş ifadeler yerine ['cli', 'automation', 'excel'] gibi insanların gerçekten yazacağı kelimeleri seçin.
Sınıflandırıcılarla birlikte kullanıldığında anahtar kelimeler, projenizin keşfedilebilirliğini artırır.
Değişiklik Günlüğü
Her sürümde nelerin değiştiğini kaydeden bir CHANGELOG tutun. Kullanıcılar yeni özellikleri ve geriye dönük uyumluluğu bozan değişiklikleri öğrenmek için yükseltme yapmadan önce bunu okur. [project.urls] altında bağlantı vermek, PyPI sayfasından tek tıklamayla erişilmesini sağlar.
İyi bir değişiklik günlüğü, sürüm numarasını kullanıcıların takip edebileceği bir öyküye dönüştürür.
Hızlı Kontrol
Sürüm oluşturma bilginizi sınayın.
Özet
Paket üst verilerini yönettiniz:
- Anlamsal sürümleme MAJOR.MINOR.PATCH ve ön sürüm sonekleri
- Sürümü tek bir doğruluk kaynağında tutun
description, bir README uzun açıklaması velicensesağlayın- PyPI'nin projenizi iyi görüntülemesi için
classifiersve[project.urls]ekleyin
Sıkça Sorulan Sorular
“Sürümleme ve Üst Veriler” dersi ücretsiz mi?
Evet — “Sürümleme ve Üst Veriler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Sürümleme ve Üst Veriler” dersinde ne öğreneceğim?
Paket üst verilerini yönetin Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Sürümleme ve Üst Veriler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Proje Yapısı ve pyproject.toml
- build ile Derleme
- Sürümleme ve Üst Veriler
- twine ile Yayımlama