0Pricing
Python Academy · Lektion

Versionierung und Metadaten

Paketmetadaten verwalten

Versionierung und Metadaten ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Metadaten wichtig sind

Metadaten umfassen alles an Ihrem Paket außer dem Code: Version, Beschreibung, Lizenz, Autor und Links. PyPI verwendet sie zur Darstellung Ihres Projekts, und pip nutzt sie zur Auflösung von Abhängigkeiten.

Gute Metadaten machen Ihr Paket vertrauenswürdig und installierbar.

Semantische Versionierung

Die Konvention lautet MAJOR.MINOR.PATCH:

  • MAJOR inkompatible Änderungen
  • MINOR neue, abwärtskompatible Funktionen
  • PATCH abwärtskompatible Fehlerbehebungen

Benutzer verlassen sich darauf, um einschätzen zu können, ob ein Upgrade sicher ist.

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))

Die nächste Version wählen

Die Entscheidung über die Erhöhung folgt festen Regeln: Haben Sie die API inkompatibel geändert, eine Funktion hinzugefügt oder lediglich einen Fehler behoben? Wenn Sie diese Regel festhalten, werden Releases konsistent.

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'))

Vorab- und Entwicklungsversionen

Python erlaubt Suffixe: 1.0.0a1 (Alpha), 1.0.0b2 (Beta), 1.0.0rc1 (Release Candidate) und 1.0.0.dev3. pip behandelt diese als älter als die endgültige Version 1.0.0, sodass Tester sie gezielt verwenden können, ohne normale Benutzer zu beeinflussen.

Single Source of Truth

Bewahren Sie die Version genau an einer Stelle auf. Entweder deklarieren Sie sie statisch in pyproject.toml, oder Sie kennzeichnen sie als dynamic und lesen sie mithilfe von Tools wie setuptools-scm aus dem Code (oder einem Tag) aus. Zwei Kopien driften unweigerlich auseinander.

Beschreibung und README

Eine kurze description erscheint in den Suchergebnissen. Die ausführliche Beschreibung stammt aus Ihrer readme (in der Regel README.md) und wird als PyPI-Projektseite dargestellt. Verweisen Sie mit readme = 'README.md' darauf.

Eine klare README ist Ihr bestes Marketing.

Lizenz

Geben Sie eine Lizenz an, damit Benutzer ihre Rechte kennen. Moderne Projekte verwenden einen SPDX-Ausdruck wie license = 'MIT'. Ohne Lizenz sind alle Rechte vorbehalten, was die Nutzung unattraktiv macht.

popular = ['MIT', 'Apache-2.0', 'BSD-3-Clause', 'GPL-3.0-only']
for lic in popular:
    print('SPDX:', lic)

Klassifikatoren

classifiers sind standardisierte Tags aus der PyPI-Liste, etwa 'Programming Language :: Python :: 3.11' oder 'Development Status :: 4 - Beta'. Sie ermöglichen die Filter auf PyPI und geben Aufschluss über Reifegrad und unterstützte Versionen.

Projekt-URLs

Fügen Sie unter [project.urls] Links wie Homepage, Documentation, Source und Changelog hinzu. Diese erscheinen in einer Seitenleiste auf PyPI und helfen Benutzern, Ihr Repository und Ihre Dokumentation zu finden.

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)

Keywords zur Auffindbarkeit

Das Feld keywords ist eine Liste kurzer Begriffe, über die Benutzer Ihr Paket bei Suchanfragen finden können. Wählen Sie Wörter, die tatsächlich eingegeben werden, etwa ['cli', 'automation', 'excel'], statt allgemeiner Füllwörter.

Zusammen mit den Klassifikatoren verbessern Keywords die Auffindbarkeit Ihres Projekts.

Ein Changelog

Führen Sie ein CHANGELOG, in dem Sie festhalten, was sich in jeder Version geändert hat. Benutzer lesen es vor einem Upgrade, um sich über neue Funktionen und inkompatible Änderungen zu informieren. Wenn Sie es unter [project.urls] verlinken, ist es mit einem Klick von der PyPI-Seite aus erreichbar.

Ein gutes Changelog macht aus einer Versionsnummer eine Geschichte, die Benutzer nachvollziehen können.

Schnelltest

Testen Sie Ihr Wissen zur Versionierung.

Zusammenfassung

Sie haben Paketmetadaten verwaltet:

  • Semantische Versionierung MAJOR.MINOR.PATCH sowie Suffixe für Vorabversionen
  • Speichern Sie die Version in einer zentralen Quelle der Wahrheit
  • Geben Sie description, eine ausführliche README-Beschreibung und eine license an
  • Fügen Sie classifiers und [project.urls] hinzu, damit PyPI Ihr Projekt ansprechend darstellt

Häufig gestellte Fragen

Ist die Lektion „Versionierung und Metadaten“ kostenlos?

Ja — der vollständige Text von „Versionierung und Metadaten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Versionierung und Metadaten“?

Paketmetadaten verwalten Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Versionierung und Metadaten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Projektstruktur und pyproject.toml
  2. Mit build erstellen
  3. Versionierung und Metadaten
  4. Mit twine veröffentlichen
← Zurück zu Python Academy