30 lines
797 B
Python
30 lines
797 B
Python
"""
|
|
Package metadata definition.
|
|
"""
|
|
|
|
VERSION = (0, 2, 0, 'alpha', 1)
|
|
|
|
|
|
def get_version():
|
|
"Returns a PEP 386-compliant version number from VERSION."
|
|
if (len(VERSION) != 5 or
|
|
VERSION[3] not in ('alpha', 'beta', 'rc', 'final')):
|
|
raise ValueError(
|
|
"{} is not PEP 386-compliant version number".format(VERSION))
|
|
|
|
# Now build the two parts of the version number:
|
|
# main = X.Y[.Z]
|
|
# sub = .devN - for pre-alpha releases
|
|
# | {a|b|c}N - for alpha, beta and rc releases
|
|
|
|
parts = 2 if VERSION[2] == 0 else 3
|
|
main = '.'.join(str(x) for x in VERSION[:parts])
|
|
|
|
sub = ''
|
|
|
|
if VERSION[3] != 'final':
|
|
mapping = {'alpha': 'a', 'beta': 'b', 'rc': 'c'}
|
|
sub = mapping[VERSION[3]] + str(VERSION[4])
|
|
|
|
return str(main + sub)
|