======= Changes ======= Release 0.2.0 ============= * Fixed problems with deepcopying lazy arrays. * Optimization - uses `x.min()` rather than `min(x)` where possible. * Some fixes for when using boolean addressing. * Setting shape on an larray now also sets it on all larrays within the operations list. * Added `__eq__` method to larray. * Replaced some assertions with more specific Exceptions. * Added support for 'vectorized iterables', i.e. objects with a `next(n)` method so that you can return multiple values at once. * Fixed some bugs when creating a lazy array from an existing lazy array. * Added `dtype` attribute to `larray` class. Release 0.2.1 ============= * Previous release didn't work with Python 3. Release 0.2.2 ============= * Fixed behaviour of larray(VectorizedIterable) to match that of numpy array when indexing a single item. * Pulled out `partial_shape()` and `full_address()` methods of `larray` as standalone functions. * Better support for lists as masks. * `larray`s are now callable, provided their `base_value` is callable and the argument is another `larray`. Release 0.2.3 ============= * Support `numpy.int64` as indices. * Better support for boolean indices. * Handle the case of constant `larray`s of size 1. Release 0.2.4 ============= * Fixed bugs related to indexing multiple axes at the same time (`#3`_, `#4`_) Release 0.2.5 ============= * Fixed a bug where the base value was homogeneous but one or more operations involved inhomogeneous arrays. Release 0.2.6 ============= * Fixed a bug with callable lazyarrays. Release 0.2.7 ============= * When deepcopying, VectorizedIterable objects as base_value are no longer copied, rather we keep a reference to the original. Release 0.2.8 ============= * Slices which go past the array limits are now correctly handled. (`#5`_) Release 0.2.9 ============= * Support base values of type `numpy.float` (which have an empty `shape` attribute) Release 0.2.10 ============== * We don't create a new instance if the base value is already of the required dtype Release 0.3.0 ============= * Support SciPy sparse matrices as base values * Support any object that implements a method `lazily_evaluate` as a base value * Allow more flexibility in checking 'equality' of types, e.g. accept an array of dtype `numpy.float32` when the specified dtype is `float` Release 0.3.1 ============= * Fix a packaging issue, update project homepage. Release 0.3.2 ============= * Ensure SciPy is optional Release 0.3.3 ============= * Do not raise a "shape mismatch" `ValueError` if the value shape is empty. Release 0.3.4 ============= * Add support for Brian quantities, and perhaps NumPy scalars in general * Updated to test with more recent versions of Python, NumPy and SciPy * Can now compare equality of lazyarrays to numbers and arrays Release 0.4.0 ============= * Drop support for Python 2.7 * Added a more general way to specify that an array-like object should be treated as a scalar by lazyarray (for arrays of arrays, etc.) Release 0.5.0 ============= * Add partial support for NumPy ufuncs that require two arguments, e.g. "power". The second argument must be a scalar, array-valued second args are not yet supported. Release 0.5.1 ============= * Fix problem where SciPy was required, not optional Release 0.5.2 ============= * Add support for Python 3.10, remove testing for Python 3.4 and NumPy 1.12 * Switch from nose to pytest for running tests .. _`#3`: https://bitbucket.org/apdavison/lazyarray/issue/3/ .. _`#4`: https://bitbucket.org/apdavison/lazyarray/issue/4/ .. _`#5`: https://bitbucket.org/apdavison/lazyarray/issue/5/