xray/xray — pull request #245 by shoyer (2014-10-02 18:05:50+00:00)
Title: Modular encodings (rebased)

This change is rebased on master and should let us pick up from #175. CC @akleeman

-----------------

Restructured Backends to make CF convention application more consistent.

Amongst other things this includes:
- EncodedDataStores which can wrap other stores and allow
for modular encoding/decoding.
- Trivial indices ds['x'] = ('x', np.arange(10)) are no longer
stored on disk and are only created when accessed.
- AbstractDataStore API change. Shouldn't effect external users.
- missing_value attributes now function like _FillValue

All current tests are passing (though it could use more new ones).

-----------------

Post rebase notes (shoyer, Oct 2, 2014):
Most tests are passing, though a couple are broken:
- test_roundtrip_mask_and_scale (because this change needs a fix to not
break the current API)
- test_roundtrip_strings_with_fill_value on TestCFEncodedDataStore
(I don't entirely understand why, let's come back to it later)