Cushion: a simple CouchDB Document API wrapper
This is a Python wrapper for the CouchDB Document API (http://wiki.apache.org/couchdb/HTTP_Document_API).
It was created primarily as an exercise to learn CouchDB's document API.
The library attempts to expose a very simple interface that closely resembles REST.
For example,
from cushion import api
c = api.Cushion("http://localhost:5984/albums",
username='abc',
password='xyz'
)
c.get(id='1b0c7bb19b1bbacf7f567bf379000d9c')
returns the following JSON object:
{
'Band': 'The Postal Service',
'_rev':'1-f319aeef4dbb8c232f0257cf2a9ae64b',
'_id': '1b0c7bb19b1bbacf7f567bf379000d9c',
'Name': 'Give Up'
}
alternatively, the database can be specified at runtime,
c = api.Cushion("http://localhost:5984",
username='abc',
password='xyz',
timeout=5
)
c.get.albums(id='1b0c7bb19b1bbacf7f567bf379000d9c')
which also returns:
{
'Band': 'The Postal Service',
'_rev':'1-f319aeef4dbb8c232f0257cf2a9ae64b',
'_id': '1b0c7bb19b1bbacf7f567bf379000d9c',
'Name': 'Give Up'
}
to create a document with a document id:
c.put.albums(id='c3ea09f0-9758-480c-aa25-0f71a9caa446', Name='Transatlanticism', Band='Death Cab For Cutie')
alternatively, to create a document without supplying the document id:
c.post.albums(Name='In Ghost Colors', Band='Cut Copy')
This is a Python wrapper for the CouchDB Document API (http://wiki.apache.org/couchdb/HTTP_Document_API).
It was created primarily as an exercise to learn CouchDB's document API.
The library attempts to expose a very simple interface that closely resembles REST.
For example,
from cushion import api
c = api.Cushion("http://localhost:5984/albums",
username='abc',
password='xyz'
)
c.get(id='1b0c7bb19b1bbacf7f567bf379000d9c')
returns the following JSON object:
{
'Band': 'The Postal Service',
'_rev':'1-f319aeef4dbb8c232f0257cf2a9ae64b',
'_id': '1b0c7bb19b1bbacf7f567bf379000d9c',
'Name': 'Give Up'
}
alternatively, the database can be specified at runtime,
c = api.Cushion("http://localhost:5984",
username='abc',
password='xyz',
timeout=5
)
c.get.albums(id='1b0c7bb19b1bbacf7f567bf379000d9c')
which also returns:
{
'Band': 'The Postal Service',
'_rev':'1-f319aeef4dbb8c232f0257cf2a9ae64b',
'_id': '1b0c7bb19b1bbacf7f567bf379000d9c',
'Name': 'Give Up'
}
to create a document with a document id:
c.put.albums(id='c3ea09f0-9758-480c-aa25-0f71a9caa446', Name='Transatlanticism', Band='Death Cab For Cutie')
alternatively, to create a document without supplying the document id:
c.post.albums(Name='In Ghost Colors', Band='Cut Copy')
Metadata
Release files for cushion 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cushion-0.2-py2.6.egg | Legacy Egg format | - | - | Details |
Release files / cushion-0.2-py2.6.egg
| Download URL | cushion-0.2-py2.6.egg |
|---|---|
| Size | 6.5 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
9d86f90dd1cebc0143595387dbae042ab6e09b4f63de118adfaf241a3f4ace0d
|
|
BLAKE2b-256 checksum How to use checksums |
0f0aa7a9fa4d1194a14da156a7e78b25089c900de01c2f8cbe88e3960e1bc186
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |