{
"info": {
"author": "Steven Cummings",
"author_email": "cummingscs@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy"
],
"description": ".. image:: https://badge.fury.io/py/drf-compound-fields.png\n :target: http://badge.fury.io/py/drf-compound-fields\n\n.. image:: https://travis-ci.org/estebistec/drf-compound-fields.png?branch=master\n :target: https://travis-ci.org/estebistec/drf-compound-fields\n\n.. image:: https://pypip.in/d/drf-compound-fields/badge.png\n :target: https://crate.io/packages/drf-compound-fields?version=latest\n\n.. image:: https://coveralls.io/repos/estebistec/drf-compound-fields/badge.png?branch=master\n :target: https://coveralls.io/r/estebistec/drf-compound-fields?branch=master\n :alt: Test coverage\n\nOverview\n========\n\n`Django-REST-framework `_\n`serializer fields `_ for compound types.\nDjango-REST-framework provides the ability to\n`deal with multiple objects `_\nusing the `many=True` option on serializers. That allows for lists of objects and for fields to be\nlists of objects.\n\nThis package expands on that and provides fields allowing:\n\n* Lists of simple (non-object) types, described by other serializer fields.\n* Fields that allow values to be a list or individual item of some type.\n* Dictionaries of simple and object types.\n* Partial dictionaries which include keys specified in a list.\n\nA quick example::\n\n from drf_compound_fields.fields import DictField\n from drf_compound_fields.fields import ListField\n from drf_compound_fields.fields import ListOrItemField\n from drf_compound_fields.fields import ListField\n from rest_framework import serializers\n\n class EmailContact(serializers.Serializer):\n email = serializers.EmailField()\n verified = serializers.BooleanField()\n\n class UserProfile(serializers.Serializer):\n username = serializers.CharField()\n email_contacts = EmailContact(many=True) # List of objects: possible with REST-framework alone\n # This is the new stuff:\n skills = ListField(serializers.CharField()) # E.g., [\"javascript\", \"python\", \"ruby\"]\n name = ListOrItemField(serializers.CharField()) # E.g., \"Prince\" or [\"John\", \"Smith\"]\n bookmarks = DictField(serializers.URLField()) # E.g., {\"./\": \"http://slashdot.org\"}\n measurements = PartialDictField(included_keys=['height', 'weight'], serializers.IntegerField())\n\nProject info\n============\n\n* Free software: BSD license\n* `Documentation `_\n* `Source code `_\n* `Issue tracker `_\n* `CI server `_\n* IRC: no channel but see AUTHORS for individual nicks on freenode.\n* Mailing list: None yet, but please log an `issue `_ if you want to have discussions about this package.\n\n\n\n\nHistory\n-------\n\n2.0.0 (2019-09-21)\n++++++++++++++++++\n* Deprecate Python 2 support\n* Fix #29\n\n1.0.0 (2016-02-29)\n++++++++++++++++++\n* Upgrade ListOrItemField and PartialDictField for django-rest-framework 3.0 and beyond\n* Remove ListField and DictField, as they now come with django-rest-framework\n\n0.2.2 (2014-08-10)\n++++++++++++++++++\n\nCorrect validation behaviors when fields are used in embedded serializers. Also correction to the\n`list` and `dict` type checks for `None` values (#15, #16, #18).\n\n* Implement `initialize` and `field_from_native` to ensure proper validation in embedded\n serializers.\n* Give the fields distinct `validate` and `run_validators` implementations that don't call each\n other.\n* Don't apply the `list` and `dict` type checks for `None` values.\n\n0.2.1 (2014-04-23)\n++++++++++++++++++\n\nLoosen dependency versions\n\n* Remove explicit dependency on Django\n* Loosen rest-framework to any version before 3\n\n0.2.0 (2014-03-16)\n++++++++++++++++++\n\n* Documentation (#3)\n* Collect messages of nested errors, instead of error objects (#12)\n* Add ListOrItemField type (#5, #11)\n* Fix PartialDictField validation and handling of badly-typed values\n* Switch project tests to py.test (#10)\n\n0.1.0 (2014-03-06)\n++++++++++++++++++\n\nFirst PyPI release of rest-framework serializer compound-fields (#1). Provides:\n\n* ListField (#4, #7)\n* DictField\n* PartialDictField (#8, #9)",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/estebistec/drf-compound-fields",
"keywords": "rest_framework rest apis services fields compound",
"license": "BSD",
"maintainer": "",
"maintainer_email": "",
"name": "drf-compound-fields",
"package_url": "https://pypi.org/project/drf-compound-fields/",
"platform": "",
"project_url": "https://pypi.org/project/drf-compound-fields/",
"project_urls": {
"Homepage": "https://github.com/estebistec/drf-compound-fields"
},
"release_url": "https://pypi.org/project/drf-compound-fields/2.0.0/",
"requires_dist": null,
"requires_python": "",
"summary": "Django-REST-framework serializer fields for compound types.",
"version": "2.0.0"
},
"last_serial": 5867571,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "60e9f650bcfdc1eef07dd0e46a9e0dd0",
"sha256": "bec18320a8ff3f2a25698d2ed6f6ff6753fdb0aae5a7a6663aa35229e00257d0"
},
"downloads": -1,
"filename": "drf-compound-fields-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "60e9f650bcfdc1eef07dd0e46a9e0dd0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6291,
"upload_time": "2014-03-07T02:51:15",
"url": "https://files.pythonhosted.org/packages/b5/df/7d4c209ea21a248ff5648e1728586781b680c9d89bd6af3a2c09749d5e99/drf-compound-fields-0.1.0.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "999168ac0303c4ea781da9cf47f841c1",
"sha256": "500af332d47911fb5d1e349e15963cd57e56c96d61eafa5d95607a008734abdc"
},
"downloads": -1,
"filename": "drf-compound-fields-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "999168ac0303c4ea781da9cf47f841c1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7014,
"upload_time": "2014-03-16T23:42:23",
"url": "https://files.pythonhosted.org/packages/fe/8a/13d6062c1eb4bea00d87135be80d826c09b1e808a9d49b89934a243fc469/drf-compound-fields-0.2.0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "cc6055a307a284260b9641c54dc6b3b1",
"sha256": "cd0032d7ebc86861a518a57d8f7f2b7e4db0181c15ecd440950e2276e118f6c4"
},
"downloads": -1,
"filename": "drf-compound-fields-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "cc6055a307a284260b9641c54dc6b3b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7014,
"upload_time": "2014-04-23T23:45:52",
"url": "https://files.pythonhosted.org/packages/06/b0/fea7d3377031b282c586c99d849aefe385e304564536b39dee5941ffbdeb/drf-compound-fields-0.2.1.tar.gz"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "4946ea1f8bca280a6eaad447c2592bb3",
"sha256": "cbf407eb96ca9895581f57a833d7f47ca89149ebfd0b5c76d0470f53631e8547"
},
"downloads": -1,
"filename": "drf-compound-fields-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "4946ea1f8bca280a6eaad447c2592bb3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7447,
"upload_time": "2014-08-11T00:19:55",
"url": "https://files.pythonhosted.org/packages/41/85/21c5c9ad7fb652ef7eb82860e9edb439efae6a579cdb5d8ac0db5f471952/drf-compound-fields-0.2.2.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "0f2a2c08d865b818c042b7c1f10786c1",
"sha256": "3801f8e7829136d8cedcfbe44534157cbeb718d20e1825145f2acc3cbc1018a1"
},
"downloads": -1,
"filename": "drf-compound-fields-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "0f2a2c08d865b818c042b7c1f10786c1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6762,
"upload_time": "2016-03-01T05:43:27",
"url": "https://files.pythonhosted.org/packages/8d/f1/c5f25754ae2bd384dc9dc1076b4be630b30bf58b746a98b6611c903023e7/drf-compound-fields-1.0.0.tar.gz"
}
],
"2.0.0": [
{
"comment_text": "",
"digests": {
"md5": "f1b21eb366e81b06ba7902cde0c4f84b",
"sha256": "12e8acf5b9971f4e3be0542174fd0728bc47e718bdd82f0f85daa9b83c1cc8c5"
},
"downloads": -1,
"filename": "drf-compound-fields-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "f1b21eb366e81b06ba7902cde0c4f84b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6715,
"upload_time": "2019-09-22T01:03:02",
"url": "https://files.pythonhosted.org/packages/5e/93/9296321434bb74b0c99ecd6c64b1e3171efeb8c19cdb11aa2543cf099195/drf-compound-fields-2.0.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "f1b21eb366e81b06ba7902cde0c4f84b",
"sha256": "12e8acf5b9971f4e3be0542174fd0728bc47e718bdd82f0f85daa9b83c1cc8c5"
},
"downloads": -1,
"filename": "drf-compound-fields-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "f1b21eb366e81b06ba7902cde0c4f84b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6715,
"upload_time": "2019-09-22T01:03:02",
"url": "https://files.pythonhosted.org/packages/5e/93/9296321434bb74b0c99ecd6c64b1e3171efeb8c19cdb11aa2543cf099195/drf-compound-fields-2.0.0.tar.gz"
}
]
}