def client_context(dask_client=None, dask_scheduler=None): '''client_context creates a dask distributed or threadpool client or None Parameters: dask_client: str from choices ("DISTRIBUTED", 'THREAD_POOL', 'SERIAL') or None to take DASK_CLIENT from environment dask_scheduler: Distributed scheduler url or None to take DASK_SCHEDULER from environment ''' env = parse_env_vars() dask_client = dask_client or env.get('DASK_CLIENT', 'SERIAL') dask_scheduler = dask_scheduler or env.get('DASK_SCHEDULER') if dask_client == 'DISTRIBUTED': if Executor is None: raise ValueError('distributed is not installed - "conda install distributed"') client = Executor(dask_scheduler) elif dask_client == 'THREAD_POOL': client = ThreadPool(env.get('DASK_THREADS')) elif dask_client == 'SERIAL': client = None else: raise ValueError('Did not expect DASK_CLIENT to be {}'.format(dask_client)) get_func = _find_get_func_for_client(client) with da.set_options(pool=dask_client): yield client
import dask.array as da import dask. async from nose.tools import assert_raises, eq_ as eq from allel.model.ndarray import GenotypeArray, HaplotypeArray, \ AlleleCountsArray from allel.test.tools import assert_array_equal as aeq from allel.test.test_model_api import GenotypeArrayInterface, \ diploid_genotype_data, triploid_genotype_data, HaplotypeArrayInterface, \ haplotype_data, allele_counts_data, AlleleCountsArrayInterface from allel.model.dask import GenotypeDaskArray, HaplotypeDaskArray, \ AlleleCountsDaskArray # use synchronous scheduler because getting random hangs with default da.set_options(get=dask. async .get_sync) class GenotypeDaskArrayTests(GenotypeArrayInterface, unittest.TestCase): _class = GenotypeDaskArray def setup_instance(self, data): return GenotypeDaskArray.from_array(data, chunks=(2, 2, None)) def test_constructor(self): # missing data arg with assert_raises(TypeError): # noinspection PyArgumentList GenotypeDaskArray.from_array()
import dask.async from nose.tools import assert_raises, eq_ as eq from allel.model.ndarray import GenotypeArray, HaplotypeArray, \ AlleleCountsArray from allel.test.tools import assert_array_equal as aeq from allel.test.test_model_api import GenotypeArrayInterface, \ diploid_genotype_data, triploid_genotype_data, HaplotypeArrayInterface, \ haplotype_data, allele_counts_data, AlleleCountsArrayInterface from allel.model.dask import GenotypeDaskArray, HaplotypeDaskArray, \ AlleleCountsDaskArray # use synchronous scheduler because getting random hangs with default da.set_options(get=dask.async.get_sync) class GenotypeDaskArrayTests(GenotypeArrayInterface, unittest.TestCase): _class = GenotypeDaskArray def setup_instance(self, data): return GenotypeDaskArray.from_array(data, chunks=(2, 2, None)) def test_constructor(self): # missing data arg with assert_raises(TypeError): # noinspection PyArgumentList GenotypeDaskArray.from_array()
import numpy as np import dask.array as da import dask.local from nose.tools import assert_raises, eq_ as eq import zarr from allel import GenotypeArray, HaplotypeArray, AlleleCountsArray, GenotypeVector from allel import GenotypeDaskArray, HaplotypeDaskArray, AlleleCountsDaskArray, \ GenotypeDaskVector from allel.test.tools import assert_array_equal as aeq from allel.test.model.test_api import GenotypeArrayInterface, \ diploid_genotype_data, triploid_genotype_data, HaplotypeArrayInterface, \ haplotype_data, allele_counts_data, AlleleCountsArrayInterface # use synchronous scheduler because getting random hangs with default da.set_options(get=dask.local.get_sync) class GenotypeDaskArrayTests(GenotypeArrayInterface, unittest.TestCase): _class = GenotypeDaskArray def setup_instance(self, data, dtype=None): return GenotypeDaskArray(np.asarray(data, dtype=dtype), chunks=(2, 2, None)) def test_constructor(self): # missing data arg with assert_raises(TypeError): # noinspection PyArgumentList