[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:
Dependency
depends on PYCBC-41 View error options at query time Open

 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:
Dependency
blocks PYCBC-27 support errors on views Open

 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.




Generated at Sat May 25 12:32:57 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.