Entwicklung

Bei der Entwicklung von PyZufall wird git für die Versionierung eingesetzt.

Die Dokumentation wird mit Sphinx erzeugt und die Unittests durch nose ausgeführt.

Code Status

Hier wird das Ergebnis der automatischen Unittests und die Coverage des Codes im Repository angezeigt:

https://travis-ci.org/davidak/PyZufall.svg?branch=master https://coveralls.io/repos/davidak/PyZufall/badge.svg?branch=master

Repository runterladen

$ git clone https://github.com/davidak/pyzufall.git

Dokumentation erzeugen

Mit folgendem Befehl wird die HTML-Version sowie LaTeX samt PDF erzeugt.

$ make docs

Einzeln geht das mit:

$ make html
$ make pdf

Unittests ausführen

Um den Code auf deinem System zu testen, führe folgenden Befehl im heruntergeladenen Repository aus:

imac:PyZufall davidak$ python setup.py nosetests
..................................................
----------------------------------------------------------------------
Ran 50 tests in 0.867s

OK

Vor dem Release

  • Versionsnummer in version.py überprüfen, niemals ‘dev’ auf PyPI laden!

  • Changelog aktualisieren, Versionsnummer und Datum überprüfen

  • Unittests ausführen:

    $ python setup.py nosetests
    
  • Dokumentation bauen und überprüfen:

    $ make docs
    
  • Installation von PyPI mit pip testen: https://wiki.python.org/moin/TestPyPI

    Account registrieren: https://testpypi.python.org/pypi?%3Aaction=register_form (wird von Zeit zu Zeit gelöscht)

    Paket nach testpypi hochladen:

    $ python setup.py register --repository https://testpypi.python.org/pypi
    
    $ python3 setup.py sdist upload -r https://testpypi.python.org/pypi
    

    Prüfen auf Syntax-Fehler in der README: https://testpypi.python.org/pypi/PyZufall

    Einmal testweise installieren:

    $ pip install -i https://testpypi.python.org/pypi pyzufall
    

Release

  • letzte Änderungen in git einchecken

  • git tag mit Versionsnummer setzen

  • push auf github

  • auf PyPI veröffentlichen:

    $ python3 setup.py sdist upload
    

Nach dem Release

  • Versionsnummer inkrementieren + ‘dev’
  • am nächsten Release arbeiten :)