def skip_if_no_ne(engine='numexpr'):
import nose
_USE_NUMEXPR = pd.computation.expressions._USE_NUMEXPR
if engine == 'numexpr':
try:
import numexpr as ne
except ImportError:
raise nose.SkipTest("numexpr not installed")
if not _USE_NUMEXPR:
raise nose.SkipTest("numexpr disabled")
if ne.__version__ < LooseVersion('2.0'):
raise nose.SkipTest("numexpr version too low: "
"%s" % ne.__version__)
python类__version__()的实例源码
testing.py 文件源码
项目:PyDataLondon29-EmbarrassinglyParallelDAWithAWSLambda
作者: SignalMedia
项目源码
文件源码
阅读 26
收藏 0
点赞 0
评论 0
def resolve_name(self, modname, parents, path, base):
if modname is None:
if path:
mod_cls = path.rstrip('.')
else:
mod_cls = None
# if documenting a class-level object without path,
# there must be a current class, either from a parent
# auto directive ...
mod_cls = self.env.temp_data.get('autodoc:class')
# ... or from a class directive
if mod_cls is None:
mod_cls = self.env.temp_data.get('py:class')
# ... if still None, there's no way to know
if mod_cls is None:
return None, []
# HACK: this is added in comparison to ClassLevelDocumenter
# mod_cls still exists of class.accessor, so an extra
# rpartition is needed
modname, accessor = rpartition(mod_cls, '.')
modname, cls = rpartition(modname, '.')
parents = [cls, accessor]
# if the module name is still missing, get it like above
if not modname:
modname = self.env.temp_data.get('autodoc:module')
if not modname:
if sphinx.__version__ > '1.3':
modname = self.env.ref_context.get('py:module')
else:
modname = self.env.temp_data.get('py:module')
# ... else, it stays None, which means invalid
return modname, parents + [base]
def test_idims(self):
"""Test the extraction of the slicers of the dimensions"""
ds = psyd.open_dataset(bt.get_file('test-t2m-u-v.nc'))
arr = ds.t2m[1:, 1]
arr.psy.init_accessor(base=ds)
dims = arr.psy.idims
for dim in ['time', 'lev', 'lat', 'lon']:
self.assertEqual(
psyd.safe_list(ds[dim][dims[dim]]),
psyd.safe_list(arr.coords[dim]),
msg="Slice %s for dimension %s is wrong!" % (dims[dim], dim))
# test with unknown dimensions
if xr.__version__ >= '0.9':
ds = ds.drop('time')
arr = ds.t2m[1:, 1]
arr.psy.init_accessor(base=ds)
if not six.PY2:
with self.assertWarnsRegex(UserWarning, 'time'):
dims = arr.psy.idims
l = psyd.ArrayList.from_dataset(
ds, name='t2m', time=slice(1, None), lev=85000., method='sel')
arr = l[0]
dims = arr.psy.idims
for dim in ['time', 'lev', 'lat', 'lon']:
if dim == 'time':
self.assertEqual(dims[dim], slice(1, 5, 1))
else:
self.assertEqual(
psyd.safe_list(ds[dim][dims[dim]]),
psyd.safe_list(arr.coords[dim]),
msg="Slice %s for dimension %s is wrong!" % (dims[dim],
dim))
testing.py 文件源码
项目:PyDataLondon29-EmbarrassinglyParallelDAWithAWSLambda
作者: SignalMedia
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def _skip_if_mpl_1_5():
import matplotlib
v = matplotlib.__version__
if v > LooseVersion('1.4.3') or v[0] == '0':
import nose
raise nose.SkipTest("matplotlib 1.5")
testing.py 文件源码
项目:PyDataLondon29-EmbarrassinglyParallelDAWithAWSLambda
作者: SignalMedia
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def _skip_if_scipy_0_17():
import scipy
v = scipy.__version__
if v >= LooseVersion("0.17.0"):
import nose
raise nose.SkipTest("scipy 0.17")
testing.py 文件源码
项目:PyDataLondon29-EmbarrassinglyParallelDAWithAWSLambda
作者: SignalMedia
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def _skip_if_no_xarray():
try:
import xarray
except ImportError:
import nose
raise nose.SkipTest("xarray not installed")
v = xarray.__version__
if v < LooseVersion('0.7.0'):
import nose
raise nose.SkipTest("xarray not version is too low: {0}".format(v))
testing.py 文件源码
项目:PyDataLondon29-EmbarrassinglyParallelDAWithAWSLambda
作者: SignalMedia
项目源码
文件源码
阅读 46
收藏 0
点赞 0
评论 0
def _incompat_bottleneck_version(method):
""" skip if we have bottleneck installed
and its >= 1.0
as we don't match the nansum/nanprod behavior for all-nan
ops, see GH9422
"""
if method not in ['sum','prod']:
return False
try:
import bottleneck as bn
return bn.__version__ >= LooseVersion('1.0')
except ImportError:
return False
def _get_versions(requirements=True):
if requirements:
import matplotlib as mpl
import xarray as xr
import pandas as pd
import numpy as np
return {'version': __version__,
'requirements': {'matplotlib': mpl.__version__,
'xarray': xr.__version__,
'pandas': pd.__version__,
'numpy': np.__version__,
'python': ' '.join(sys.version.splitlines())}}
else:
return {'version': __version__}
def _attributes(event_path, number_events, alpha, betas, lambda_, cpu_time,
wall_time, function, method=None, attrs=None):
width = max([len(ss) for ss in (event_path,
str(number_events),
str(alpha),
str(betas),
str(lambda_),
function,
str(method),
socket.gethostname(),
getpass.getuser())])
width = max(19, width)
def _format(value):
return '{0: <{width}}'.format(value, width=width)
if not type(alpha) in (float, int):
alpha = 'varying'
new_attrs = {'date': _format(time.strftime("%Y-%m-%d %H:%M:%S")),
'event_path': _format(event_path),
'number_events': _format(number_events),
'alpha': _format(str(alpha)),
'betas': _format(str(betas)),
'lambda': _format(str(lambda_)),
'function': _format(function),
'method': _format(str(method)),
'cpu_time': _format(str(cpu_time)),
'wall_time': _format(str(wall_time)),
'hostname': _format(socket.gethostname()),
'username': _format(getpass.getuser()),
'pyndl': _format(__version__),
'numpy': _format(np.__version__),
'pandas': _format(pd.__version__),
'xarray': _format(xr.__version__),
'cython': _format(cython.__version__)}
if attrs is not None:
for key in set(attrs.keys()) | set(new_attrs.keys()):
if key in attrs:
old_val = attrs[key]
else:
old_val = ''
if key in new_attrs:
new_val = new_attrs[key]
else:
new_val = format_('')
new_attrs[key] = old_val + ' | ' + new_val
return new_attrs