{ "info": { "author": "FreshX GbR", "author_email": "wallaby@freshx.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Twisted", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries" ], "description": "Wallaby backend for CouchDB\n===========================\n\nThis package provides an asynchronous python interface to CouchDB (using twisted).\n\nFor more information on wallaby visit http://wlby.freshx.de\n\nInstallation\n============\n\nYou can install the couchdb backend with pip\n\n```bash\npip install wallaby-backend-couchdb\n```\n\nHow to use\n==========\n\nThe library is based on twisted's asynchronous pattern. To use the library in an asynchronous fassion you \nfirst need to create an reactor based application:\n \n```python\nfrom twisted.internet import defer\n\n@defer.inlineCallbacks\ndef run():\n # wait 1 second\n d = defer.Deferred()\n reactor.callLater(1.0, d.callback)\n yield d\n\n # stop the reactor and quit the application\n reactor.stop()\n\nfrom twisted.internet import reactor\nreactor.callWhenRunning(run)\nreactor.run()\n```\n\nNow we can connect to an existing CouchDB database:\n\n```python\n@defer.inlineCallbacks\ndef run():\n # Create database client object\n from wallaby.backends.couchdb import Database\n db = Database(\n \"\", \n username=\"\", \n password=\"\", \n url=\"http://localhost:5984\"\n )\n\n # Query database info in an async manner\n info = yield db.info()\n\n # Output the info dict\n print info\n\n # <----- More example Code paste here\n\n # stop the reactor and quit the application\n reactor.stop()\n```\n\nCreate and delete database\n--------------------------\n\nWith the required permissions you could easily create and destroy databases\n\n```python\n newdb = Database(\n \"\", \n username=\"\", \n password=\"\", \n url=\"http://localhost:5984\"\n )\n\n # Create the new database \n res = yield newdb.create()\n\n # Destroy the new database\n res = yield newdb.destroy()\n```\n\nRead and write document\n-----------------------\n\n```python\n # Get a document by id\n doc = yield db.get('docid')\n\n # add a new value to the document\n doc['test'] = 'Hello World'\n\n # save the document\n res = yield db.save(doc)\n```\n\nCreating and deleting documents\n-------------------------------\n\n```python\n # Create a new doc\n doc = {'_id': 'newdocid'}\n res = yield db.save(doc)\n\n # the result contains the response from the CouchDB server\n if not 'error' in res:\n # the document was saved successfully. The new revision was updated in the \"_rev\" field of doc.\n print doc['_rev']\n\n # delete the document\n res = yield db.delete(doc)\n```\n\nAttachment handling\n-------------------\n\n```python\n # First we a load a file to attach. In real life you should do this in an async manner\n content = open('test.png').read()\n\n # Now we can attach this file to an existing document\n res = yield db.put_attachment(doc, 'newimage.png', content, content-type='image/png')\n\n # And load from database again\n content = yield db.get_attachment(doc, 'newimage.png')\n\n # and finally delete it\n res = yield db.delete_attachment(doc, 'newimage.png')\n```\n\nViews\n-----\n\n```python\n # get all rows of view\n rows = yield db.view('_design/designname/_view/viewname')\n\n # pass view arguments\n rows = yield db.view('_design/designname/_view/viewname', count=100)\n```\n\nChanges\n-------\n\n```python\n def callback(changes, viewID=None):\n # all changes are passed to this callback as an array. the viewID help to identify \n # view-based changes\n pass\n\n # register callback function for filtered changes\n db.changes(cb=callback, since=12345, filter=\"couchappdoc/all\")\n\n # register callback function for view changes (only works in CouchDB 1.2)\n db.changes(cb=callback, since=12345, filter=\"_view\", view=\"couchappdoc/viewname\")\n\n # unregister first callback\n db.unchanges(since=12345, filter=\"couchappdoc/all\")\n\n # unregister second callback\n db.changes(since=12345, filter=\"_view\", view=\"couchappdoc/viewname\")\n```\n\n", "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/FreshXOpenSource/wallaby-backend-couchdb", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "wallaby-backend-couchdb", "package_url": "https://pypi.org/project/wallaby-backend-couchdb/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/wallaby-backend-couchdb/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/FreshXOpenSource/wallaby-backend-couchdb" }, "release_url": "https://pypi.org/project/wallaby-backend-couchdb/0.1.39/", "requires_dist": null, "requires_python": null, "summary": "Asynchronous CouchDB backend - part of Wallaby. The couchDB application framework.", "version": "0.1.39" }, "last_serial": 801502, "releases": { "0.1.26": [], "0.1.27": [ { "comment_text": "", "digests": { "md5": "2c215213e2127abd94d23c785a681bf2", "sha256": "8d5218908b03303b0685b476e7b15f29475bc913f90de058cca46196cfc18cf7" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.27.tar.gz", "has_sig": false, "md5_digest": "2c215213e2127abd94d23c785a681bf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8080, "upload_time": "2013-01-15T12:03:50", "url": "https://files.pythonhosted.org/packages/03/f5/55987a347df6966154e692723569e2864eca04ec63e22dff5a5abf7069ec/wallaby-backend-couchdb-0.1.27.tar.gz" } ], "0.1.28": [ { "comment_text": "", "digests": { "md5": "7c2249d52b687f9346da731ef9370452", "sha256": "d8b08ad404d21a8ee658a69373a1ceea00981858b39f2bab8fc1f27ef92a8a71" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.28.tar.gz", "has_sig": false, "md5_digest": "7c2249d52b687f9346da731ef9370452", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9002, "upload_time": "2013-01-15T15:36:13", "url": "https://files.pythonhosted.org/packages/45/e2/b3390d444473c8d09d84aac71ac1c08efaa37ead5e1153f6718adb8de4ad/wallaby-backend-couchdb-0.1.28.tar.gz" } ], "0.1.29": [ { "comment_text": "", "digests": { "md5": "bdaac3124d069493e2c272f22efbf788", "sha256": "de57dab89e558d70e94c543d1a346eeb96a20e0d02e618418103bd90039a6c5c" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.29.tar.gz", "has_sig": false, "md5_digest": "bdaac3124d069493e2c272f22efbf788", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9143, "upload_time": "2013-01-17T13:26:45", "url": "https://files.pythonhosted.org/packages/68/b9/b3eeb79bf595e23e03d3e4357b5914838473ba68f07597c75e9d2c9dc022/wallaby-backend-couchdb-0.1.29.tar.gz" } ], "0.1.30": [ { "comment_text": "", "digests": { "md5": "6c7f4db541857e1fbcd04fe243fc3d2c", "sha256": "297bf98746b56653c86c7fe1f28a5f23052310237c6f0f7d430a06f0d4ae19eb" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.30.tar.gz", "has_sig": false, "md5_digest": "6c7f4db541857e1fbcd04fe243fc3d2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9203, "upload_time": "2013-01-25T00:20:44", "url": "https://files.pythonhosted.org/packages/6c/10/19bbfbafeaaf17ace264c7439aee207728323e2272c110cb5326372fd64a/wallaby-backend-couchdb-0.1.30.tar.gz" } ], "0.1.31": [ { "comment_text": "", "digests": { "md5": "2f15710cd5f7f376c8f562c98ae6eb74", "sha256": "949712bfa9f7f13689497e229a8a6f3b2185bc3ab9b9f0c0f5d9bc02488cd0d6" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.31.tar.gz", "has_sig": false, "md5_digest": "2f15710cd5f7f376c8f562c98ae6eb74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9237, "upload_time": "2013-01-25T00:33:36", "url": "https://files.pythonhosted.org/packages/1c/b9/7de133ec30ce53fdba4d22a631cdbbd7a4c0b2691997cfe567b382607801/wallaby-backend-couchdb-0.1.31.tar.gz" } ], "0.1.32": [ { "comment_text": "", "digests": { "md5": "0b7557e2edca1d4b63d2ad2b80636e70", "sha256": "8b083a424167585b904a247a47a500f93e930feaa78a0cd5def16d791c871e04" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.32.tar.gz", "has_sig": false, "md5_digest": "0b7557e2edca1d4b63d2ad2b80636e70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9241, "upload_time": "2013-01-26T12:50:51", "url": "https://files.pythonhosted.org/packages/e6/7a/132d361aabcbc2b08eb10d77d3bcc67530736faf639b8e39cf31b62882c2/wallaby-backend-couchdb-0.1.32.tar.gz" } ], "0.1.33": [ { "comment_text": "", "digests": { "md5": "bf28ea8836ff58cbfcac11899e45aab0", "sha256": "e00a27e3936140fd95076a475ea81b32070fe66365758962fc365322ed6e8b07" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.33.tar.gz", "has_sig": false, "md5_digest": "bf28ea8836ff58cbfcac11899e45aab0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9267, "upload_time": "2013-01-26T13:24:57", "url": "https://files.pythonhosted.org/packages/33/5f/0eb1fb7e30f3a6f07d03ad33613cadbb79e0a7f81e8d003f71e0c4542bac/wallaby-backend-couchdb-0.1.33.tar.gz" } ], "0.1.34": [ { "comment_text": "", "digests": { "md5": "a883b29ee997f5a1da87089aa6e5cc9d", "sha256": "2b0aa93ddd126ff8ab10631f254709a72df1ed4ee6646aaf9b9b717beaf204fd" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.34.tar.gz", "has_sig": false, "md5_digest": "a883b29ee997f5a1da87089aa6e5cc9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9262, "upload_time": "2013-01-26T13:28:56", "url": "https://files.pythonhosted.org/packages/23/bf/ba9b40c06bd2f2c0da37e4ceb2900216553e62f6d3f25b2f25a082e595f3/wallaby-backend-couchdb-0.1.34.tar.gz" } ], "0.1.35": [ { "comment_text": "", "digests": { "md5": "8655e9ad09602c91cacf5ee8a3147dde", "sha256": "9d79222023f84909c65063bea9a620e4cc438660318e54a48f0345e6ea1f8d74" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.35.tar.gz", "has_sig": false, "md5_digest": "8655e9ad09602c91cacf5ee8a3147dde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9273, "upload_time": "2013-01-26T13:33:19", "url": "https://files.pythonhosted.org/packages/ec/51/cd63fd1efebc2f77714789a05debabf3497da7068f4b8de7f1285e86daa4/wallaby-backend-couchdb-0.1.35.tar.gz" } ], "0.1.36": [ { "comment_text": "", "digests": { "md5": "007b342e882f3636853f6890e68d8ae3", "sha256": "801edf5d46401b14fc5d93d6b3739e7f4aca49cf11c8fdaf42230187bf673ca3" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.36.tar.gz", "has_sig": false, "md5_digest": "007b342e882f3636853f6890e68d8ae3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9235, "upload_time": "2013-01-26T13:35:51", "url": "https://files.pythonhosted.org/packages/3c/14/6fc0223b55968301352b40f59901d470d360ca937b7a637b2ba28c348fbe/wallaby-backend-couchdb-0.1.36.tar.gz" } ], "0.1.37": [ { "comment_text": "", "digests": { "md5": "340d96f2b60b19f945b3383ad1b6857b", "sha256": "08d0f5c19a5d10643b31853a692c5077de266221050472f1f5fab86377f8ce26" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.37.tar.gz", "has_sig": false, "md5_digest": "340d96f2b60b19f945b3383ad1b6857b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9237, "upload_time": "2013-01-26T13:39:48", "url": "https://files.pythonhosted.org/packages/4a/43/d59accf72b4bde62e06a0bff45ab9cb95ab6c8462624cadd4170c6cf53fc/wallaby-backend-couchdb-0.1.37.tar.gz" } ], "0.1.38": [ { "comment_text": "", "digests": { "md5": "6e432f226b27aa088fc189436d7efc2b", "sha256": "cd9e2a21813124338afdc7a191d234c37135c4f3b637f9f10b9d504d73a0ccca" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.38.tar.gz", "has_sig": false, "md5_digest": "6e432f226b27aa088fc189436d7efc2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9252, "upload_time": "2013-01-26T14:09:08", "url": "https://files.pythonhosted.org/packages/f5/2f/cb7b90ea994d1383db3309d8586b0fef83646666914be15a9ec8a4406a69/wallaby-backend-couchdb-0.1.38.tar.gz" } ], "0.1.39": [ { "comment_text": "", "digests": { "md5": "c0bcdbbdc1cd72d21058a8eeb6fb8812", "sha256": "dac865d7636f381a49b0a260973174059f6f7755cc3bfe7155ba58d9e8225eac" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.39.tar.gz", "has_sig": false, "md5_digest": "c0bcdbbdc1cd72d21058a8eeb6fb8812", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9285, "upload_time": "2013-01-26T15:19:36", "url": "https://files.pythonhosted.org/packages/d3/9e/5d5e340a966644cc51d177f04e82ba18e9678c690fb41d3a10d313f5d676/wallaby-backend-couchdb-0.1.39.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c0bcdbbdc1cd72d21058a8eeb6fb8812", "sha256": "dac865d7636f381a49b0a260973174059f6f7755cc3bfe7155ba58d9e8225eac" }, "downloads": -1, "filename": "wallaby-backend-couchdb-0.1.39.tar.gz", "has_sig": false, "md5_digest": "c0bcdbbdc1cd72d21058a8eeb6fb8812", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9285, "upload_time": "2013-01-26T15:19:36", "url": "https://files.pythonhosted.org/packages/d3/9e/5d5e340a966644cc51d177f04e82ba18e9678c690fb41d3a10d313f5d676/wallaby-backend-couchdb-0.1.39.tar.gz" } ] }