{ "info": { "author": "cs91chris", "author_email": "cs91chris@voidbrain.me", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Flask-ResponseBuilder\n=====================\n\nImplementations of flask response in many formats: base64, csv, json, xml, html, yaml.\nYou can create your own builder extending ``Builder`` class and registering it with ``register_builder`` method.\n\nEvery builders are registered as attribute of ``ResponseBuilder`` class so you can invoke method from this class\nwith builder's name and it automatically create a response with that builder.\n\nAlso you can used ``Builder`` without response by invoking static methods: ``to_me``, ``to_dict``.\n\nBased on PyYAML, xmltodict, dicttoxml. See their documentation for other options.\n\n- Decorator for http response status ``204 NO_CONTENT``\n- Response based on ``Accept`` header of request\n- Response based on format parameter (query string)\n- template_or_json: response based on xhr request (deprecated: works only with old js library)\n- Support for case notation checker and converter, see ``Case`` utility class.\n- ``Transformer``: utility class for data notation conversion\n\nQuickstart\n~~~~~~~~~~\n\nInstall ``flask_response_builder`` using ``pip``:\n\n::\n\n $ pip install Flask-ResponseBuilder\n\nThen import it into your project:\n\n::\n\n $ from flask_response_builder import ResponseBuilder\n\n\n.. _section-1:\n\nExample usage\n^^^^^^^^^^^^^\n\n.. code:: python\n\n app = Flask(__name__)\n app.config['RB_HTML_DEFAULT_TEMPLATE'] = 'response.html'\n rb = ResponseBuilder(app)\n\n @app.route('/nocontent')\n @rb.no_content\n def nocontent():\n pass\n\n @app.route('/xhr')\n @rb.template_or_json('response.html')\n def test_xhr():\n return data\n\n @app.route('/onaccept')\n @rb.on_accept(acceptable=['application/json', 'application/xml'])\n def test_accept():\n return data\n\n @app.route('/format')\n @rb.on_format()\n def test_format():\n return data\n\n @app.route('/decorator')\n @rb.response('json')\n def test_decorator():\n return data, 200, {'header': 'header'}\n\n\nFor advanced example usage see ``test.py`` file.\n\n.. _section-2:\n\nConfiguration\n^^^^^^^^^^^^^\n\n 1. ``RB_DEFAULT_RESPONSE_FORMAT``: *(default: 'application/json')*\n 2. ``RB_DEFAULT_ACCEPTABLE_MIMETYPES``: *(default: a list of all supported mimetypes)*\n 3. ``RB_DEFAULT_ENCODE``: *(default: 'utf-8')*\n 4. ``RB_DEFAULT_DUMP_INDENT``: *(default: None)*\n 5. ``RB_FORMAT_KEY``: *(default: 'format')*\n 6. ``RB_BASE64_ALTCHARS``: *(default: None)*\n 7. ``RB_HTML_DEFAULT_TEMPLATE``: *(default: None)*\n 8. ``RB_HTML_AS_TABLE``: *(default: True)*\n 9. ``RB_YAML_ALLOW_UNICODE``: *(default: True)*\n 10. ``RB_CSV_DEFAULT_NAME``: *(default: 'filename')*\n 11. ``RB_CSV_DELIMITER``: *(default: ';')*\n 12. ``RB_CSV_QUOTING_CHAR``: *(default: '\"')*\n 13. ``RB_CSV_DIALECT``: *(default: 'excel-tab')*\n 14. ``RB_XML_CDATA``: *(default: False)*\n 15. ``RB_XML_ROOT``: *(default: 'ROOT')*\n 16. ``RB_FLATTEN_PREFIX``: *(default: '')*\n 17. ``RB_FLATTEN_SEPARATOR``: *(default: '_')*\n\n\nLicense MIT\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cs91chris/flask_response_builder", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Flask-ResponseBuilder", "package_url": "https://pypi.org/project/Flask-ResponseBuilder/", "platform": "any", "project_url": "https://pypi.org/project/Flask-ResponseBuilder/", "project_urls": { "Homepage": "https://github.com/cs91chris/flask_response_builder" }, "release_url": "https://pypi.org/project/Flask-ResponseBuilder/2.0.4/", "requires_dist": [ "Flask (==1.0.2)", "PyYAML (==5.1)", "xmltodict (==0.12.0)", "dicttoxml (==1.7.4)" ], "requires_python": "", "summary": "Implementations of flask response in many format notation", "version": "2.0.4" }, "last_serial": 5407091, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d265042a84fe90611f85c4039c83ac3c", "sha256": "46b2939a79a8729ac0595d8052660ee5ac8b562f5ee9b23a2a1c645c00b55a5a" }, "downloads": -1, "filename": "Flask_ResponseBuilder-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d265042a84fe90611f85c4039c83ac3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6942, "upload_time": "2019-01-16T00:23:24", "url": "https://files.pythonhosted.org/packages/01/52/6cb1767c960591add46ce1c44b41920b6ed8236d8d390f7442bcf700a85d/Flask_ResponseBuilder-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "649c2e8da5bb44bf2a158a1d5a0aa8f8", "sha256": "4e879aa2d120178d41eebd73437ddf6fd5c89dd4bb1f583d88c5f405a6c04f80" }, "downloads": -1, "filename": "Flask-ResponseBuilder-0.0.1.tar.gz", "has_sig": false, "md5_digest": "649c2e8da5bb44bf2a158a1d5a0aa8f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4625, "upload_time": "2019-01-16T00:23:26", "url": "https://files.pythonhosted.org/packages/3c/25/ef16de7e36461d8bdceb07f54f68e6d78104e99fa450346ec2c841629452/Flask-ResponseBuilder-0.0.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "f2ecca8f77630c4d3f506f7c4669ffa5", "sha256": "74d41ddad7d511a7782489c8eecbbe0cc14e8e37363927bab553165cb775874e" }, "downloads": -1, "filename": "Flask_ResponseBuilder-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f2ecca8f77630c4d3f506f7c4669ffa5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7228, "upload_time": "2019-04-02T15:16:42", "url": "https://files.pythonhosted.org/packages/4c/b7/7154f47ceda06606610a0264424a127cd464f9fed5ddf66a4694f925b172/Flask_ResponseBuilder-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f64cfdf86db846ebf280bd0c712a0a48", "sha256": "906034ae898bd0608f2806714f8c5a5a46516b5a3713861b4736f5e888625967" }, "downloads": -1, "filename": "Flask-ResponseBuilder-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f64cfdf86db846ebf280bd0c712a0a48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4903, "upload_time": "2019-04-02T15:16:43", "url": "https://files.pythonhosted.org/packages/3e/1e/bf704a7665c14715fca8bb87de2d88a467858868ef9574819ae5d10361e2/Flask-ResponseBuilder-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "ae151f976d6592107fdfc02f9c11ac69", "sha256": "1cdd0a991d01a3378c8ff40375e5493ef79e9b0cc509cf0251d7c6e762fe8bf2" }, "downloads": -1, "filename": "Flask_ResponseBuilder-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ae151f976d6592107fdfc02f9c11ac69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7810, "upload_time": "2019-04-05T16:44:29", "url": "https://files.pythonhosted.org/packages/2e/1e/f2dd41e29498780dcffd08734e7432736fd4d5373a8e2a8e4ed5dbfb04ca/Flask_ResponseBuilder-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0737c6690b15de405f17cbfd214e6b5", "sha256": "d310886f4ba4de05917c22fe9bda59faa956941a16bdcbe204e5c21f3b2e5986" }, "downloads": -1, "filename": "Flask-ResponseBuilder-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c0737c6690b15de405f17cbfd214e6b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5207, "upload_time": "2019-04-05T16:44:32", "url": "https://files.pythonhosted.org/packages/43/df/dd872c1a63153f67a3a40f1ae79c3d8a0963652c6912488aa5a69ec3c151/Flask-ResponseBuilder-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "0f38a48accc219324c32c96c7acbb08c", "sha256": "ddd95e0e8de1c6bff1f08558ee71515b086a30b06b1fc5140648887b9560c214" }, "downloads": -1, "filename": "Flask_ResponseBuilder-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0f38a48accc219324c32c96c7acbb08c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8093, "upload_time": "2019-04-13T19:42:07", "url": "https://files.pythonhosted.org/packages/3f/9a/0224a250cd870d71b9efe2bc6d29d4873056a6d919f6c22fd8ee5b752b5a/Flask_ResponseBuilder-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e25789a0b5e59b6e267d9cc3278ac794", "sha256": "064c5a0a3255dcc2f2a234009258b17389941ec255e5890ff6951ce1c1607266" }, "downloads": -1, "filename": "Flask-ResponseBuilder-1.1.1.tar.gz", "has_sig": false, "md5_digest": "e25789a0b5e59b6e267d9cc3278ac794", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5396, "upload_time": "2019-04-13T19:42:09", "url": "https://files.pythonhosted.org/packages/ae/be/ee76cbb0400d8921866758f66275284945224f9e29627cf866c3283828f0/Flask-ResponseBuilder-1.1.1.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "dd0aca735239d79ca476d680b550effd", "sha256": "078dfe376b8d417ceba21ecc83635955f4433f5fc4959d1098f57b8ff40727c3" }, "downloads": -1, "filename": "Flask_ResponseBuilder-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dd0aca735239d79ca476d680b550effd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9396, "upload_time": "2019-05-03T22:18:09", "url": "https://files.pythonhosted.org/packages/b1/3f/8ef7b7b4393a80838cf2af09133e7749104b6c2d8d2d4d9fc7879e58eeb5/Flask_ResponseBuilder-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26fb5c366dba15f43818f2acd9e2b54f", "sha256": "01f687b367a5ef383c3d69af6390c274a349f50f46fba7f5be55aab2517ec5ff" }, "downloads": -1, "filename": "Flask-ResponseBuilder-1.2.1.tar.gz", "has_sig": false, "md5_digest": "26fb5c366dba15f43818f2acd9e2b54f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6928, "upload_time": "2019-05-03T22:18:11", "url": "https://files.pythonhosted.org/packages/94/86/d2957d64b56ffa7eaea6395ac672db099ff594796d513313c148dcc628fa/Flask-ResponseBuilder-1.2.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "8c07cac232328ad21a1f233c68e9ef43", "sha256": "2fcaeff11d2ab5e4dd0ff2887fede87f0d0ff051297b0a388d28b05bb15489d2" }, "downloads": -1, "filename": "Flask_ResponseBuilder-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8c07cac232328ad21a1f233c68e9ef43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12433, "upload_time": "2019-05-06T20:49:37", "url": "https://files.pythonhosted.org/packages/c6/b5/a198ce9f74e3d762b8fbbdb99b2c0a2a17bf0a54e91db3bd507593003867/Flask_ResponseBuilder-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "895c886b37b1379e556d28efb333e25e", "sha256": "9146e01abbbc909b90f2d0ef764b9534af5ed1f0922aa1eec18db271a25a23b4" }, "downloads": -1, "filename": "Flask-ResponseBuilder-2.0.0.tar.gz", "has_sig": false, "md5_digest": "895c886b37b1379e556d28efb333e25e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5840, "upload_time": "2019-05-06T20:49:38", "url": "https://files.pythonhosted.org/packages/a4/28/40ca800df92b604bf0280ddcf7e01a74d80459e85afb2c68cb3f48e860c1/Flask-ResponseBuilder-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "0c6e504d5cefe36096f5bc419afcd376", "sha256": "b8fe46430e2711293b8d50e02f743e3be8464c1e8ba9879a1527dc0c85f5cfa7" }, "downloads": -1, "filename": "Flask_ResponseBuilder-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0c6e504d5cefe36096f5bc419afcd376", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18011, "upload_time": "2019-05-07T12:50:57", "url": "https://files.pythonhosted.org/packages/b2/8c/3fef289a01b964b4f9d17703e81248b1b4d4df88cf18a61cd16770cbf6af/Flask_ResponseBuilder-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d6582db9bbd9a49b3a4df60d22cbc59", "sha256": "9de8dd831afc6ad18d3e5ed959675ee0feb78a6a03e4015d47e5bc5a0791da01" }, "downloads": -1, "filename": "Flask-ResponseBuilder-2.0.1.tar.gz", "has_sig": false, "md5_digest": "1d6582db9bbd9a49b3a4df60d22cbc59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9562, "upload_time": "2019-05-07T12:50:59", "url": "https://files.pythonhosted.org/packages/67/3d/c1f9d6e291ce5f20d60b2e1c3eea6ef501bc8b7a0ab9026e018a983cbc30/Flask-ResponseBuilder-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "d69de96a7ac9c49954bcaac88366510d", "sha256": "2c5171a0dd78e15f8f52e522a978dc18b8a9ef386078d8997f3e71c017005c66" }, "downloads": -1, "filename": "Flask_ResponseBuilder-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d69de96a7ac9c49954bcaac88366510d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20941, "upload_time": "2019-05-26T21:53:28", "url": "https://files.pythonhosted.org/packages/11/7c/700db929d2daf297df5ea80c1d8e0631c913bc37e20d98571f0145d22787/Flask_ResponseBuilder-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "152bb9d33b24e9242eb9227e23f53b4d", "sha256": "358ba75b395a96504e320ebe33a372a759ee61a3ad659b125b047f3a54778b70" }, "downloads": -1, "filename": "Flask-ResponseBuilder-2.0.2.tar.gz", "has_sig": false, "md5_digest": "152bb9d33b24e9242eb9227e23f53b4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12003, "upload_time": "2019-05-26T21:53:29", "url": "https://files.pythonhosted.org/packages/32/a7/0206620e1a69182c58ea2970452d9880a2c51fd79ca3ddf96839431166cb/Flask-ResponseBuilder-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "6f8f63677d4c6f117aca61d17fbc7d16", "sha256": "9bcf903848c3d1be3f8b7d9c96f51c25a5e97775aecf920ad10baf02cd4d9faa" }, "downloads": -1, "filename": "Flask_ResponseBuilder-2.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "6f8f63677d4c6f117aca61d17fbc7d16", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21012, "upload_time": "2019-06-04T23:16:43", "url": "https://files.pythonhosted.org/packages/63/b7/f31fecbb31053f5c6e9d846fd3872bdaa1bb56b2e8ca69a0d5fd0057d7fa/Flask_ResponseBuilder-2.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01997c33f87330bcc12b203db9acdf19", "sha256": "b25d65604de9497bea53be43c02672abbcac0d6b46869a4500294ab23039930b" }, "downloads": -1, "filename": "Flask-ResponseBuilder-2.0.3.tar.gz", "has_sig": false, "md5_digest": "01997c33f87330bcc12b203db9acdf19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12077, "upload_time": "2019-06-04T23:16:45", "url": "https://files.pythonhosted.org/packages/24/f0/0dd33e0d62542f84b722e3c4a737910725b9a7481854a2519a0cb1cbc669/Flask-ResponseBuilder-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "69fc556ff3d468db530cd0ee31c574ef", "sha256": "b56677e5202df9d589f23d7b51bd180b1e99c628ce5a188c8cae40c483621bbe" }, "downloads": -1, "filename": "Flask_ResponseBuilder-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "69fc556ff3d468db530cd0ee31c574ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21539, "upload_time": "2019-06-16T17:47:46", "url": "https://files.pythonhosted.org/packages/b0/a6/f47b5bd4916a67bedef14bc77bfbbe6e728933dcba9400e05cee16006226/Flask_ResponseBuilder-2.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b694b098adde56277f234bfee1854928", "sha256": "45ddacf8774efa19663683f214e536f70e42c7f2c6021d5e0dd38158849acc01" }, "downloads": -1, "filename": "Flask-ResponseBuilder-2.0.4.tar.gz", "has_sig": false, "md5_digest": "b694b098adde56277f234bfee1854928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12295, "upload_time": "2019-06-16T17:47:49", "url": "https://files.pythonhosted.org/packages/bf/b8/f8d92be562b43ad25bf4829be2b61694954711af3df1ec7885e197d32304/Flask-ResponseBuilder-2.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "69fc556ff3d468db530cd0ee31c574ef", "sha256": "b56677e5202df9d589f23d7b51bd180b1e99c628ce5a188c8cae40c483621bbe" }, "downloads": -1, "filename": "Flask_ResponseBuilder-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "69fc556ff3d468db530cd0ee31c574ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21539, "upload_time": "2019-06-16T17:47:46", "url": "https://files.pythonhosted.org/packages/b0/a6/f47b5bd4916a67bedef14bc77bfbbe6e728933dcba9400e05cee16006226/Flask_ResponseBuilder-2.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b694b098adde56277f234bfee1854928", "sha256": "45ddacf8774efa19663683f214e536f70e42c7f2c6021d5e0dd38158849acc01" }, "downloads": -1, "filename": "Flask-ResponseBuilder-2.0.4.tar.gz", "has_sig": false, "md5_digest": "b694b098adde56277f234bfee1854928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12295, "upload_time": "2019-06-16T17:47:49", "url": "https://files.pythonhosted.org/packages/bf/b8/f8d92be562b43ad25bf4829be2b61694954711af3df1ec7885e197d32304/Flask-ResponseBuilder-2.0.4.tar.gz" } ] }