get version number from package version instead of rewriting the __init__.py file

This commit is contained in:
Axel Kohlmeyer
2021-02-09 14:13:18 -05:00
parent e7bcd1ea43
commit 62a152e4a2
2 changed files with 34 additions and 34 deletions

View File

@ -13,6 +13,37 @@ from .core import *
from .data import *
from .pylammps import *
# automatically updated during installation
# convert module string version to numeric version
def get_version_number():
import re
from sys import version_info
vstring = None
if version_info.major == 3 and version_info.minor >= 8:
from importlib.metadata import version
try:
vstring = version('lammps')
except: pass
else:
from pkg_resources import get_distribution
try:
vstring = get_distribution('lammps').version
except: pass
__version__ = 0
if not vstring:
return 0
vregex = re.compile(r"([0-9]+)([A-Za-z]+)(2[0-9]+)")
m = vregex.match(vstring)
if (m):
month2num = { 'Jan' : 1, 'Feb' : 2, 'Mar' : 3, 'Apr' : 4, 'May' : 5, 'Jun' : 6,
'Jul' : 7, 'Aug' : 8, 'Sep' : 9, 'Oct' : 10, 'Nov' : 11, 'Dec' : 12 }
try:
vernum = int(m.group(3))*10000
vernum += month2num[m.group(2)]*100
vernum += int(m.group(1))
except:
exit('Failure to parse version string: %s' % verstr)
return vernum
__version__ = get_version_number()