Skip to content

Commit 0323a2d

Browse files
committed
Add module for Python-only version extraction.
Resolve __version__ in diffpy.srreal module without having to import all extension modules. This closes #5.
1 parent 4787ec1 commit 0323a2d

3 files changed

Lines changed: 44 additions & 17 deletions

File tree

diffpy/srreal/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"""
1919

2020
# package version
21-
from diffpy.srreal.version import __version__
21+
from diffpy.srreal._version_data import __version__
2222

2323

2424
# End of file

diffpy/srreal/_version_data.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env python
2+
##############################################################################
3+
#
4+
# diffpy.srreal by DANSE Diffraction group
5+
# Simon J. L. Billinge
6+
# (c) 2008 The Trustees of Columbia University
7+
# in the City of New York. All rights reserved.
8+
#
9+
# File coded by: Pavol Juhas
10+
#
11+
# See AUTHORS.txt for a list of people who contributed.
12+
# See LICENSE_DANSE.txt for license information.
13+
#
14+
##############################################################################
15+
16+
17+
"""Extraction of version data for diffpy.srreal package
18+
19+
Does not import any extension module unlike the standard version.
20+
"""
21+
22+
from pkg_resources import resource_filename
23+
from ConfigParser import RawConfigParser
24+
25+
# obtain version information from the version.cfg file
26+
cp = RawConfigParser(dict(version='', date='', commit='', timestamp=0))
27+
if not cp.read(resource_filename(__name__, 'version.cfg')):
28+
from warnings import warn
29+
warn('Package metadata not found, execute "./setup.py egg_info".')
30+
31+
__version__ = cp.get('DEFAULT', 'version')
32+
__date__ = cp.get('DEFAULT', 'date')
33+
__gitsha__ = cp.get('DEFAULT', 'commit')
34+
__timestamp__ = cp.getint('DEFAULT', 'timestamp')
35+
36+
del cp
37+
38+
# End of file

diffpy/srreal/version.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,13 @@
1414
##############################################################################
1515

1616

17-
"""Definition of __version__, __date__, __gitsha__, libdiffpy_version_info.
17+
"""Definitions of version-related constants and of libdiffpy_version_info.
1818
"""
1919

20-
from pkg_resources import resource_filename
21-
from ConfigParser import RawConfigParser
22-
23-
# obtain version information from the version.cfg file
24-
cp = RawConfigParser(dict(version='', date='', commit='', timestamp=0))
25-
if not cp.read(resource_filename(__name__, 'version.cfg')):
26-
from warnings import warn
27-
warn('Package metadata not found, execute "./setup.py egg_info".')
28-
29-
__version__ = cp.get('DEFAULT', 'version')
30-
__date__ = cp.get('DEFAULT', 'date')
31-
__gitsha__ = cp.get('DEFAULT', 'commit')
32-
__timestamp__ = cp.getint('DEFAULT', 'timestamp')
33-
34-
del cp
20+
from diffpy.srreal._version_data import __version__
21+
from diffpy.srreal._version_data import __date__
22+
from diffpy.srreal._version_data import __gitsha__
23+
from diffpy.srreal._version_data import __timestamp__
3524

3625
# version information on the active libdiffpy shared library -----------------
3726

0 commit comments

Comments
 (0)