def test_set_options_context_manger(): with set_options(foo="bar"): assert _globals["foo"] == "bar" assert _globals["foo"] is None try: set_options(foo="baz") assert _globals["foo"] == "baz" finally: del _globals["foo"]
def test_set_options_context_manger(): with set_options(foo='bar'): assert _globals['foo'] == 'bar' assert _globals['foo'] is None try: set_options(foo='baz') assert _globals['foo'] == 'baz' finally: del _globals['foo']
def test_random_seeds(random): def f(): return tuple(random.randint(0, 10000) for i in range(5)) N = 10 with set_options(scheduler='processes'): results, = compute([delayed(f, pure=False)() for i in range(N)]) assert len(set(results)) == N
def test_random_seeds(random): def f(): return tuple(random.randint(0, 10000) for i in range(5)) N = 10 with set_options(get=get): results, = compute([delayed(f, pure=False)() for i in range(N)]) assert len(set(results)) == N
def test_with_get(): var = [0] def myget(dsk, keys, **kwargs): var[0] = var[0] + 1 return dask.get(dsk, keys, **kwargs) x = da.ones(10, chunks=(5, )) assert x.sum().compute() == 10 assert var[0] == 0 with set_options(get=myget): assert x.sum().compute() == 10 assert var[0] == 1 # Make sure we've cleaned up assert x.sum().compute() == 10 assert var[0] == 1
def test_with_get(): var = [0] def myget(dsk, keys, **kwargs): var[0] = var[0] + 1 return dask.get(dsk, keys, **kwargs) x = da.ones(10, chunks=(5,)) assert x.sum().compute() == 10 assert var[0] == 0 with set_options(get=myget): assert x.sum().compute() == 10 assert var[0] == 1 # Make sure we've cleaned up assert x.sum().compute() == 10 assert var[0] == 1
def test_arg_reductions(dfunc, func): x = np.random.random((10, 10, 10)) a = da.from_array(x, chunks=(3, 4, 5)) assert_eq(dfunc(a), func(x)) assert_eq(dfunc(a, 0), func(x, 0)) assert_eq(dfunc(a, 1), func(x, 1)) assert_eq(dfunc(a, 2), func(x, 2)) with set_options(split_every=2): assert_eq(dfunc(a), func(x)) assert_eq(dfunc(a, 0), func(x, 0)) assert_eq(dfunc(a, 1), func(x, 1)) assert_eq(dfunc(a, 2), func(x, 2)) pytest.raises(ValueError, lambda: dfunc(a, 3)) pytest.raises(TypeError, lambda: dfunc(a, (0, 1))) x2 = np.arange(10) a2 = da.from_array(x2, chunks=3) assert_eq(dfunc(a2), func(x2)) assert_eq(dfunc(a2, 0), func(x2, 0)) assert_eq(dfunc(a2, 0, split_every=2), func(x2, 0))
def test_reuse_pool(): pool = ThreadPool() with set_options(pool=pool): assert get({'x': (inc, 1)}, 'x') == 2 assert get({'x': (inc, 1)}, 'x') == 2
def test_dumps_loads(): with set_options(func_dumps=pickle.dumps, func_loads=pickle.loads): assert get({'x': 1, 'y': (add, 'x', 2)}, 'y') == 3
def test_reuse_pool(): pool = multiprocessing.Pool() with set_options(pool=pool): assert get({'x': (inc, 1)}, 'x') == 2 assert get({'x': (inc, 1)}, 'x') == 2
def test_tree_reduce_set_options(): x = da.from_array(np.arange(242).reshape((11, 22)), chunks=(3, 4)) with set_options(split_every={0: 2, 1: 3}): assert_max_deps(x.sum(), 2 * 3) assert_max_deps(x.sum(axis=0), 2)
def test_dumps_loads(): with set_options(func_dumps=pickle.dumps, func_loads=pickle.loads): assert get({"x": 1, "y": (add, "x", 2)}, "y") == 3
from dask.local import get_sync from dask.context import set_options import dask.dataframe as dd import numpy as np import pandas as pd import xarray as xr import datashader as ds import pytest set_options(get=get_sync) df = pd.DataFrame({'x': np.array(([0.] * 10 + [1] * 10)), 'y': np.array(([0.] * 5 + [1] * 5 + [0] * 5 + [1] * 5)), 'log_x': np.array(([1.] * 10 + [10] * 10)), 'log_y': np.array(([1.] * 5 + [10] * 5 + [1] * 5 + [10] * 5)), 'i32': np.arange(20, dtype='i4'), 'i64': np.arange(20, dtype='i8'), 'f32': np.arange(20, dtype='f4'), 'f64': np.arange(20, dtype='f8'), 'empty_bin': np.array([0.] * 15 + [np.nan] * 5), 'cat': ['a']*5 + ['b']*5 + ['c']*5 + ['d']*5}) df.cat = df.cat.astype('category') df.f32[2] = np.nan df.f64[2] = np.nan ddf = dd.from_pandas(df, npartitions=3) c = ds.Canvas(plot_width=2, plot_height=2, x_range=(0, 1), y_range=(0, 1)) c_logx = ds.Canvas(plot_width=2, plot_height=2, x_range=(1, 10),
from dask. async import get_sync from dask.context import set_options import dask.dataframe as dd import numpy as np import pandas as pd import xarray as xr import datashader as ds set_options(get=get_sync) df = pd.DataFrame({ 'x': np.array(([0.] * 10 + [1] * 10)), 'y': np.array(([0.] * 5 + [1] * 5 + [0] * 5 + [1] * 5)), 'log_x': np.array(([1.] * 10 + [10] * 10)), 'log_y': np.array(([1.] * 5 + [10] * 5 + [1] * 5 + [10] * 5)), 'i32': np.arange(20, dtype='i4'), 'i64': np.arange(20, dtype='i8'), 'f32': np.arange(20, dtype='f4'), 'f64': np.arange(20, dtype='f8'), 'empty_bin': np.array([0.] * 15 + [np.nan] * 5), 'cat': ['a'] * 5 + ['b'] * 5 + ['c'] * 5 + ['d'] * 5 }) df.cat = df.cat.astype('category') df.f32[2] = np.nan df.f64[2] = np.nan ddf = dd.from_pandas(df, npartitions=3) c = ds.Canvas(plot_width=2, plot_height=2, x_range=(0, 2), y_range=(0, 2)) c_logx = ds.Canvas(plot_width=2,