37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
|
# encoding: utf-8
|
||
|
"""
|
||
|
Utilities for version comparison
|
||
|
|
||
|
It is a bit ridiculous that we need these.
|
||
|
"""
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Copyright (C) 2013 The IPython Development Team
|
||
|
#
|
||
|
# Distributed under the terms of the BSD License. The full license is in
|
||
|
# the file COPYING, distributed as part of this software.
|
||
|
#-----------------------------------------------------------------------------
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Imports
|
||
|
#-----------------------------------------------------------------------------
|
||
|
|
||
|
from distutils.version import LooseVersion
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Code
|
||
|
#-----------------------------------------------------------------------------
|
||
|
|
||
|
def check_version(v, check):
|
||
|
"""check version string v >= check
|
||
|
|
||
|
If dev/prerelease tags result in TypeError for string-number comparison,
|
||
|
it is assumed that the dependency is satisfied.
|
||
|
Users on dev branches are responsible for keeping their own packages up to date.
|
||
|
"""
|
||
|
try:
|
||
|
return LooseVersion(v) >= LooseVersion(check)
|
||
|
except TypeError:
|
||
|
return True
|
||
|
|