We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
happybase emulation docs mention private api
the page at https://googlecloudplatform.github.io/gcloud-python/latest/happybase-package.html mentions `make_row()` and `make_ordered_row()`, both of which are _not_ public api. please don't mention those at all. :)

(fyi: i'm the happybase author)


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `gcloud/bigtable/happybase/__init__.py`
Content:
```
1 # Copyright 2016 Google Inc. All rights reserved.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 """Google Cloud Bigtable HappyBase package.
16 
17 This package is intended to emulate the HappyBase library using
18 Google Cloud Bigtable as the backing store.
19 
20 Differences in Public API
21 -------------------------
22 
23 Some concepts from HBase/Thrift do not map directly to the Cloud
24 Bigtable API. As a result, the following instance methods and functions
25 could not be implemented:
26 
27 * :meth:`Connection.enable_table() \
28       <gcloud.bigtable.happybase.connection.Connection.enable_table>` - no
29   concept of enabled/disabled
30 * :meth:`Connection.disable_table() \
31       <gcloud.bigtable.happybase.connection.Connection.disable_table>` - no
32   concept of enabled/disabled
33 * :meth:`Connection.is_table_enabled() \
34       <gcloud.bigtable.happybase.connection.Connection.is_table_enabled>`
35   - no concept of enabled/disabled
36 * :meth:`Connection.compact_table() \
37       <gcloud.bigtable.happybase.connection.Connection.compact_table>` -
38   table storage is opaque to user
39 * :func:`make_row() <gcloud.bigtable.happybase.table.make_row>` - helper
40   needed for Thrift library
41 * :func:`make_ordered_row() <gcloud.bigtable.happybase.table.make_ordered_row>`
42   - helper needed for Thrift library
43 * :meth:`Table.regions() <gcloud.bigtable.happybase.table.Table.regions>`
44   - tables in Cloud Bigtable do not expose internal storage details
45 * :meth:`Table.counter_set() \
46       <gcloud.bigtable.happybase.table.Table.counter_set>` - method can't
47   be atomic, so we disable it
48 * The ``__version__`` value for the HappyBase package is :data:`None`.
49   However, it's worth nothing this implementation was based off HappyBase
50   0.9.
51 
52 In addition, many of the constants from
53 :mod:`connection <gcloud.bigtable.happybase.connection>`
54 are specific to HBase and are defined as :data:`None` in our module:
55 
56 * ``COMPAT_MODES``
57 * ``THRIFT_TRANSPORTS``
58 * ``THRIFT_PROTOCOLS``
59 * ``DEFAULT_HOST``
60 * ``DEFAULT_PORT``
61 * ``DEFAULT_TRANSPORT``
62 * ``DEFAULT_COMPAT``
63 * ``DEFAULT_PROTOCOL``
64 
65 Two of these ``DEFAULT_HOST`` and ``DEFAULT_PORT``, are even imported in
66 the main :mod:`happybase <gcloud.bigtable.happybase>` package.
67 
68 Finally, we do not provide the ``util`` module. Though it is public in the
69 HappyBase library, it provides no core functionality.
70 
71 API Behavior Changes
72 --------------------
73 
74 * Since there is no concept of an enabled / disabled table, calling
75   :meth:`Connection.delete_table() \
76       <gcloud.bigtable.happybase.connection.Connection.delete_table>`
77   with ``disable=True`` can't be supported.
78   Using that argument will result in a warning.
79 * The :class:`Connection <gcloud.bigtable.happybase.connection.Connection>`
80   constructor **disables** the use of several
81   arguments and will print a warning if any of them are passed in as keyword
82   arguments. The arguments are:
83 
84   * ``host``
85   * ``port``
86   * ``compat``
87   * ``transport``
88   * ``protocol``
89 * In order to make
90   :class:`Connection <gcloud.bigtable.happybase.connection.Connection>`
91   compatible with Cloud Bigtable, we add a ``cluster`` keyword argument to
92   allow users to pass in their own
93   :class:`Cluster <gcloud.bigtable.cluster.Cluster>` (which they can
94   construct beforehand).
95 
96   For example:
97 
98   .. code:: python
99 
100       from gcloud.bigtable.client import Client
101       client = Client(project=PROJECT_ID, admin=True)
102       cluster = client.cluster(zone, cluster_id)
103       cluster.reload()
104 
105       from gcloud.bigtable.happybase import Connection
106       connection = Connection(cluster=cluster)
107 
108 * Any uses of the ``wal`` (Write Ahead Log) argument will result in a
109   warning as well. This includes uses in:
110 
111   * :class:`Batch <gcloud.bigtable.happybase.batch.Batch>`
112   * :meth:`Batch.put() <gcloud.bigtable.happybase.batch.Batch.put>`
113   * :meth:`Batch.delete() <gcloud.bigtable.happybase.batch.Batch.delete>`
114   * :meth:`Table.put() <gcloud.bigtable.happybase.table.Table.put>`
115   * :meth:`Table.delete() <gcloud.bigtable.happybase.table.Table.delete>`
116   * :meth:`Table.batch() <gcloud.bigtable.happybase.table.Table.batch>` factory
117 * When calling
118   :meth:`Connection.create_table() \
119       <gcloud.bigtable.happybase.connection.Connection.create_table>`, the
120   majority of HBase column family options cannot be used. Among
121 
122   * ``max_versions``
123   * ``compression``
124   * ``in_memory``
125   * ``bloom_filter_type``
126   * ``bloom_filter_vector_size``
127   * ``bloom_filter_nb_hashes``
128   * ``block_cache_enabled``
129   * ``time_to_live``
130 
131   Only ``max_versions`` and ``time_to_live`` are availabe in Cloud Bigtable
132   (as
133   :class:`MaxVersionsGCRule <gcloud.bigtable.column_family.MaxVersionsGCRule>`
134   and
135   :class:`MaxAgeGCRule <gcloud.bigtable.column_family.MaxAgeGCRule>`).
136 
137   In addition to using a dictionary for specifying column family options,
138   we also accept instances of :class:`.GarbageCollectionRule` or subclasses.
139 * :meth:`Table.scan() <gcloud.bigtable.happybase.table.Table.scan>` no longer
140   accepts the following arguments (which will result in a warning):
141 
142   * ``batch_size``
143   * ``scan_batching``
144   * ``sorted_columns``
145 
146 * Using a HBase filter string in
147   :meth:`Table.scan() <gcloud.bigtable.happybase.table.Table.scan>` is
148   not possible with Cloud Bigtable and will result in a
149   :class:`TypeError <exceptions.TypeError>`. However, the method now accepts
150   instances of :class:`.RowFilter` and subclasses.
151 * :meth:`Batch.delete() <gcloud.bigtable.happybase.batch.Batch.delete>` (and
152   hence
153   :meth:`Table.delete() <gcloud.bigtable.happybase.table.Table.delete>`)
154   will fail with a :class:`ValueError <exceptions.ValueError>` when either a
155   row or column family delete is attempted with a ``timestamp``. This is
156   because the Cloud Bigtable API uses the ``DeleteFromFamily`` and
157   ``DeleteFromRow`` mutations for these deletes, and neither of these
158   mutations support a timestamp.
159 """
160 
161 from gcloud.bigtable.happybase.batch import Batch
162 from gcloud.bigtable.happybase.connection import Connection
163 from gcloud.bigtable.happybase.connection import DEFAULT_HOST
164 from gcloud.bigtable.happybase.connection import DEFAULT_PORT
165 from gcloud.bigtable.happybase.pool import ConnectionPool
166 from gcloud.bigtable.happybase.pool import NoConnectionsAvailable
167 from gcloud.bigtable.happybase.table import Table
168 
169 
170 # Values from HappyBase that we don't reproduce / are not relevant.
171 __version__ = None
172
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/gcloud/bigtable/happybase/__init__.py b/gcloud/bigtable/happybase/__init__.py
--- a/gcloud/bigtable/happybase/__init__.py
+++ b/gcloud/bigtable/happybase/__init__.py
@@ -36,10 +36,6 @@
 * :meth:`Connection.compact_table() \
       <gcloud.bigtable.happybase.connection.Connection.compact_table>` -
   table storage is opaque to user
-* :func:`make_row() <gcloud.bigtable.happybase.table.make_row>` - helper
-  needed for Thrift library
-* :func:`make_ordered_row() <gcloud.bigtable.happybase.table.make_ordered_row>`
-  - helper needed for Thrift library
 * :meth:`Table.regions() <gcloud.bigtable.happybase.table.Table.regions>`
   - tables in Cloud Bigtable do not expose internal storage details
 * :meth:`Table.counter_set() \

{"golden_diff": "diff --git a/gcloud/bigtable/happybase/__init__.py b/gcloud/bigtable/happybase/__init__.py\n--- a/gcloud/bigtable/happybase/__init__.py\n+++ b/gcloud/bigtable/happybase/__init__.py\n@@ -36,10 +36,6 @@\n * :meth:`Connection.compact_table() \\\n       <gcloud.bigtable.happybase.connection.Connection.compact_table>` -\n   table storage is opaque to user\n-* :func:`make_row() <gcloud.bigtable.happybase.table.make_row>` - helper\n-  needed for Thrift library\n-* :func:`make_ordered_row() <gcloud.bigtable.happybase.table.make_ordered_row>`\n-  - helper needed for Thrift library\n * :meth:`Table.regions() <gcloud.bigtable.happybase.table.Table.regions>`\n   - tables in Cloud Bigtable do not expose internal storage details\n * :meth:`Table.counter_set() \\\n", "issue": "happybase emulation docs mention private api\nthe page at https://googlecloudplatform.github.io/gcloud-python/latest/happybase-package.html mentions `make_row()` and `make_ordered_row()`, both of which are _not_ public api. please don't mention those at all. :)\n\n(fyi: i'm the happybase author)\n\n", "before_files": [{"content": "# Copyright 2016 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Google Cloud Bigtable HappyBase package.\n\nThis package is intended to emulate the HappyBase library using\nGoogle Cloud Bigtable as the backing store.\n\nDifferences in Public API\n-------------------------\n\nSome concepts from HBase/Thrift do not map directly to the Cloud\nBigtable API. As a result, the following instance methods and functions\ncould not be implemented:\n\n* :meth:`Connection.enable_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.enable_table>` - no\n  concept of enabled/disabled\n* :meth:`Connection.disable_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.disable_table>` - no\n  concept of enabled/disabled\n* :meth:`Connection.is_table_enabled() \\\n      <gcloud.bigtable.happybase.connection.Connection.is_table_enabled>`\n  - no concept of enabled/disabled\n* :meth:`Connection.compact_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.compact_table>` -\n  table storage is opaque to user\n* :func:`make_row() <gcloud.bigtable.happybase.table.make_row>` - helper\n  needed for Thrift library\n* :func:`make_ordered_row() <gcloud.bigtable.happybase.table.make_ordered_row>`\n  - helper needed for Thrift library\n* :meth:`Table.regions() <gcloud.bigtable.happybase.table.Table.regions>`\n  - tables in Cloud Bigtable do not expose internal storage details\n* :meth:`Table.counter_set() \\\n      <gcloud.bigtable.happybase.table.Table.counter_set>` - method can't\n  be atomic, so we disable it\n* The ``__version__`` value for the HappyBase package is :data:`None`.\n  However, it's worth nothing this implementation was based off HappyBase\n  0.9.\n\nIn addition, many of the constants from\n:mod:`connection <gcloud.bigtable.happybase.connection>`\nare specific to HBase and are defined as :data:`None` in our module:\n\n* ``COMPAT_MODES``\n* ``THRIFT_TRANSPORTS``\n* ``THRIFT_PROTOCOLS``\n* ``DEFAULT_HOST``\n* ``DEFAULT_PORT``\n* ``DEFAULT_TRANSPORT``\n* ``DEFAULT_COMPAT``\n* ``DEFAULT_PROTOCOL``\n\nTwo of these ``DEFAULT_HOST`` and ``DEFAULT_PORT``, are even imported in\nthe main :mod:`happybase <gcloud.bigtable.happybase>` package.\n\nFinally, we do not provide the ``util`` module. Though it is public in the\nHappyBase library, it provides no core functionality.\n\nAPI Behavior Changes\n--------------------\n\n* Since there is no concept of an enabled / disabled table, calling\n  :meth:`Connection.delete_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.delete_table>`\n  with ``disable=True`` can't be supported.\n  Using that argument will result in a warning.\n* The :class:`Connection <gcloud.bigtable.happybase.connection.Connection>`\n  constructor **disables** the use of several\n  arguments and will print a warning if any of them are passed in as keyword\n  arguments. The arguments are:\n\n  * ``host``\n  * ``port``\n  * ``compat``\n  * ``transport``\n  * ``protocol``\n* In order to make\n  :class:`Connection <gcloud.bigtable.happybase.connection.Connection>`\n  compatible with Cloud Bigtable, we add a ``cluster`` keyword argument to\n  allow users to pass in their own\n  :class:`Cluster <gcloud.bigtable.cluster.Cluster>` (which they can\n  construct beforehand).\n\n  For example:\n\n  .. code:: python\n\n      from gcloud.bigtable.client import Client\n      client = Client(project=PROJECT_ID, admin=True)\n      cluster = client.cluster(zone, cluster_id)\n      cluster.reload()\n\n      from gcloud.bigtable.happybase import Connection\n      connection = Connection(cluster=cluster)\n\n* Any uses of the ``wal`` (Write Ahead Log) argument will result in a\n  warning as well. This includes uses in:\n\n  * :class:`Batch <gcloud.bigtable.happybase.batch.Batch>`\n  * :meth:`Batch.put() <gcloud.bigtable.happybase.batch.Batch.put>`\n  * :meth:`Batch.delete() <gcloud.bigtable.happybase.batch.Batch.delete>`\n  * :meth:`Table.put() <gcloud.bigtable.happybase.table.Table.put>`\n  * :meth:`Table.delete() <gcloud.bigtable.happybase.table.Table.delete>`\n  * :meth:`Table.batch() <gcloud.bigtable.happybase.table.Table.batch>` factory\n* When calling\n  :meth:`Connection.create_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.create_table>`, the\n  majority of HBase column family options cannot be used. Among\n\n  * ``max_versions``\n  * ``compression``\n  * ``in_memory``\n  * ``bloom_filter_type``\n  * ``bloom_filter_vector_size``\n  * ``bloom_filter_nb_hashes``\n  * ``block_cache_enabled``\n  * ``time_to_live``\n\n  Only ``max_versions`` and ``time_to_live`` are availabe in Cloud Bigtable\n  (as\n  :class:`MaxVersionsGCRule <gcloud.bigtable.column_family.MaxVersionsGCRule>`\n  and\n  :class:`MaxAgeGCRule <gcloud.bigtable.column_family.MaxAgeGCRule>`).\n\n  In addition to using a dictionary for specifying column family options,\n  we also accept instances of :class:`.GarbageCollectionRule` or subclasses.\n* :meth:`Table.scan() <gcloud.bigtable.happybase.table.Table.scan>` no longer\n  accepts the following arguments (which will result in a warning):\n\n  * ``batch_size``\n  * ``scan_batching``\n  * ``sorted_columns``\n\n* Using a HBase filter string in\n  :meth:`Table.scan() <gcloud.bigtable.happybase.table.Table.scan>` is\n  not possible with Cloud Bigtable and will result in a\n  :class:`TypeError <exceptions.TypeError>`. However, the method now accepts\n  instances of :class:`.RowFilter` and subclasses.\n* :meth:`Batch.delete() <gcloud.bigtable.happybase.batch.Batch.delete>` (and\n  hence\n  :meth:`Table.delete() <gcloud.bigtable.happybase.table.Table.delete>`)\n  will fail with a :class:`ValueError <exceptions.ValueError>` when either a\n  row or column family delete is attempted with a ``timestamp``. This is\n  because the Cloud Bigtable API uses the ``DeleteFromFamily`` and\n  ``DeleteFromRow`` mutations for these deletes, and neither of these\n  mutations support a timestamp.\n\"\"\"\n\nfrom gcloud.bigtable.happybase.batch import Batch\nfrom gcloud.bigtable.happybase.connection import Connection\nfrom gcloud.bigtable.happybase.connection import DEFAULT_HOST\nfrom gcloud.bigtable.happybase.connection import DEFAULT_PORT\nfrom gcloud.bigtable.happybase.pool import ConnectionPool\nfrom gcloud.bigtable.happybase.pool import NoConnectionsAvailable\nfrom gcloud.bigtable.happybase.table import Table\n\n\n# Values from HappyBase that we don't reproduce / are not relevant.\n__version__ = None\n", "path": "gcloud/bigtable/happybase/__init__.py"}], "after_files": [{"content": "# Copyright 2016 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Google Cloud Bigtable HappyBase package.\n\nThis package is intended to emulate the HappyBase library using\nGoogle Cloud Bigtable as the backing store.\n\nDifferences in Public API\n-------------------------\n\nSome concepts from HBase/Thrift do not map directly to the Cloud\nBigtable API. As a result, the following instance methods and functions\ncould not be implemented:\n\n* :meth:`Connection.enable_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.enable_table>` - no\n  concept of enabled/disabled\n* :meth:`Connection.disable_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.disable_table>` - no\n  concept of enabled/disabled\n* :meth:`Connection.is_table_enabled() \\\n      <gcloud.bigtable.happybase.connection.Connection.is_table_enabled>`\n  - no concept of enabled/disabled\n* :meth:`Connection.compact_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.compact_table>` -\n  table storage is opaque to user\n* :meth:`Table.regions() <gcloud.bigtable.happybase.table.Table.regions>`\n  - tables in Cloud Bigtable do not expose internal storage details\n* :meth:`Table.counter_set() \\\n      <gcloud.bigtable.happybase.table.Table.counter_set>` - method can't\n  be atomic, so we disable it\n* The ``__version__`` value for the HappyBase package is :data:`None`.\n  However, it's worth nothing this implementation was based off HappyBase\n  0.9.\n\nIn addition, many of the constants from\n:mod:`connection <gcloud.bigtable.happybase.connection>`\nare specific to HBase and are defined as :data:`None` in our module:\n\n* ``COMPAT_MODES``\n* ``THRIFT_TRANSPORTS``\n* ``THRIFT_PROTOCOLS``\n* ``DEFAULT_HOST``\n* ``DEFAULT_PORT``\n* ``DEFAULT_TRANSPORT``\n* ``DEFAULT_COMPAT``\n* ``DEFAULT_PROTOCOL``\n\nTwo of these ``DEFAULT_HOST`` and ``DEFAULT_PORT``, are even imported in\nthe main :mod:`happybase <gcloud.bigtable.happybase>` package.\n\nFinally, we do not provide the ``util`` module. Though it is public in the\nHappyBase library, it provides no core functionality.\n\nAPI Behavior Changes\n--------------------\n\n* Since there is no concept of an enabled / disabled table, calling\n  :meth:`Connection.delete_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.delete_table>`\n  with ``disable=True`` can't be supported.\n  Using that argument will result in a warning.\n* The :class:`Connection <gcloud.bigtable.happybase.connection.Connection>`\n  constructor **disables** the use of several\n  arguments and will print a warning if any of them are passed in as keyword\n  arguments. The arguments are:\n\n  * ``host``\n  * ``port``\n  * ``compat``\n  * ``transport``\n  * ``protocol``\n* In order to make\n  :class:`Connection <gcloud.bigtable.happybase.connection.Connection>`\n  compatible with Cloud Bigtable, we add a ``cluster`` keyword argument to\n  allow users to pass in their own\n  :class:`Cluster <gcloud.bigtable.cluster.Cluster>` (which they can\n  construct beforehand).\n\n  For example:\n\n  .. code:: python\n\n      from gcloud.bigtable.client import Client\n      client = Client(project=PROJECT_ID, admin=True)\n      cluster = client.cluster(zone, cluster_id)\n      cluster.reload()\n\n      from gcloud.bigtable.happybase import Connection\n      connection = Connection(cluster=cluster)\n\n* Any uses of the ``wal`` (Write Ahead Log) argument will result in a\n  warning as well. This includes uses in:\n\n  * :class:`Batch <gcloud.bigtable.happybase.batch.Batch>`\n  * :meth:`Batch.put() <gcloud.bigtable.happybase.batch.Batch.put>`\n  * :meth:`Batch.delete() <gcloud.bigtable.happybase.batch.Batch.delete>`\n  * :meth:`Table.put() <gcloud.bigtable.happybase.table.Table.put>`\n  * :meth:`Table.delete() <gcloud.bigtable.happybase.table.Table.delete>`\n  * :meth:`Table.batch() <gcloud.bigtable.happybase.table.Table.batch>` factory\n* When calling\n  :meth:`Connection.create_table() \\\n      <gcloud.bigtable.happybase.connection.Connection.create_table>`, the\n  majority of HBase column family options cannot be used. Among\n\n  * ``max_versions``\n  * ``compression``\n  * ``in_memory``\n  * ``bloom_filter_type``\n  * ``bloom_filter_vector_size``\n  * ``bloom_filter_nb_hashes``\n  * ``block_cache_enabled``\n  * ``time_to_live``\n\n  Only ``max_versions`` and ``time_to_live`` are availabe in Cloud Bigtable\n  (as\n  :class:`MaxVersionsGCRule <gcloud.bigtable.column_family.MaxVersionsGCRule>`\n  and\n  :class:`MaxAgeGCRule <gcloud.bigtable.column_family.MaxAgeGCRule>`).\n\n  In addition to using a dictionary for specifying column family options,\n  we also accept instances of :class:`.GarbageCollectionRule` or subclasses.\n* :meth:`Table.scan() <gcloud.bigtable.happybase.table.Table.scan>` no longer\n  accepts the following arguments (which will result in a warning):\n\n  * ``batch_size``\n  * ``scan_batching``\n  * ``sorted_columns``\n\n* Using a HBase filter string in\n  :meth:`Table.scan() <gcloud.bigtable.happybase.table.Table.scan>` is\n  not possible with Cloud Bigtable and will result in a\n  :class:`TypeError <exceptions.TypeError>`. However, the method now accepts\n  instances of :class:`.RowFilter` and subclasses.\n* :meth:`Batch.delete() <gcloud.bigtable.happybase.batch.Batch.delete>` (and\n  hence\n  :meth:`Table.delete() <gcloud.bigtable.happybase.table.Table.delete>`)\n  will fail with a :class:`ValueError <exceptions.ValueError>` when either a\n  row or column family delete is attempted with a ``timestamp``. This is\n  because the Cloud Bigtable API uses the ``DeleteFromFamily`` and\n  ``DeleteFromRow`` mutations for these deletes, and neither of these\n  mutations support a timestamp.\n\"\"\"\n\nfrom gcloud.bigtable.happybase.batch import Batch\nfrom gcloud.bigtable.happybase.connection import Connection\nfrom gcloud.bigtable.happybase.connection import DEFAULT_HOST\nfrom gcloud.bigtable.happybase.connection import DEFAULT_PORT\nfrom gcloud.bigtable.happybase.pool import ConnectionPool\nfrom gcloud.bigtable.happybase.pool import NoConnectionsAvailable\nfrom gcloud.bigtable.happybase.table import Table\n\n\n# Values from HappyBase that we don't reproduce / are not relevant.\n__version__ = None\n", "path": "gcloud/bigtable/happybase/__init__.py"}]}