{ "info": { "author": "left-join", "author_email": "left-join@riseup.net", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# flask-restive-mongodb\nFlask-RESTive extension to work with mongodb.\n\n[![Build Status](https://travis-ci.org/left-join/flask-restive-mongodb.svg?branch=master)](https://travis-ci.org/left-join/flask-restive-mongodb)\n[![Coverage Status](https://coveralls.io/repos/github/left-join/flask-restive-mongodb/badge.svg?branch=master)](https://coveralls.io/github/left-join/flask-restive-mongodb?branch=master)\n[![Code Health](https://landscape.io/github/left-join/flask-restive-mongodb/master/landscape.svg?style=flat)](https://landscape.io/github/left-join/flask-restive-mongodb/master)\n[![PyPI Version](https://img.shields.io/pypi/v/Flask-RESTive-MongoDB.svg)](https://pypi.python.org/pypi/Flask-RESTive-MongoDB)\n\n\n## Installation\n\n```bash\npip install flask-restive-mongodb\n```\n\n## How to use\n\n```python\nfrom datetime import datetime\n\nimport mongoengine as me\nfrom flask import Flask\nfrom flask_restive import Api, StorageResource, UUIDSchema, fields\nfrom marshmallow import pre_load\nfrom flask_restive_mongodb import Model, Storage\n\n\napp = Flask(__name__)\n\napp.config['MONGODB_DATABASE_URI'] = 'mongodb://localhost/local'\n\n\ndef utc_time():\n return datetime.utcnow().replace(microsecond=0)\n\n\nclass ClientSchema(UUIDSchema):\n first_name = fields.String(required=True)\n last_name = fields.String(required=True)\n created_on = fields.DateTime(\n required=True,\n missing=lambda: utc_time().isoformat())\n updated_on = fields.DateTime()\n\n class Meta(UUIDSchema.Meta):\n sortable_fields = ('id', 'created_on', 'updated_on')\n default_sorting = ('-updated_on', '-created_on', 'id')\n\n @pre_load(pass_many=False)\n def set_updated_on(self, data):\n # update time stamp on each create/update operation\n data['updated_on'] = utc_time().isoformat()\n return data\n\n\nclass ClientModel(Model):\n id = me.fields.UUIDField(primary_key=True)\n first_name = me.fields.StringField()\n last_name = me.fields.StringField()\n created_on = me.fields.DateTimeField()\n updated_on = me.fields.DateTimeField()\n\n\nclass ClientStorage(Storage):\n\n class Meta(Storage.Meta):\n model_cls = ClientModel\n primary_key_fields = ('id',)\n\n\nclass ClientResource(StorageResource):\n data_schema_cls = ClientSchema\n storage_cls = ClientStorage\n\n\napi = Api(app, prefix='/api/v1', api_resources=[\n (ClientResource, ('/clients', '/clients/')),\n])\n\n\nif __name__ == '__main__':\n app.run(host='0.0.0.0', port=5000)\n\n```\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/left-join/flask-restive-mongodb.git", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/left-join/flask-restive-mongodb", "keywords": "Flask-RESTive,MongoDB", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Flask-RESTive-MongoDB", "package_url": "https://pypi.org/project/Flask-RESTive-MongoDB/", "platform": "any", "project_url": "https://pypi.org/project/Flask-RESTive-MongoDB/", "project_urls": { "Download": "https://github.com/left-join/flask-restive-mongodb.git", "Homepage": "https://github.com/left-join/flask-restive-mongodb" }, "release_url": "https://pypi.org/project/Flask-RESTive-MongoDB/0.0.1/", "requires_dist": [ "flask-restive (>=0.0.3)", "pymongo (>=3.5.1)", "mongoengine (>=0.13.0)" ], "requires_python": "", "summary": "Flask-RESTive extension to work with MongoDB.", "version": "0.0.1" }, "last_serial": 3181311, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "6cf73310a10dd3edb727c8340a70d22f", "sha256": "48008bdc7174d35bfb2509c5a1c8d1d34e4ec86a8549a29f832b62ea027a2d82" }, "downloads": -1, "filename": "Flask_RESTive_MongoDB-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6cf73310a10dd3edb727c8340a70d22f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8193, "upload_time": "2017-09-18T00:11:18", "url": "https://files.pythonhosted.org/packages/5d/a0/e711e2dcde67c15f97aeb1aa18d3d10919b874c9a0176bf0cb6f4aad33f4/Flask_RESTive_MongoDB-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa1506086a7f3c7cc6cb82d9d38fec0f", "sha256": "b46d443f3fd9c6a0f1879602a0699bf5524ad2f888b865764924140b18d68f2b" }, "downloads": -1, "filename": "Flask-RESTive-MongoDB-0.0.1.tar.gz", "has_sig": false, "md5_digest": "aa1506086a7f3c7cc6cb82d9d38fec0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5134, "upload_time": "2017-09-18T00:11:21", "url": "https://files.pythonhosted.org/packages/88/65/23b07e4dd4cfca2fc268fa44293b4ef3512a9b0b20c618c61282def5314d/Flask-RESTive-MongoDB-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6cf73310a10dd3edb727c8340a70d22f", "sha256": "48008bdc7174d35bfb2509c5a1c8d1d34e4ec86a8549a29f832b62ea027a2d82" }, "downloads": -1, "filename": "Flask_RESTive_MongoDB-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6cf73310a10dd3edb727c8340a70d22f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8193, "upload_time": "2017-09-18T00:11:18", "url": "https://files.pythonhosted.org/packages/5d/a0/e711e2dcde67c15f97aeb1aa18d3d10919b874c9a0176bf0cb6f4aad33f4/Flask_RESTive_MongoDB-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa1506086a7f3c7cc6cb82d9d38fec0f", "sha256": "b46d443f3fd9c6a0f1879602a0699bf5524ad2f888b865764924140b18d68f2b" }, "downloads": -1, "filename": "Flask-RESTive-MongoDB-0.0.1.tar.gz", "has_sig": false, "md5_digest": "aa1506086a7f3c7cc6cb82d9d38fec0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5134, "upload_time": "2017-09-18T00:11:21", "url": "https://files.pythonhosted.org/packages/88/65/23b07e4dd4cfca2fc268fa44293b4ef3512a9b0b20c618c61282def5314d/Flask-RESTive-MongoDB-0.0.1.tar.gz" } ] }