{
"info": {
"author": "Roy Enjoy",
"author_email": "kirpit@gmail.com",
"bugtrack_url": null,
"classifiers": [],
"description": "**couchbasekit** is `a wrapper around CouchBase Python driver for document\nvalidation and more`. It was inspired by\n`MongoKit `_ and was developed by\n*the project coming soon?*, which is also an open source project.\n\nYou can get detailed information about couchbase itself from\nhttp://www.couchbase.com/ and about its Python driver form\nhttp://www.couchbase.com/develop/python/next.\n\nDocumentation: https://couchbasekit.readthedocs.org/en/latest/\n\nSource code: https://github.com/kirpit/couchbasekit\n\nQuick Start\n===========\n\nLess talk, more code. Set your authentication details first::\n\n from couchbasekit import Connection\n\n # you should do this somewhere beginning such as settings.py:\n Connection.auth('myusername', 'p@ssword')\n\n\nThen define your model document.\n\n**author.py**::\n\n import datetime\n from couchbasekit import Document, register_view\n from couchbasekit.fields import EmailField, ChoiceField\n from example.samples.publisher import Publisher\n from example.samples.book import Book\n\n class Gender(ChoiceField):\n CHOICES = {\n 'M': 'Male',\n 'F': 'Female',\n }\n\n\n @register_view('dev_authors')\n class Author(Document):\n __bucket_name__ = 'couchbasekit_samples'\n __key_field__ = 'slug' # optional\n doc_type = 'author'\n structure = {\n 'slug': unicode,\n 'first_name': unicode,\n 'last_name': unicode,\n 'gender': Gender,\n 'email': EmailField,\n 'publisher': Publisher, # kind of foreign key\n 'books': [Book], # 1-to-many\n 'has_book': bool,\n 'age': int,\n 'birthday': datetime.date,\n 'created_at': datetime.datetime,\n }\n default_values = { # optional\n 'has_book': False,\n # don't worry about the timezone info!\n # it's auto assigned as to UTC, so all you have to do is:\n 'created_at': datetime.datetime.utcnow,\n }\n required_fields = ( # optional\n 'slug',\n 'first_name',\n 'last_name',\n 'email',\n )\n\n\nThen use it as such;\n\n>>> from example.samples.author import Author, Gender\n>>> from couchbasekit.fields import EmailField\n>>>\n>>> douglas = Author()\n>>> douglas.is_new_record\nTrue\n>>> try:\n... douglas.validate()\n... except Author.StructureError as why:\n... print why\n...\nKey field 'slug' is defined but not provided.\n>>>\n>>> douglas.slug = u'douglas_adams'\n>>> try:\n... douglas.validate()\n... except Author.StructureError as why:\n... print why\n...\nRequired field for 'first_name' is missing.\n>>>\n>>> isinstance(douglas, dict)\nTrue\n>>> douglas.update({\n... 'first_name': u'Douglas',\n... 'last_name': u'Adams',\n... 'gender': Gender('M'),\n... 'email': EmailField('dna@example.com'),\n... })\n...\n>>> douglas.validate()\nTrue\n>>> douglas.save()\n14379837794698\n>>> douglas.cas_value # CAS value (version) of the couchbase document\n14379837794698\n>>> douglas.id\nu'douglas_adams'\n>>> douglas.doc_id\nu'author_douglas_adams'\n>>> douglas.birthday is None\nTrue\n>>> douglas.non_exist_field\nTraceback (most recent call last):\n File \"\", line 1, in \n File \"couchbasekit/document.py\", line 68, in __getattr__\n return super(Document, self).__getattribute__(item)\nAttributeError: 'Author' object has no attribute 'non_exist_field'\n>>>\n>>> dna = Author('douglas_adams')\n>>> dna.is_new_record\nFalse\n>>> douglas==dna\nTrue\n>>> douglas.has_book = True\n>>> douglas==dna\nFalse\n>>> # because we set @register_view decorator, here are the CouchBase views:\n>>> douglas.view()\n\n>>> view = douglas.view('by_fullname')\n>>> view\n\n>>> view.results({'key': 'Douglas Adams'})\n\n>>> # please refer to CouchBase views documentation for further usage..\n>>> # and the bucket itself for advanced folks:\n>>> douglas.bucket\n\n>>> print [m for m in dir(douglas.bucket) if not m.startswith('_')]\n['add', 'append', 'cas', 'decr', 'delete', 'design_docs', 'flush', 'gat', 'get', 'getl', 'incr', 'info', 'mc_client', 'name', 'password', 'prepend', 'replace', 'save', 'server', 'set', 'stats', 'touch', 'view']\n>>> # nice!",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/kirpit/couchbasekit",
"keywords": "couchbase,couchdb,nosql,validation",
"license": "LICENSE.txt",
"maintainer": null,
"maintainer_email": null,
"name": "couchbasekit",
"package_url": "https://pypi.org/project/couchbasekit/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/couchbasekit/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/kirpit/couchbasekit"
},
"release_url": "https://pypi.org/project/couchbasekit/0.2.2/",
"requires_dist": null,
"requires_python": null,
"summary": "A wrapper around CouchBase Python driver for document validation and more.",
"version": "0.2.2"
},
"last_serial": 788474,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "ed1140c709aaa5a1548e942365ad430d",
"sha256": "1c0be4226d83849c1b1a731da8e3b573e44800af31ec7c413c7a08f28ae73cb3"
},
"downloads": -1,
"filename": "couchbasekit-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "ed1140c709aaa5a1548e942365ad430d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19069,
"upload_time": "2012-11-21T11:16:18",
"url": "https://files.pythonhosted.org/packages/87/90/41a331320a11a9f61edd71fdff13eb11b1c00d6342370e3ec8a7ac9eb6c5/couchbasekit-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "b95c97626bd4b7cb0c992ef048570453",
"sha256": "c941e5e95d5158709099b13ceda350cf5da2e780c3b75b14d3acd93ad78f24dc"
},
"downloads": -1,
"filename": "couchbasekit-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "b95c97626bd4b7cb0c992ef048570453",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17886,
"upload_time": "2012-12-02T23:51:07",
"url": "https://files.pythonhosted.org/packages/f3/0c/e3376d79144424145c4f2e54481a029236ace73a8f1fbb1f5513f82fb7b9/couchbasekit-0.1.1.tar.gz"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "4f01181ca1ab22c6c84248a71fb05281",
"sha256": "b41d48849e00889bf5bcac4064d56b5e932096263b1ee24064762828f9c2f274"
},
"downloads": -1,
"filename": "couchbasekit-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "4f01181ca1ab22c6c84248a71fb05281",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18494,
"upload_time": "2012-12-09T12:47:43",
"url": "https://files.pythonhosted.org/packages/49/b5/4737c4e2f2832ea30a4c53b1fc4895bc99814e4e989df0c5a2ae085fdb2c/couchbasekit-0.1.2.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "b5362b97b64ef99c887c5529674417a4",
"sha256": "a14b996d4ac7ad29a9620eb55ac247445c79e2f5e026f1acec3304a0e296a111"
},
"downloads": -1,
"filename": "couchbasekit-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "b5362b97b64ef99c887c5529674417a4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14962,
"upload_time": "2012-12-28T15:37:15",
"url": "https://files.pythonhosted.org/packages/76/08/5a393525f1ded968372b17390a1e71c5c581c8ade1e1e84a9c9b5f252dd0/couchbasekit-0.2.1.tar.gz"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "36ab609762cb00e7bd11d7d4e1bbf8bb",
"sha256": "7a1a8ca72c3bee26201626326d63c8f8a08d32dae83d50bf99983befc60d86f5"
},
"downloads": -1,
"filename": "couchbasekit-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "36ab609762cb00e7bd11d7d4e1bbf8bb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15841,
"upload_time": "2013-04-18T12:06:35",
"url": "https://files.pythonhosted.org/packages/7f/7a/d2f2ef450962a6095505f38f5802f2a3df20d04c41f6d3fea06739629e1a/couchbasekit-0.2.2.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "36ab609762cb00e7bd11d7d4e1bbf8bb",
"sha256": "7a1a8ca72c3bee26201626326d63c8f8a08d32dae83d50bf99983befc60d86f5"
},
"downloads": -1,
"filename": "couchbasekit-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "36ab609762cb00e7bd11d7d4e1bbf8bb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15841,
"upload_time": "2013-04-18T12:06:35",
"url": "https://files.pythonhosted.org/packages/7f/7a/d2f2ef450962a6095505f38f5802f2a3df20d04c41f6d3fea06739629e1a/couchbasekit-0.2.2.tar.gz"
}
]
}