{ "info": { "author": "jozo", "author_email": "hi@jozo.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3" ], "description": "# Django REST Framework JSON CamelCase\n\n[![Build Status](https://travis-ci.org/jozo/djangorestframework-camel-case2.svg?branch=master)](https://travis-ci.org/jozo/djangorestframework-camel-case2)\n[![PyPI](https://img.shields.io/pypi/v/djangorestframework-camel-case2.svg)](https://pypi.org/project/djangorestframework-camel-case2/)\n\nCamel case JSON support for Django REST framework.\n\n_Note: This is a replacement for\n[djangorestframework-camel-case](https://github.com/vbabiy/djangorestframework-camel-case)\nwhich seems currently unmaintained._\n\n## Installation\n\nAt the command line::\n```bash\n$ pip install djangorestframework-camel-case2\n```\n\nAdd the render and parser to your django settings file.\n\n```python\nREST_FRAMEWORK = {\n\n 'DEFAULT_RENDERER_CLASSES': (\n 'djangorestframework_camel_case2.render.CamelCaseJSONRenderer',\n # Any other renders\n ),\n\n 'DEFAULT_PARSER_CLASSES': (\n 'djangorestframework_camel_case2.parser.CamelCaseJSONParser',\n # Any other parsers\n ),\n}\n```\n\n## Swapping Renderer\n\nBy default the package uses `rest_framework.renderers.JSONRenderer`. If you want\nto use another renderer (the only possible alternative is\n`rest_framework.renderers.UnicodeJSONRenderer`, only available in DRF < 3.0), you must specify it in your django\nsettings file.\n\n```python\n# ...\nJSON_CAMEL_CASE = {\n 'RENDERER_CLASS': 'rest_framework.renderers.UnicodeJSONRenderer'\n}\n# ...\n```\n\n## Underscoreize Options\n\nAs raised in https://github.com/krasa/StringManipulation/issues/8#issuecomment-121203018\nthere are two conventions of snake case.\n\n```\n# Case 1 (Package default)\nv2Counter -> v_2_counter\nfooBar2 -> foo_bar_2\n\n# Case 2\nv2Counter -> v2_counter\nfooBar2 -> foo_bar2\n```\n\nBy default, the package uses the first case. To use the second case, specify it in your django settings file.\n\n```python\nREST_FRAMEWORK = {\n # ...\n 'JSON_UNDERSCOREIZE': {\n 'no_underscore_before_number': True,\n },\n # ...\n}\n```\n\nAlternatively, you can change this behavior on a class level by setting `json_underscoreize`:\n\n```python\nfrom djangorestframework_camel_case2.parser import CamelCaseJSONParser\nfrom rest_framework.generics import CreateAPIView\n\nclass NoUnderscoreBeforeNumberCamelCaseJSONParser(CamelCaseJSONParser):\n json_underscoreize = {'no_underscore_before_number': True}\n\nclass MyView(CreateAPIView):\n queryset = MyModel.objects.all()\n serializer_class = MySerializer\n parser_classes = (NoUnderscoreBeforeNumberCamelCaseJSONParser,)\n```\n\n## Running Tests\n\nTo run the current test suite, execute the following from the root of the project\n\n```bash\n$ python -m unittest discover\n```\n\n\n# Changelog\n\n## [Unreleased]\n\n## [0.2.4]\n- Added `json_underscoreize` to `CamelCaseJSONParser` as class attribute to support variables with and without an underscore before a number in the same project\n- Fixed import of six in combination with DRF 3.10\n\n## [0.2.3]\n## Fixed\n- Fixed missing CHANGELOG.md in package on pypi\n\n## [0.2.2]\n### Changed\n- Update README\n\n### Removed\n- Old README.rst and HISTORY.rst\n\n## [0.2.1]\n### Added\n- Support for generators and other iterables\n- JSON_UNDERSCOREIZE option to change behaviour of underscoize function\n\n### Changed\n- Changed name of the package and README\n\n## [0.1.0] - 2013-12-20\n- First release on PyPI.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fadawar/djangorestframework-camel-case2", "keywords": "djangorestframework_camel_case2", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "djangorestframework-camel-case2", "package_url": "https://pypi.org/project/djangorestframework-camel-case2/", "platform": "", "project_url": "https://pypi.org/project/djangorestframework-camel-case2/", "project_urls": { "Homepage": "https://github.com/fadawar/djangorestframework-camel-case2" }, "release_url": "https://pypi.org/project/djangorestframework-camel-case2/0.2.4/", "requires_dist": null, "requires_python": "", "summary": "Camel case JSON support for Django REST framework", "version": "0.2.4" }, "last_serial": 5574372, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "cda25b5e34cf04204259864ef7da5a13", "sha256": "a30eac103a0c5b9019224a8eccb5f455cfbb56e75ee18dccf6ce25af28b83f1c" }, "downloads": -1, "filename": "djangorestframework-camel-case2-0.2.1.tar.gz", "has_sig": false, "md5_digest": "cda25b5e34cf04204259864ef7da5a13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4911, "upload_time": "2018-09-25T08:39:12", "url": "https://files.pythonhosted.org/packages/68/77/ddd177421295f66e8b8a0b2175844f9582f82c93266058442f79cea7fc42/djangorestframework-camel-case2-0.2.1.tar.gz" } ], "0.2.1b0": [ { "comment_text": "", "digests": { "md5": "ed5edf08d8746fa26a3e2c9e6d8c8ae2", "sha256": "805faf6043c77ad392928a9173c38dc4df0470f8f43acff504a21cb5fd27ace4" }, "downloads": -1, "filename": "djangorestframework-camel-case2-0.2.1b0.tar.gz", "has_sig": false, "md5_digest": "ed5edf08d8746fa26a3e2c9e6d8c8ae2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4946, "upload_time": "2018-09-24T21:41:28", "url": "https://files.pythonhosted.org/packages/68/a7/3536a9ba1e0e3e0b66db426d5d2ee7296282ebb3f302cc7f1fc9e94f096a/djangorestframework-camel-case2-0.2.1b0.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "0e5901692bf5e8a1aecfda75b051efb0", "sha256": "91149ecd119631f7e9bead9ddd82e8144f8bb94a6991bbe7aefe8a96c84a18c9" }, "downloads": -1, "filename": "djangorestframework-camel-case2-0.2.2.tar.gz", "has_sig": false, "md5_digest": "0e5901692bf5e8a1aecfda75b051efb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3845, "upload_time": "2018-09-26T22:31:05", "url": "https://files.pythonhosted.org/packages/17/4d/12792428dddeb8daac1e33e112dd92f2ee9c499d89e49e90ac21cf2948af/djangorestframework-camel-case2-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "9ca67dfe2ff09ac7b8e136d9de700f52", "sha256": "5de6abb20f2d3f2840ce3556dad13c56625ec51e92ff97d8ef932f855aaf79a3" }, "downloads": -1, "filename": "djangorestframework-camel-case2-0.2.3.tar.gz", "has_sig": false, "md5_digest": "9ca67dfe2ff09ac7b8e136d9de700f52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4065, "upload_time": "2018-09-27T11:19:31", "url": "https://files.pythonhosted.org/packages/6b/5b/59453e2f82d71eb1ce0606f4047f1a324a5ad0bd1008214bd113ed64e691/djangorestframework-camel-case2-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "e0c247443c38eb57d8ae6ac665063b0f", "sha256": "153b80c42f7a40d789f9b149516adb8ff44ebe25491392c7027a2ee600b2b1b2" }, "downloads": -1, "filename": "djangorestframework_camel_case2-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e0c247443c38eb57d8ae6ac665063b0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6575, "upload_time": "2019-07-23T20:38:18", "url": "https://files.pythonhosted.org/packages/8e/e5/0761147f8f1ff5cc58a686c91e6df38d4ac65995ca890ab0df58b90cd605/djangorestframework_camel_case2-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca4921e2bd8e5d86f39b426aaafb66dc", "sha256": "3417182ad4274bf84d0ff27d10bf75e5218c4b32ab3e0f6df4d8aa2c686cf91b" }, "downloads": -1, "filename": "djangorestframework-camel-case2-0.2.4.tar.gz", "has_sig": false, "md5_digest": "ca4921e2bd8e5d86f39b426aaafb66dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4390, "upload_time": "2019-07-23T20:38:19", "url": "https://files.pythonhosted.org/packages/09/54/cccdede20b0a4796d5dff00182e1ecab55612ec2ac399b00fc82a222cab4/djangorestframework-camel-case2-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e0c247443c38eb57d8ae6ac665063b0f", "sha256": "153b80c42f7a40d789f9b149516adb8ff44ebe25491392c7027a2ee600b2b1b2" }, "downloads": -1, "filename": "djangorestframework_camel_case2-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e0c247443c38eb57d8ae6ac665063b0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6575, "upload_time": "2019-07-23T20:38:18", "url": "https://files.pythonhosted.org/packages/8e/e5/0761147f8f1ff5cc58a686c91e6df38d4ac65995ca890ab0df58b90cd605/djangorestframework_camel_case2-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca4921e2bd8e5d86f39b426aaafb66dc", "sha256": "3417182ad4274bf84d0ff27d10bf75e5218c4b32ab3e0f6df4d8aa2c686cf91b" }, "downloads": -1, "filename": "djangorestframework-camel-case2-0.2.4.tar.gz", "has_sig": false, "md5_digest": "ca4921e2bd8e5d86f39b426aaafb66dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4390, "upload_time": "2019-07-23T20:38:19", "url": "https://files.pythonhosted.org/packages/09/54/cccdede20b0a4796d5dff00182e1ecab55612ec2ac399b00fc82a222cab4/djangorestframework-camel-case2-0.2.4.tar.gz" } ] }