reverbrain/elliptics — pull request #424 by shaitan (2014-04-03 15:06:41+00:00)
Title: Batch of new features and changes.

Python:
added remove indexes interface to session;
now elliptics.Id aggregates dnet_id instead of inheritance from key. It makes using elliptics.Id easier, more natural and clearer;
new method elliptics.Id.from_hex(string) that created and returns elliptics.Id by converting hex string to dnet_raw_id;
added push/reply methods to session that close elliptics-cocaine interface;
added capped_collection interface to session;
added elliptics.Handler that can be used with logging.Logger.

Iteration:
added total_keys and iterated_keys to each dnet_iterator_response, provided these counters via all bindings;
added sending keepalive empty dnet_iterator_response with status=1 each time when iterator has been skipped 10K keys in a row. It prevents iteration to be timeouted on the client-side.

Pytests:
separated test_session into several test_session_* tests that covers subfeatures.
added bone for testing indexes, iterator and monitor&statistics.
added new write-read test cases.