Wes McKinney has uploaded a new patch set (#7). Change subject: [python client] - Expand C++ API coverage and improve usability and documentation ......................................................................
[python client] - Expand C++ API coverage and improve usability and documentation Lot of different things in this patch: - Use the KuduSchemaBuilder to create schemas. Old APIs in the original Python client draft from late 2014 have been removed. Can specify columns fully through SchemaBuilder.add_column or using a fluent/chaining ColumnSpec method that patterns the C++ API. - More natural API to create column comparison predicates and Column and Predicate wrapper classes to enable. For example, table[col_name] <= val. Remove add_comparison_predicate operation in favor of add_predicates. - Rework table and column schema objects and add user-friendly __repr__ output, __getitem__ by position or name, and other conveniences. Show names, types, and primary keys in Schema __repr__ - Add kudu.connect method to hide kudu.Client constructor details and provide (eventually) for HA master - Add Client.list_tables using KuduClient::ListTables - Use new KuduClient::TableExists API - Add a KuduType usability layer, exposing Kudu types in the kudu namespace as int8, int16, ... - Enable column compression and encoding to be specified by name or enum - Add some exception subclasses for common Status failures, such as KuduNotFound - Add kudu.timedelta method for constructing kudu.TimeDelta, a wrapper for kudu::MonoDelta. Add timeout options to kudu.connect - Clean up kudu.* user namespace - Organized code into multiple Cython modules and multiple test modules - Library can be packaged using python setup.py sdist for posting to PyPI Change-Id: I6bb98c780f2584f9ad9d301f910d0a5921d5f387 --- A python/.gitignore A python/MANIFEST.in A python/Makefile A python/kudu/__init__.pxd M python/kudu/__init__.py M python/kudu/client.pyx A python/kudu/compat.py A python/kudu/errors.pxd A python/kudu/errors.pyx R python/kudu/libkudu_client.pxd A python/kudu/schema.pxd A python/kudu/schema.pyx A python/kudu/tests/common.py A python/kudu/tests/test_client.py D python/kudu/tests/test_kudu.py A python/kudu/tests/test_scanner.py A python/kudu/tests/test_schema.py A python/kudu/util.py M python/requirements.txt M python/setup.py 20 files changed, 2,419 insertions(+), 788 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/93/1593/7 -- To view, visit http://gerrit.cloudera.org:8080/1593 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6bb98c780f2584f9ad9d301f910d0a5921d5f387 Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Wes McKinney <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Martin Grund <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Reviewer: Wes McKinney <[email protected]>
