我们从Python开源项目中,提取了以下9个代码示例,用于说明如何使用xarray.__version__()。
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__)
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))
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")
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")
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))
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