Version::NextっぽいPythonパッケージnextversion作りました

バージョン番号の管理に使えそうなPythonパッケージ, nextversion を作りました.

今のバージョン番号を文字列で与えると,次のバージョン番号(の最有力候補)が帰ってきます.

from nextversion import nextversion
nextversion('1.0a2')    # => '1.0a3'
nextversion('v1.0a2')   # => '1.0a3'  (normalized to compatible version with PEP 386)
nextversion('foo.0.3')  # => None     (impossible to normalize)

インストール

PyPI から拾ってこれます.

$ pip install nextversion

生成されるバージョン番号の規則

PEP 386 で提唱されているバージョン番号のフォーマットに従い, 次のバージョン番号が生成されます.

自分のつけているバージョン番号が PEP 386 に従ってるか調べるのにも便利かも.

使い所

Perlには同様の動作をするモジュール Version::Next があります. これがどう使われているかというと,例えば Minilla が使ってます.

Minillaは, minil release というPerlのモジュールをアップロードするコマンドを提供していて,このコマンドは自動的に次のバージョン番号をサジェストしてくれます. minnil release の役割はそれだけではなく,色んなファイルの中にある古いバージョン番号を新しいバージョン番号に変えてくれたり,ChangeLogを忘れずに編集するようにエディタを開いてくれたりします.

PythonにもPyPIへのリリース時に minil release みたいにできると便利だなと思い,その足がかりとして nextversion を作りました.

バグ報告など

https://github.com/laysakura/nextversion でお待ちしてます.