[PYCBC-81] Write the Getting Started with Python on Mac OS X section of the essentials guide Created: 04/Feb/13 Updated: 04/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | MC Brown | Assignee: | Robin Johnson |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Write the Getting started with Python on Mac OS X section of the Essentials Guide
Needs to cover: Installation of the Python module and any pre-requisites Writing your first (small) app using Couchbase and Python Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. |
[PYCBC-80] Write the Getting Started with Python on Linux section of the essentials guide Created: 04/Feb/13 Updated: 04/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | MC Brown | Assignee: | Robin Johnson |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Write the Getting started with Python Linux (Redhat and Debian) section of the Essentials Guide
Needs to cover: Installation of the Python module and any pre-requisites Writing your first (small) app using Couchbase and Python Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. |
[PYCBC-79] Create bucket function does not allow user to set the bucket type Created: 26/Jan/13 Updated: 26/Jan/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Tug Grall | Assignee: | Tug Grall |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Create bucket function does not allow user to set the bucket type
We should add the bucket type to the list of parameters it is possible to work around this with the rest interface like: couchbase = Couchbase("127.0.0.1:8091", "Administrator", "password") #get the rest interface rest = couchbase._rest() rest.create_bucket(bucket='myBucket', ramQuotaMB=160, authType='sasl', saslPassword='password', replicaNumber=0, bucketType='couchbase') |
[PYCBC-27] support errors on views Created: 22/Mar/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | New Feature | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
Views now have some options on capturing errors and stopping on errors as documented here:
http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-writing-errors.html The client needs to support these. |
[PYCBC-37] Highlevel synchronous mutation operations atop observe Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
[PYCBC-43] Update the getting started to match the Beer sample DB Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Once the sample DB has been integrated into the server, update the getting started (both on the web page and in the documentation) to use the sample database.
|
[PYCBC-36] Implement observe command Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Add the basic low level observe command
|
[PYCBC-71] Supporting _all_docs in the SDK Created: 15/Nov/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Volker Mische | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The Python SDK currently doesn't seem to support _all_docs at the moment.
I remember that it was possible in the past with something like `.view("_all_docs")`, but I think this is the wrong way to do it. _all_docs should really have its own method. The reasons are: - _all_docs and Views are a different thing, this should not be hidden to the user - _all_docs uses raw collation and not Unicode collation as Views do - I'm not sure about this one, but it could be the case, that _all_docs also contains not yet persisted items (as opposed to views). |
[PYCBC-9] an interface to paginate across large view results is needed Created: 22/Aug/11 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | New Feature | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
There can be some situations where querying a view returns results that way too large for the client to handle. In these cases, either the client library API or implementation of some Python specific API can allow for one to iterate over Views which have very large results.
The Ruby client does this with streaming. The Java client does this with traditional pagination: http://guide.couchdb.org/draft/recipes.html#pagination |
[PYCBC-82] Error handling documentation Created: 05/Feb/13 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Please create some documentation specifying possible error/failures to operations, what they "look" like in the logs/exceptions/stack traces and what our recommendation is on how to handle them.
i.e. tmp_oom, timeouts (connection/operation/java-internal/etc), "get miss" (it's technically a failure, let's make it overly obvious what it means), CAS failure, add() failure, replace() failure, Some of this should be covered in the API reference, but this bug is specifically for a single page where this information is aggregated that a customer/user could read about how to handle errors. |
[PYCBC-42] Add a unit/integration test validation of OBSERVE + view stale=false Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Ensure that when a synchronous set is used with the new low-level observe, the index is fully updated when querying with view=false.
|
[PYCBC-57] Provide Error Handling Consistent with Other SDKs Created: 24/Aug/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Need to provides consistent error messages and error handling. Needs to be more consistent with other SDKS, and underlying memcached protocol
|
[PYCBC-102] New Python 1.0 Guide Created: 08/May/13 Updated: 08/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | info-request | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
MarkN the component lead.
Matt: will have schedule next week. |
[PYCBC-113] TOC for Python 1.0 Created: 15/May/13 Updated: 15/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
For the upcoming 1.0 Python client, we'll need to come up with a TOC. Likely something like MB-7714.
|
| Comments |
| Comment by Karen Zeller [ 15/May/13 ] |
|
Not sure who is the subject matter expert on Python but we need input on the topics. Here is the TOC for Java-next-gen:
1. Getting Started 1.1 Preparations 1.2 Hello Couchbase 1.3 Next Steps 2. Tutorial 2.1 Preparations 2.2 Quickstart 2.3 Connection Management 2.4 The Welcome Page 2.5 Managing Beers 2.6 Wrapping Up 3. Using the APIs 3.1 Connection Management 3.2 Retreiving Data 3.3 Mutating Data 3.4 Working with Views 3.5 Applying Persistence Constraints 3.6 Error Handling 3.7 JSON & Object Serialization 3.8 Design Document Management 4. Advanced Usage 4.1 Bulk Loading 4.2 Working with Documents 4.3 Advanced Topics 4.4 Logging & Debugging 5. API Reference 5.1 Method Summary 5.2 Connecting & Disconnecting 5.3 Retreiving Data 5.4 Mutating Data 5.5 Management Operations 5.6 Other Useful Operations A. Release Notes B. Contributing B.1 General Information B.2 Source Code Styleguide |
| Comment by Matt Ingenthron [ 15/May/13 ] |
|
Mark ist he SME.
Mark: Using this as a base (unless you have feedback to the contrary), can you edit up a TOC for the Python 1.0 release in this ticket? |
| Comment by Mark Nunberg [ 15/May/13 ] |
|
I'd probably want to nix (for now):
2.3 Connection Management (it's a simple object, there's no global pooling yet) 3.4 Views (we don't have a stable view API yet) 3.8 "" 3.5 "" 4.4 We don't have any significant logging infrastructure in the SDK We might want to split 'Preparations' into 'Installing the SDK' and 'Installing the cluster' Thus: -------------------------------------------------------------------------------------------------------------------------- 1. Getting Started 1.1 Setting up the cluster 1.2 Installing the SDK 1.3 Hello Couchbase 1.4 Next Steps 2. Tutorial 2.1 Preparations 2.2 Quickstart 2.3 Connection Management 2.4 The Welcome Page 2.5 Managing Beers 2.6 Wrapping Up 3. Using the APIs 3.1 Connecting 3.2 Retreiving Data 3.3 Mutating Data 3.4 Working with Views [ NYI (Not Yet implemented) ] 3.5 Applying Persistence Constraints [ NYI ] 3.6 Error Handling 3.7 JSON & Object Serialization 3.8 Design Document Management [ NYI ] 4. Advanced Usage 4.1 Bulk Loading 4.2 Notes for using with (and without) threads (maybe this belogns in advanced)? 4.3 Working with Documents 4.4 Advanced Topics 4.5 Logging & Debugging 5. API Reference 5.1 Method Summary 5.2 Initialization 5.3 Retreiving Data 5.4 Mutating Data 5.5 Management Operations 5.6 Other Useful Operations A. Release Notes B. Contributing B.1 General Information B.2 Source Code Styleguide |
| Comment by Mark Nunberg [ 15/May/13 ] |
| Assigning back to you for review |
[PYCBC-68] cannot delete design doc Created: 18/Sep/12 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
This may be related to the _rev changes with design docs recently. It could also be related to authentication changes.
http://www.couchbase.com/forums/thread/python-client-delete-design-doc |
| Comments |
| Comment by Matt Ingenthron [ 18/Sep/12 ] |
|
From the bug reporter:
Server is 2.0.0. I've updated the python client to 0.8.0 and the problem remains although with a different error message; File "/Volumes/DATA/dv/epic/server/venv/lib/python2.7/site-packages/couchbase/client.py", line 254, in delete rest.delete_view(self.name, view) AttributeError: 'RestConnection' object has no attribute 'delete_view' I think the problem lies simply within the Python client; inspecting client.py:254 there's a call to a non existent function delete_view().. probably should be RestConnection.delete_design_doc(). |
[PYCBC-41] View error options at query time Created: 12/Jul/12 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
At view query time, we need to ensure the developer has the ability to add an "on_error" parameter with values of either "stop" or "continue".
|
[PYCBC-64] Improve design document management error handling Created: 30/Aug/12 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The most likely error that needs better handling is invalid JavaScript.
|
| Comments |
| Comment by Benjamin Young [ 31/Aug/12 ] |
|
Docs for potential errors:
http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-designdoc-api-retrieving.html |
[PYCBC-38] Replica read command Created: 12/Jul/12 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Implement a simple replica read command
|
[PYCBC-83] Python client fails to encode view parameters Created: 09/Feb/13 Updated: 21/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Mike Wiederhold | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/forums/thread/reporting-issue-python-client-bucket-viewoptions-needs-encode-options
During querying a view, if the option is not encoded, it generates an error. Example: bucket.view("_design/beer/_view/by_name", limit=10, key="##") The "##" characters generates: "invalid UTF-8 JSON: {{error,insufficient_data},"[\"NONE"}" The Couchbase Python client code should encode all the params in the client.py: view() method. Please follow up with the user who posted the issue on the forums once this issue is resolved. |
[PYCBC-8] creating and destroying design docs with views from the client library should be available Created: 22/Aug/11 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 1.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Separate from accessing views, there should be methods of creating and destroying views and the associated design documents.
|
[PYCBC-12] client should provide some way of asynchronously running multiple ops in parallel Created: 22/Aug/11 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Currently, if one has to get multiple items to do something, they must all be done in serial.
get A get B get C print "A + B + C is " A + B + C it'd be better if A, B and C could all be fetched without blocking, and only when going to access them, would the request be blocked. |