Hello Internal Jenkins, Adar Dembo,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/1593
to look at the new patch set (#16).
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:
- Python 3 support
- Update all ASF license headers
- 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
---
M build-support/jenkins/build-and-test.sh
A python/.gitignore
A python/MANIFEST.in
A python/Makefile
A python/README.md
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
A python/setup.cfg
M python/setup.py
23 files changed, 2,532 insertions(+), 808 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/93/1593/16
--
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: 16
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: Internal Jenkins
Gerrit-Reviewer: Martin Grund <[email protected]>
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Wes McKinney <[email protected]>