Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs Python Packages releasen mit zest.releaser

Python Packages releasen mit zest.releaser

Releasemanagement mit zest.releaser ist sehr einfach und komfortabel. Unterstützt werden eine Reihe von VC-Systemen wie z.B. SVN, Mercurial und Bazaar. Auf einfache Art und Weise ist es so möglich seine Packages im PyPi (Python Package Index) zu veröffentlichen.

Nachdem wir unser Package mit Leben gefüllt und es unter die Versionskontrolle von Bazaar gestellt haben, wird es Zeit ein erstes Release zu machen. Wir verwenden im folgenden den Weg über zc.buildout, es ist aber auch möglich ohne buildout den zest.releaser zu verwenden.

Installieren von buildout

Falls zc.buildout noch nicht verfügbar sein sollte, können wir dies wie folgt installieren.

easy_install zc.buildout

oder

pip install zc.buildout

Eine Buildout-Struktur erzeugen

In unserem neuen Package erzeugen wir nun eine initiale buildout-Struktur.

builout init

zest.releaser mit buildout instalieren und einrichten

Die nun vorhandene Datei buildout.cfg passen wir wie folgt an.

[buildout]
parts = releaser

[releaser]
recipe = zc.recipe.egg
eggs = zest.releaser

Mit einem Aufruf von buildout wird nun zest.releaser installiert und nützliche scripte erzeugt.

./bin/buildout

ls bin/
buildout  fullrelease  lasttagdiff  longtest  \
postrelease  prerelease  release

Releasemanagement mit zest.releaser

prerelease

Fragt nach einer Versionsnummer (Vorgabe ist die aktuelle Versionsnummer ohne 'dev' suffix), passt mit die setup.py oder version.txt und die HISTORY.txt/CHANGES.txt/CHANGES Dateien an, und bietet an die Änderungen gleich zu committen.

release

Tagged den aktuellen Stand im VCS und checkt diesen in eine temporäres Verzeichnis aus. Bietet an das Package mittels register und upload als source dist im PyPI (Python Package Index) zu veröffentlichen. Hinweis: Wenn das Package noch nicht für den PyPi registriert wurde, wird dieser Punkt sicherheitshalber übersprungen. Soll das Package wirklich im PyPi veröffentlicht werden, kann man es einmalig mit python setup.py register dort registrieren. Läßt man das Registrieren weg, kann man zest.releaser auch für eigene Realeases verwenden die nicht im PyPi veröffentlicht werden sollen.

postrelease

Fragt nach der nächsten Versionsnummer und gibt einen sinnvollen Vorgabewert an. An diese Nummer wird eine Kennzeichnung (dev) angehängt, die kenntlich macht da es sich um eine Entwicklerversion handelt. Dann werden noch die üblichen Dateien setup.py, version.txt und die HISTORY.txt angepasst und ein Commit angeboten.

fullrelease

Vereint alle vorherigen Schritte der Reihenfolge nach. Daher wird man häufig einfach 'fullrelease' verwenden.

 

Es gibt noch ein paar weitere Helfer die in der originalen Beschreibung erleutert werden.

http://pypi.python.org/pypi/zest.releaser