Skip to content

Commit c13f967

Browse files
authored
Merge pull request #2028 from effigies/enh/external_deprecation
ENH: Permit external packages to deprecate interfaces
2 parents c4543dc + f0d7070 commit c13f967

File tree

4 files changed

+9
-4
lines changed

4 files changed

+9
-4
lines changed

nipype/info.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def get_nipype_gitversion():
4545
if __version__.endswith('-dev'):
4646
gitversion = get_nipype_gitversion()
4747
if gitversion:
48-
__version__ = __version__.replace('-dev', '-' + gitversion + '.dev')
48+
__version__ = '{}+{}'.format(__version__, gitversion)
4949

5050
CLASSIFIERS = ['Development Status :: 5 - Production/Stable',
5151
'Environment :: Console',
@@ -141,7 +141,8 @@ def get_nipype_gitversion():
141141
'funcsigs',
142142
'pytest>=%s' % PYTEST_MIN_VERSION,
143143
'mock',
144-
'pydotplus'
144+
'pydotplus',
145+
'packaging',
145146
]
146147

147148
if sys.version_info <= (3, 4):

nipype/interfaces/base.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
from warnings import warn
3232
import simplejson as json
3333
from dateutil.parser import parse as parseutc
34+
from packaging.version import Version
3435

3536
from .. import config, logging, LooseVersion, __version__
3637
from ..utils.provenance import write_provenance
@@ -43,7 +44,7 @@
4344
from ..external.due import due
4445

4546
runtime_profile = str2bool(config.get('execution', 'profile_runtime'))
46-
nipype_version = LooseVersion(__version__)
47+
nipype_version = Version(__version__)
4748
iflogger = logging.getLogger('interface')
4849

4950
FLOAT_FORMAT = '{:.10f}'.format
@@ -352,6 +353,7 @@ class BaseTraitedSpec(traits.HasTraits):
352353
XXX Reconsider this in the long run, but it seems like the best
353354
solution to move forward on the refactoring.
354355
"""
356+
package_version = nipype_version
355357

356358
def __init__(self, **kwargs):
357359
""" Initialize handlers and inputs"""
@@ -444,7 +446,7 @@ def _deprecated_warn(self, obj, name, old, new):
444446
else:
445447
msg3 = ''
446448
msg = ' '.join((msg1, msg2, msg3))
447-
if LooseVersion(str(trait_spec.deprecated)) < nipype_version:
449+
if Version(str(trait_spec.deprecated)) < self.package_version:
448450
raise TraitError(msg)
449451
else:
450452
if trait_spec.new_name:

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ configparser
1313
pytest>=3.0
1414
mock
1515
pydotplus
16+
packaging

rtd_requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ mock
1414
pydotplus
1515
psutil
1616
matplotlib
17+
packaging

0 commit comments

Comments
 (0)