{ "info": { "author": "Dennis Durling", "author_email": "djdtahoe@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Flask", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "====================\nFlask-restful only version of orf/datatables with Flask-restless style filtering\n====================\n\nAdditional Functionality\n------------\nOne thing I needed to do so that this would support our needs internally is\nto support arbitrary join depth to be able to do search and sort functionality\non the results. With Orf's version, I was only able to order by or search on 2\nlevels deep of a query result. Now that level is arbitrary such that you can\nprovide a column on say a Subnet table that is associated with a location\nthrough relations like subnet.vlan.switch.rack.location and make the location name\nfilterable AND orderable with just \"vlan__switch__rack__location__name\"\n\nInstallation\n------------\n\nThe package is available on PyPI and is passing tests on Python 2.7, 3.3 and 3.4\nWorking on getting this on PyPI\n\n.. code-block:: bash\n\n pip install flask_datatables\n\nUsage\n-----\n\n\nThis is SUPER simple. In datatables I provide a function called get_resource that can be used to create a\ndatatables api endpoint with full flask-restless style filtering built in.\n\n\nAdditional data such as hyperlinks can be added via DataTable.add_data, which accepts a callable that is called for\neach instance. Check out the usage example below for more info.\n\n\nExample\n-------\n\n**models.py**\n\n.. code-block:: python\n\n class User(Base):\n __tablename__ = 'users'\n\n id = Column(Integer, primary_key=True)\n full_name = Column(Text)\n created_at = Column(DateTime, default=datetime.datetime.utcnow)\n\n\n\n class Address(Base):\n __tablename__ = 'addresses'\n\n id = Column(Integer, primary_key=True)\n description = Column(Text)\n user_id = Column(Integer, ForeignKey('users.id'))\n\n user = relationship(\"User\", backref=backref(\"address\", uselist=False))\n\n def __repr__(self):\n return \"{}\".format(self.description)\n\n\n**api.py**\n\n.. code-block:: python\n\n from model import Session, User, Address\n from datatables import *\n\n app = Flask(__name__)\n api = Api(app)\n # add User resource\n resource, path, endpoint = get_resource(Resource, User, Session, basepath=\"/\")\n api.add_resource(resource, path, endpoint=endpoint)\n\n # add Address resource\n resource, path, endpoint = get_resource(Resource, Address, Session, basepath=\"/\")\n api.add_resource(resource, path, endpoint=endpoint)\n\n if __name__ == '__main__':\n app.run(host='127.0.0.1', port=5001, debug=True)", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/tahoe/flask_datatables/tarball/0.6.15", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tahoe/flask_datatables/", "keywords": "datatables sqlalchemy flask", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "flask_datatables", "package_url": "https://pypi.org/project/flask_datatables/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/flask_datatables/", "project_urls": { "Download": "https://github.com/tahoe/flask_datatables/tarball/0.6.15", "Homepage": "https://github.com/tahoe/flask_datatables/" }, "release_url": "https://pypi.org/project/flask_datatables/0.6.17/", "requires_dist": null, "requires_python": null, "summary": "Integrates SQLAlchemy with DataTables (framework Flask)", "version": "0.6.17" }, "last_serial": 2867557, "releases": { "0.6.10": [ { "comment_text": "", "digests": { "md5": "6fd265d6da1839968ec2ec7896a8cb5e", "sha256": "a313ec0cfbce27a39d05f34c91f387f16d9b9727ddbf10bfcb490a0599ea6c0d" }, "downloads": -1, "filename": "flask_datatables-0.6.10-py2.7.egg", "has_sig": false, "md5_digest": "6fd265d6da1839968ec2ec7896a8cb5e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 47809, "upload_time": "2016-02-17T20:48:28", "url": "https://files.pythonhosted.org/packages/0c/57/e4e8fea1df6ce690d86754259c1ef45c03a9d7d83940ed18fe6bebd6e497/flask_datatables-0.6.10-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "45f91ddce403f034e09e224ac2088a9b", "sha256": "7ab39ea196560c917a3dcaffece80b1494ac91ff468901fc85f962a53c40ef35" }, "downloads": -1, "filename": "flask_datatables-0.6.10-py3.2.egg", "has_sig": false, "md5_digest": "45f91ddce403f034e09e224ac2088a9b", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 48528, "upload_time": "2016-02-17T20:50:00", "url": "https://files.pythonhosted.org/packages/40/45/014480a3eca39bd7aab7f759ca99198f8f7388ebd1046aa9ab7142ddf9b1/flask_datatables-0.6.10-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "1861885dc0cb0e04dbb5c32cfba42360", "sha256": "90337cce744718ea35e8fe9de29cfae8080a6b9f6bc724e8dcb6b467aaf8b00e" }, "downloads": -1, "filename": "flask_datatables-0.6.10-py3.3.egg", "has_sig": false, "md5_digest": "1861885dc0cb0e04dbb5c32cfba42360", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 49149, "upload_time": "2016-02-17T20:48:34", "url": "https://files.pythonhosted.org/packages/61/13/6f62d61b3d075b2dc5f6602036c62c0da3005d0e1928c9b98b7746d28467/flask_datatables-0.6.10-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "96918b14acf4506afc4b54beb0fd699e", "sha256": "fa6a9561aba8b1aeba828d4a2392f1bd5a94d51dbeaedc6add3694371ac64201" }, "downloads": -1, "filename": "flask_datatables-0.6.10-py3.4.egg", "has_sig": false, "md5_digest": "96918b14acf4506afc4b54beb0fd699e", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 48598, "upload_time": "2016-02-17T20:48:48", "url": "https://files.pythonhosted.org/packages/4f/1f/049dc8d378e72332364d6c9fc1717c36cd4040d7cc3d99800c45d703c217/flask_datatables-0.6.10-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "8af3b2fb7a82eb6996fa41930cb5ccb2", "sha256": "b3a8d51025a82d3e2c4bdacbc3c44f2a329879cbad77b53ea927e39f9b932af6" }, "downloads": -1, "filename": "flask_datatables-0.6.10-py3.5.egg", "has_sig": false, "md5_digest": "8af3b2fb7a82eb6996fa41930cb5ccb2", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 48487, "upload_time": "2016-02-17T20:48:43", "url": "https://files.pythonhosted.org/packages/af/61/0645a3582437afdd9be096974d19e1ac7e58c8a731bd5cc4900210e52d21/flask_datatables-0.6.10-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "80edfde9070a97897205ecda62253d60", "sha256": "98a7055fcbac3fe025c4832bbbc5dc6ba622f669757e5f1ff26381a330693daf" }, "downloads": -1, "filename": "flask_datatables-0.6.10.tar.gz", "has_sig": false, "md5_digest": "80edfde9070a97897205ecda62253d60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20716, "upload_time": "2016-02-17T20:48:32", "url": "https://files.pythonhosted.org/packages/68/42/fe80029b46a14eb83a3f3bcac3784442ce50336c6539efd375e194af4c81/flask_datatables-0.6.10.tar.gz" } ], "0.6.17": [ { "comment_text": "", "digests": { "md5": "7d92d4f52ea8933c55f8382c93dab415", "sha256": "0682299c379dc6181d41ebe03a658467c86ce61bfa70c9ce3eb5aba49fa9c45e" }, "downloads": -1, "filename": "flask_datatables-0.6.17.tar.gz", "has_sig": false, "md5_digest": "7d92d4f52ea8933c55f8382c93dab415", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21295, "upload_time": "2017-05-11T17:22:27", "url": "https://files.pythonhosted.org/packages/d1/46/a4f5217cc0faed122c8089d0e9f0b1810cbc30f1fefc9edb1d3db8bbdee6/flask_datatables-0.6.17.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "36aca3a3214bafd82060b10a1fed29f3", "sha256": "18769b39f635862b7e51de309e1f1f917bc43fe5e176a6c0b2e6d83e48fd1223" }, "downloads": -1, "filename": "flask_datatables-0.6.4.tar.gz", "has_sig": false, "md5_digest": "36aca3a3214bafd82060b10a1fed29f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20803, "upload_time": "2016-02-15T22:07:20", "url": "https://files.pythonhosted.org/packages/91/2f/098f60b01a8e8d17bb4f25868ed5dd6761a2a4aabe200ad3b39958f72853/flask_datatables-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "d9674be4aae39f3ef5a99b5aa8ac0c4e", "sha256": "153699b8a78bfd7bef78185af3d73666dfda315539cd0bf1f28ba7e845cf5c65" }, "downloads": -1, "filename": "flask_datatables-0.6.5-py2.7.egg", "has_sig": false, "md5_digest": "d9674be4aae39f3ef5a99b5aa8ac0c4e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 47570, "upload_time": "2016-02-16T03:57:00", "url": "https://files.pythonhosted.org/packages/00/d8/f2d427c9b779b3d84c4074cb3dc23eb458c670125258ed529bc6c09ca81f/flask_datatables-0.6.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "19096ce65fd45bbfd19c5ffec98d2b10", "sha256": "2526cb6130ba2f126f4eb66d3b7ceae4a9eca67610eba6ed3d62bcee346ed075" }, "downloads": -1, "filename": "flask_datatables-0.6.5-py3.2.egg", "has_sig": false, "md5_digest": "19096ce65fd45bbfd19c5ffec98d2b10", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 48270, "upload_time": "2016-02-16T03:58:36", "url": "https://files.pythonhosted.org/packages/73/20/181066e3fa8ecab8811c87d98f2f8609671f55705ad20d6bd66669522262/flask_datatables-0.6.5-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "8e490364970e24e1a451553228554c56", "sha256": "78f9825b04e0072d63918a57cf4c73991fc47301628d1e3b55cfcb6b8987217d" }, "downloads": -1, "filename": "flask_datatables-0.6.5-py3.3.egg", "has_sig": false, "md5_digest": "8e490364970e24e1a451553228554c56", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 48900, "upload_time": "2016-02-16T03:57:20", "url": "https://files.pythonhosted.org/packages/48/94/927f246b59812aab07671b61dd9a11115c0d49b52a15dadbaea77772749a/flask_datatables-0.6.5-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "eb44ba8f03f2f8292ba5f92b2e6361e6", "sha256": "b1a466070d568e7ef2575432dda2fe285d7abe1732badf90f2ddb57525b50712" }, "downloads": -1, "filename": "flask_datatables-0.6.5-py3.4.egg", "has_sig": false, "md5_digest": "eb44ba8f03f2f8292ba5f92b2e6361e6", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 48353, "upload_time": "2016-02-16T03:57:24", "url": "https://files.pythonhosted.org/packages/3d/94/ec29682b98333b970cbca10ec48c93a8459db8be4bcf6ad094eaec39a360/flask_datatables-0.6.5-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "05e8d1d89504d445160ad0eda80b1d0c", "sha256": "07ccb1da0facb2f1dd54460007e3ce2c8e7d1a81ed7b5ddc61beb193ff098be6" }, "downloads": -1, "filename": "flask_datatables-0.6.5-py3.5.egg", "has_sig": false, "md5_digest": "05e8d1d89504d445160ad0eda80b1d0c", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 48246, "upload_time": "2016-02-16T03:57:36", "url": "https://files.pythonhosted.org/packages/d2/d5/d5cf799dbc72bad496daacc779251d5c75e98da758543084797576a04802/flask_datatables-0.6.5-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "63646e2ac804bf0096878832bf3907a0", "sha256": "b7df597156b7a8728165588686719438a8d66ccd43aad29150a80c42bb432c89" }, "downloads": -1, "filename": "flask_datatables-0.6.5.tar.gz", "has_sig": false, "md5_digest": "63646e2ac804bf0096878832bf3907a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20630, "upload_time": "2016-02-16T03:57:07", "url": "https://files.pythonhosted.org/packages/c4/4b/9dc989894492e6d214a0656eab1375ff4d5b23279a22faf5a814d3f05fc0/flask_datatables-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "fd27cbf9e36c20db761b30cd29d1181b", "sha256": "f501e46569258c3b512b79f9d9e28cf53dbeeda22a85e0792603c80d85d18dcf" }, "downloads": -1, "filename": "flask_datatables-0.6.6-py2.7.egg", "has_sig": false, "md5_digest": "fd27cbf9e36c20db761b30cd29d1181b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 47561, "upload_time": "2016-02-16T19:44:02", "url": "https://files.pythonhosted.org/packages/9c/37/1265da7742e05175a90d89c49c619942a55a7c076a57a53475cc0e1a4408/flask_datatables-0.6.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "5f236c6d5e2e34bd54e5e92961697359", "sha256": "d39324e26502bf55aed781520d71e4e29745bf6a08b19d7e1bac83d6eb548b53" }, "downloads": -1, "filename": "flask_datatables-0.6.6-py3.2.egg", "has_sig": false, "md5_digest": "5f236c6d5e2e34bd54e5e92961697359", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 48259, "upload_time": "2016-02-16T19:45:43", "url": "https://files.pythonhosted.org/packages/3e/1c/09d58e197c840c86b85223cb9abe27b294970179452840b0bd1df664021d/flask_datatables-0.6.6-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "c33aaaccb949738f414e5927ec171c53", "sha256": "211b9d293a7d0339b9adeeba509df051d51ae0b3241f5494ffc439a715aee7b7" }, "downloads": -1, "filename": "flask_datatables-0.6.6-py3.3.egg", "has_sig": false, "md5_digest": "c33aaaccb949738f414e5927ec171c53", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 48896, "upload_time": "2016-02-16T19:48:16", "url": "https://files.pythonhosted.org/packages/5c/0d/83d84841621edad6d8ca02ec9c52792185eebeb16f7f864a08c62397ba4d/flask_datatables-0.6.6-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "19835f30c3820bc7a29ba4cae89d5a35", "sha256": "96d327b8ff306df8cf57a5b5f336ca85f1ed096c82f7ea5bd0765a43f5ae4ae0" }, "downloads": -1, "filename": "flask_datatables-0.6.6-py3.4.egg", "has_sig": false, "md5_digest": "19835f30c3820bc7a29ba4cae89d5a35", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 48344, "upload_time": "2016-02-16T19:44:21", "url": "https://files.pythonhosted.org/packages/19/07/44b374d468e7cc805f8072d4a26a26da8368943c87963f1d3192eb8b61b7/flask_datatables-0.6.6-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "06c07e0455d6fa34639083490d78233e", "sha256": "13361681093439001bd9008bc601d34bf13a70778d8ecd56b93e0e54c21f7cb4" }, "downloads": -1, "filename": "flask_datatables-0.6.6-py3.5.egg", "has_sig": false, "md5_digest": "06c07e0455d6fa34639083490d78233e", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 48241, "upload_time": "2016-02-16T19:44:30", "url": "https://files.pythonhosted.org/packages/37/2e/ff93c368ec32d933fe66d7266058a42f547de203307c0100de27a9dee0f6/flask_datatables-0.6.6-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "8871baa59a40036f8a7bd60b8722b9b8", "sha256": "c3a9802f35e4d87b5ec73f4717378a630390d9fdee56975b0e74cb6ef6158ccf" }, "downloads": -1, "filename": "flask_datatables-0.6.6.tar.gz", "has_sig": false, "md5_digest": "8871baa59a40036f8a7bd60b8722b9b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20623, "upload_time": "2016-02-16T19:44:12", "url": "https://files.pythonhosted.org/packages/0e/ff/8fa37d9b3d0336f9d554fb3145c138782f44632b0226bbacb335ca73ab82/flask_datatables-0.6.6.tar.gz" } ], "0.6.9": [ { "comment_text": "", "digests": { "md5": "97f7d33c5e175aa0774312c2a8576797", "sha256": "110ecbbf422e46097d84cfae436136018af3f82c6bfcf332eeab9756f6bb635b" }, "downloads": -1, "filename": "flask_datatables-0.6.9-py2.7.egg", "has_sig": false, "md5_digest": "97f7d33c5e175aa0774312c2a8576797", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 47853, "upload_time": "2016-02-17T19:57:53", "url": "https://files.pythonhosted.org/packages/e5/1e/254153d195a3469c2fbe900144ec4ffffc355923225540b42a9b0f08e7b2/flask_datatables-0.6.9-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "e6f4ca32b429dbd8a24912905860a8dc", "sha256": "69f6bff1697bf25a04fbc25ee0de87f8b8d7f6538b3df9ee099092d94baf0337" }, "downloads": -1, "filename": "flask_datatables-0.6.9-py3.2.egg", "has_sig": false, "md5_digest": "e6f4ca32b429dbd8a24912905860a8dc", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 48563, "upload_time": "2016-02-17T19:59:52", "url": "https://files.pythonhosted.org/packages/01/15/40882941b686010e216c93af052bfd5592387965c6898283b30753b95f56/flask_datatables-0.6.9-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "ffc06b898162e9e909774b4f2b137dfa", "sha256": "701ecdcbbe3460502cf05dcfd1392f99ee391abce9d04320ca8e94b280f0cd96" }, "downloads": -1, "filename": "flask_datatables-0.6.9-py3.3.egg", "has_sig": false, "md5_digest": "ffc06b898162e9e909774b4f2b137dfa", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 49193, "upload_time": "2016-02-17T19:58:16", "url": "https://files.pythonhosted.org/packages/fc/83/123a61e4c3e2f9c18ac77dd166c79d81f434eecbabfe24791a38a15fdad6/flask_datatables-0.6.9-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "2cd7bd5cc616531e9bb74e827cdb75d4", "sha256": "a42da7686f1330eb2ccdd99a44e0bc5f2ce4fbe0a50353c32da36de86a29b7a8" }, "downloads": -1, "filename": "flask_datatables-0.6.9-py3.4.egg", "has_sig": false, "md5_digest": "2cd7bd5cc616531e9bb74e827cdb75d4", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 48633, "upload_time": "2016-02-17T19:58:31", "url": "https://files.pythonhosted.org/packages/65/b6/d561b6bf29c287eb49950be228fa224a17f1b46f176402594ab9652a8557/flask_datatables-0.6.9-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "90cebb0545d4d7730558af74c5d53c5d", "sha256": "65637be5aa3a3782ae753a59deba844a948fcacde36c4c9e74e98a8286b60d25" }, "downloads": -1, "filename": "flask_datatables-0.6.9-py3.5.egg", "has_sig": false, "md5_digest": "90cebb0545d4d7730558af74c5d53c5d", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 48524, "upload_time": "2016-02-17T19:58:51", "url": "https://files.pythonhosted.org/packages/22/a1/dd37fad7e12ba4b8d3b7d1656c8a19e04ae593077a37089f98b6fed002c0/flask_datatables-0.6.9-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "6fa61d9f419d4e46fab07793bab8d7df", "sha256": "7e838c1a6ece1c1680d855f5ed680ec0321972e7393ab0ed0e880a1821f3f01a" }, "downloads": -1, "filename": "flask_datatables-0.6.9.tar.gz", "has_sig": false, "md5_digest": "6fa61d9f419d4e46fab07793bab8d7df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20735, "upload_time": "2016-02-17T19:57:58", "url": "https://files.pythonhosted.org/packages/1b/23/7f76bcbf49ab9a0604f8283f34b5ed821948472e5e2e98bb95128fe69a1b/flask_datatables-0.6.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7d92d4f52ea8933c55f8382c93dab415", "sha256": "0682299c379dc6181d41ebe03a658467c86ce61bfa70c9ce3eb5aba49fa9c45e" }, "downloads": -1, "filename": "flask_datatables-0.6.17.tar.gz", "has_sig": false, "md5_digest": "7d92d4f52ea8933c55f8382c93dab415", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21295, "upload_time": "2017-05-11T17:22:27", "url": "https://files.pythonhosted.org/packages/d1/46/a4f5217cc0faed122c8089d0e9f0b1810cbc30f1fefc9edb1d3db8bbdee6/flask_datatables-0.6.17.tar.gz" } ] }