Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
3.0.8
-
None
-
1
Description
I find that the documentation for Couchbase Python SDK (3.0.8 at least) is missing and/or conflicting with the behaviour of the SDK and because of that it's difficult to migrate from the previous versions (2.x) of the SDK.
I don't mean to sound critical (documentation is a sensitive issue for every developer ), just want to highlight a few "pain points" I've encountered:
1) The documentation here is outdated, CouchbaseError doesn't exist anymore, nor is the .is_retryable attribute is present in CouchbaseException
2) There's no working example of how and when to read from replica (for get() for example). The old documentation mentioned catching CouchbaseNetworkError , which doesn't have an equivalent in the new SDK.
I've found the get_any_replica() and rget() undocumented methods on a CBCollection object; the first seems to work, but doesn't support the quiet= kwarg as get does; the second is even weirder, it returns a list object (when I get a single key) - probably intended for internal use, but shows up on dir(collection) whereas the first doesn't.
3) When catching an exception (e.g. from get_multi() ), the split_results() method returns dictionaries of ValueResult , not of GetResult as one would have expected (also undocumented)
(I'll add more when I encounter them, if that's ok)
I also have the impression that not everything documented in the code appears in the generated documentation