Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Open Networks python tools in a convenient package

Project description

on-python-package

Dieses Python package beinhaltet die on python toolbox. Die Idee ist, dass bewährte tools hier gesammelt werden, zentral upgedated und möglichst einfach zur Verfügung gestellt werden. Die Projekt struktur basiert auf dem python packaging example

Requirements

Install

via PyPi

pip install open-networks

via git

Dazu muss ein ssh key für einen berechtigten User auf https://git.ong.intern hinterlegt sein. pip install -e git+git@git.ong.intern:infra/certbot-plugins/on-python-package.git#egg=on-python-package

Usage

logging

from on import logging

logger = logging.getLogger(name)


## timer
from on.utils.timeit import timeit

@timeit
def do_sth_and_liog_execution_time():
    pass

Testing

cd on-python-package
python setup.py test

Contribute

Issue, Merge Requests und Merges werden gemäß wiki gitlab durchgeführt. Merges in the masterbranch werden durch die cicd chain automatisch auf pypi released.

Versioning

Um Updatekompatibilität zu garantieren, verwenden wir Semantic versioning. Eine Version 0.1.0 werden wir erst dann releasen, wenn es eine intern abgestimmte Liste von Anforderungen gibt, die diese Version spezifizieren. Eine Version 1.0.0 werden wir erst dann releasen wenn wir in irgendeinem RELEVANTEN System aus welchen Gründen auch immer nicht upgraden können. Dies ist natürlich solange wie möglich zu vermeiden.

Versioning process

Wir orientieren uns an Gitlab Flow Release Branches. Durch Mergen eines Feature/Bugfix Branches in den Masterbranch muss die Änderung in MAJOR, MINOR, oder PATCH klassifiziert werden. Dies geschieht momentan manuell. Es gibt dann 3 unterschiedliche Vorgangsoptionen

MINOR Change (noch) nicht releasen

  • Handelt es sich um einen MINOR change, so kann entschieden werden, dass nicht released wird. Man wartet also auf weitere Features, die in der Spezifikation des Minor releases offen sind.

MAJOR und MINOR Releases durch Branching

  • MINOR Releases werden durch erzeugen eines Branches m-n+1-stable erzeugt. Dies geschieht auf Basis des Masterbranches. m.n ist dabei die aktuell höchste versionsnummer. liegt. Der commit wird mit m.n getagged.
  • MAJOR Relases m+1-0-stable erzeugt. alle nachkomenden Minor release branches haben daher die bezeichnung m+1-n-stable. M ist dabei die aktuel höchste Major versionsnummer. der commit wird mit m+1 getagged

PATCHes und MINOR Releases durch cherry-picking

Commits die nach dem Ausbranchen eines Releases entstanden sind können nachträglich gecherrypicked werden um diese Version zu verbessern. Dabei muss erneut klassifiziert werden ob es sich aus sicht des branches um einen PATCH oder MINOR release handelt.

  • PATCH commits vom Master Branch können in den release branch gepicked werden. Auf dem dadurch entstehenden neuen Commit wird ein Tag m.n.k+1 erzeugt. wobei m.n dem Minor release branch und k der aktuellen patch nummer auf dem Branch entspricht.
  • MINOR commits auf dem Master Branch können in einen neuen Branch auf basis des letzten minor release branches gepicked werden. Auf Basis des branches m-n-stable wird ein neuer Branch m-n+1-stable und in diesen der Commit gecherrypicked. Auf dem dadurch entstehenden neuen Commit wird ein Tag m.n+1 erzeugt. n der aktuelle Minor Release Branch und k die aktuelle patch Nummer auf dem Branch entspricht. WICHTIG: Dies sollte nur dann gemacht werden, wenn das Feature unumgänglich in ein altes Major release muss. Ansonsten sollte man ein Versionsupgrade durchführen

Author Information

fkain@ong.at

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for open-networks, version 0.0.12
Filename, size File type Python version Upload date Hashes
Filename, size open-networks-0.0.12.tar.gz (9.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page