{ "info": { "author": "David Buchmann", "author_email": "david.buchmann@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Flask-CuddlyRest\n================\n\nA framework for manipulating mongoengine collections via a CUD-ly API\n\nIt has taken inspiration from:\n - https://github.com/brettlangdon/mongorest\n - https://github.com/elasticsales/flask-mongorest\n - https://github.com/mozilla-services/cornice (for sphinx integration)\n\nAll credit goes to those projects! :)\n\n[![Build Status](https://travis-ci.org/wuurrd/Flask-CuddlyRest.png)](https://travis-ci.org/wuurrd/Flask-CuddlyRest)\n\nSetup\n=====\n\n``` python\nfrom flask import Flask\nfrom flask.ext.mongoengine import MongoEngine\nfrom flask.ext.cuddlyrest import CuddlyRest\nfrom flask.ext.cuddlyrest.views import Resource\n\n\napp = Flask(__name__)\n\napp.config.update(\n MONGODB_HOST = 'localhost',\n MONGODB_PORT = '27017',\n MONGODB_DB = 'mongorest_example_app',\n)\n\ndb = MongoEngine(app)\napi = CuddlyRest(app)\n\nclass User(db.Document):\n email = db.EmailField(unique=True, required=True)\n\nclass Content(db.EmbeddedDocument):\n text = db.StringField()\n\nclass Post(db.Document):\n title = db.StringField(max_length=120, required=True)\n author = db.ReferenceField(User)\n content = db.EmbeddedDocumentField(Content)\n\napi.register(Post, '/posts')\n```\n\nWith this app, following cURL commands could be used:\n```\nCreate a Post:\ncurl -H \"Content-Type: application/json\" -X POST -d \\\n'{\"title\": \"First post!\", \"author_id\": \"author_id_from_a_previous_api_call\", \"content\": {\"text\": \"this is our test post content\"}}' http://0.0.0.0:5000/posts/\n{\n \"id\": \"1\",\n \"title\": \"First post!\",\n \"author\": \"author_id_from_a_previous_api_call\",\n \"content\": {\n \"text\": \"this is our test post content\"\n }\n}\n```\nGet a Post:\n```\ncurl http://0.0.0.0:5000/posts/1/\n{\n \"id\": \"1\",\n \"title\": \"First post!\",\n \"author_id\": \"author_id_from_a_previous_api_call\",\n \"content\": {\n \"text\": \"this is our test post content\"\n }\n}\n```\nList all Posts or filter by the title:\n```\ncurl http://0.0.0.0:5000/posts/ or curl http://0.0.0.0:5000/posts/?title__startswith=First%20post\n{\n \"data\": [\n {\n \"id\": \"1\",\n \"title\": \"First post!\",\n \"author_id\": \"author_id_from_a_previous_api_call\",\n \"content\": {\n \"text\": \"this is our test post content\"\n }\n },\n ... other posts\n ]\n}\n```\nDelete a Post:\n```\ncurl -X DELETE http://0.0.0.0:5000/posts/1/\n```\n\nRequest Params\n==============\n\n**skip** and **limit** => utilize the built-in functions of mongodb.\n**order_by** => order results if this string is present in the Resource.allowed_ordering list.\n\nSphinx doc generation\n=====================\n\nThere are facilities to generate sphinx documentation that document the REST\nAPIs as handled by Flask-CuddlyREST.\n\nSetup\n-----\n\nEdit `conf.py` and add the following:\n\n```\nimport flask_cuddlyrest\n```\n\nMake sure `flask_cuddlyrest.ext.sphinxext` is added to the list of extensions, for instance:\n```\nextensions = ['sphinx.ext.autodoc',\n\t\t\t 'flask_cuddlyrest.ext.sphinxext']\n```\n\nUsage\n-----\n\nTo add a description of the operations that Flask-CuddlyREST handles:\n\n```\n.. cuddlyrest::\n :document: Sock # The name of the class where the mongo document\n binding is defined.\n :url: /socks # the url on which the document object is served.\n```\n\nTo add a description of the JSON objects Flask-CuddlyREST handles:\n\n```\n.. cuddlyobject::\n :module: the.module.in.which.the.document.is.defined\n :document: Sock # The name of the class where the mongo document\n binding is defined.\n :id: sock_class # the named hyperlink reference id which the\n rest of the API doc can use to reference this generated\n documentation block. This is optional: when not provided, the\n default value will be set to the document name, lower cased.\n\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/wuurrd/flask-cuddlyrest", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "Flask-CuddlyRest", "package_url": "https://pypi.org/project/Flask-CuddlyRest/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Flask-CuddlyRest/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/wuurrd/flask-cuddlyrest" }, "release_url": "https://pypi.org/project/Flask-CuddlyRest/0.1.15/", "requires_dist": null, "requires_python": null, "summary": "Flask restful API framework for MongoDB/MongoEngine", "version": "0.1.15" }, "last_serial": 1447960, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "95902d58437065dc7aa90f35002725c7", "sha256": "45f25fd25b421dfd88fffcbb53d05ba302d829e4bdb686f5cc829fd3b0afe18b" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.1.tar.gz", "has_sig": false, "md5_digest": "95902d58437065dc7aa90f35002725c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5264, "upload_time": "2013-08-16T14:40:48", "url": "https://files.pythonhosted.org/packages/d9/c0/ef5e850098ea95dc958c278d3dc412bc8fcf3e5842906ac9c395f9551e99/Flask-CuddlyRest-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "78fb5973395d17d3ede1663cf8b77ebc", "sha256": "989ba7a98bbb5adc88ccce0c96d845ff35448be5c8017d65c328d0c3195d1742" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.10.tar.gz", "has_sig": false, "md5_digest": "78fb5973395d17d3ede1663cf8b77ebc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11004, "upload_time": "2013-09-12T09:42:19", "url": "https://files.pythonhosted.org/packages/c4/70/644981e3828b42b4dc333007af63a61867a10bb7d4dcbd7e6372cd9da8a8/Flask-CuddlyRest-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "7e76f636b8bd107ea582732a1246f28d", "sha256": "44e39bd294b3d5fc37a8600c261b98e3a07047a7c4939dff957c36a0952c34fd" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.11.tar.gz", "has_sig": false, "md5_digest": "7e76f636b8bd107ea582732a1246f28d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9614, "upload_time": "2013-09-12T19:01:49", "url": "https://files.pythonhosted.org/packages/dc/5c/aea9ee805372f1d2b2f6970dcbbaf72ffb06b63b911045edcd14bf2ca34a/Flask-CuddlyRest-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "66a56c9048159fad295871e02e9aa3f8", "sha256": "21798fe136e6556bbc3ec6c7018f6859529efc0b1c3273ffdabd1518327eab65" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.12.tar.gz", "has_sig": false, "md5_digest": "66a56c9048159fad295871e02e9aa3f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9622, "upload_time": "2013-10-04T15:39:01", "url": "https://files.pythonhosted.org/packages/d9/11/9155e73cfebecef517350f89d367d20608404572337e460644fdc54b1836/Flask-CuddlyRest-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "e3a3f27b22adcd68d5e1a974eb9d96d8", "sha256": "e1a1a9f68d151a7d49618546b36defbb5331525bbf07103a1cd60786f21c2332" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.13.tar.gz", "has_sig": false, "md5_digest": "e3a3f27b22adcd68d5e1a974eb9d96d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11121, "upload_time": "2014-01-05T19:02:24", "url": "https://files.pythonhosted.org/packages/bc/b9/a32db0ff0a9c4e4f1689d6194b91126323e3533389b76b9ff51950cfe23e/Flask-CuddlyRest-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "e63d781fa7ddbb5260595039673e20c4", "sha256": "7193ec39dfc4d039e85e6581e54e5b100f49901f8a38e3e1d64fad0e09e7c718" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.14.tar.gz", "has_sig": false, "md5_digest": "e63d781fa7ddbb5260595039673e20c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11147, "upload_time": "2014-03-06T09:29:53", "url": "https://files.pythonhosted.org/packages/9d/cd/e09e67a5fdb5c54e4fdc8b5be9d76987de4bdba215d0038853d589278196/Flask-CuddlyRest-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "faa19b990d36a9c013d8682d88cf392f", "sha256": "b7da20a407defe257c08c336e23b49476f1056ef534fa46f66446dc744478b09" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.15.tar.gz", "has_sig": false, "md5_digest": "faa19b990d36a9c013d8682d88cf392f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11070, "upload_time": "2015-03-04T16:44:55", "url": "https://files.pythonhosted.org/packages/15/8c/436acabbde7c7e202d77a957ea2ca41f875975b9981c4e7c1747f147b2e5/Flask-CuddlyRest-0.1.15.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7f151186c3b2e873736f589647ebc3c4", "sha256": "5dfd0b07ab79a1062377e544bacafd97b9c6e003761b8c3e6185fb8d071de24f" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7f151186c3b2e873736f589647ebc3c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5310, "upload_time": "2013-08-16T15:15:30", "url": "https://files.pythonhosted.org/packages/a0/4e/93a9e40d174f819fdd254e0765bbc5afa870d0937f5fbd1b4c5ec08016ac/Flask-CuddlyRest-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c688836c2810942b577c4df7e8761cc5", "sha256": "6aaa17b12120a6edb77528bcda8a22ac3b60baf8f7639aca68ba9bb8fa272cc4" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c688836c2810942b577c4df7e8761cc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5311, "upload_time": "2013-08-19T12:18:48", "url": "https://files.pythonhosted.org/packages/de/9f/db54527ccb54a04506ffc30e33247cdfbc9b1ffd70642b82b803aa5eb005/Flask-CuddlyRest-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "64613796d59d49db6ec280c3b6f7390c", "sha256": "0ad79331947c16babd6667712db85a3d657afb9f4b48ce8ca1f3f59cb584503a" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.4.tar.gz", "has_sig": false, "md5_digest": "64613796d59d49db6ec280c3b6f7390c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5610, "upload_time": "2013-08-20T13:34:05", "url": "https://files.pythonhosted.org/packages/19/45/9b7ca312ced326505a0b58a2c62e38e0730934219ac2a1c73fb0b1f02be5/Flask-CuddlyRest-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "45b1ba68ced98b0de61e0d2673fed882", "sha256": "84183b9a07c9a5d936778fc4f799545647df89944ab6aec7bb44b03b66fb1386" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.5.tar.gz", "has_sig": false, "md5_digest": "45b1ba68ced98b0de61e0d2673fed882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5708, "upload_time": "2013-08-20T16:02:30", "url": "https://files.pythonhosted.org/packages/38/d0/807267c9c2384e699f9f2a1bab8c72f96cf2a19185ce8bbd8d4fe444f1a7/Flask-CuddlyRest-0.1.5.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "bd5f0a45f7c2f340cacff5954347a7fb", "sha256": "68011b03f51c1daca35070d4e8e5e637f6ecdfb9eab507ee6370c712aead0c88" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.9.tar.gz", "has_sig": false, "md5_digest": "bd5f0a45f7c2f340cacff5954347a7fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10986, "upload_time": "2013-09-11T16:10:26", "url": "https://files.pythonhosted.org/packages/d6/23/d3a101448fef261725a43496f87dfafa78a86bd9e6d07a295496952ccf89/Flask-CuddlyRest-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "faa19b990d36a9c013d8682d88cf392f", "sha256": "b7da20a407defe257c08c336e23b49476f1056ef534fa46f66446dc744478b09" }, "downloads": -1, "filename": "Flask-CuddlyRest-0.1.15.tar.gz", "has_sig": false, "md5_digest": "faa19b990d36a9c013d8682d88cf392f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11070, "upload_time": "2015-03-04T16:44:55", "url": "https://files.pythonhosted.org/packages/15/8c/436acabbde7c7e202d77a957ea2ca41f875975b9981c4e7c1747f147b2e5/Flask-CuddlyRest-0.1.15.tar.gz" } ] }