{
"info": {
"author": "Marc Bourqui",
"author_email": "pypi.kemar@bourqui.org",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
"Framework :: Django :: 1.10",
"Framework :: Django :: 1.11",
"Framework :: Django :: 1.9",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Utilities"
],
"description": "|Python| |Django| |License| |PyPI| |Build Status| |Coverage Status|\n\nDjango-EChoices\n===============\n\nChoices for Django model fields as enumeration\n\nFeatures\n--------\n\n- Specialized `enum types <#enum>`__\n- Specialized `model fields <#modelfield>`__\n- Accessible in `templates <#templages>`__\n\nRequirements\n------------\n\n- `Python `__ >= 3.4\n- `Django `__ >= 1.9.13\n\nInstallation\n------------\n\nUsing `PyPI `__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n1. Run ``pip install django-echoices``.\n\nUsing the source code\n~~~~~~~~~~~~~~~~~~~~~\n\n1. Make sure ```pandoc`` `__ is installed\n2. Run ``./pypi_packager.sh``\n3. Run ``pip install dist/django_echoices-x.y.z-[...].wheel``, where\n ``x.y.z`` must be replaced by the actual version number and ``[...]``\n depends on your packaging configuration\n\nUsage\n-----\n\nEnumeration\n~~~~~~~~~~~\n\nFirst, define your choices enumeration (in your ``models.py`` for\nexample):\n\n::\n\n from echoices.enums import EChoice\n\n class EStates(EChoice):\n # format is: (value -> char or str or int, label -> str)\n CREATED = ('c', 'Created')\n SUBMITTED = ('s', 'Submitted')\n\nModel field\n~~~~~~~~~~~\n\nRegular model field\n^^^^^^^^^^^^^^^^^^^\n\nThen, either use a regular model field:\n\n::\n\n from django.db import models\n\n class MyModel(models.Model):\n state = models.CharField(max_length=EStates.max_value_length(),\n choices=EStates.choices(),\n default=EStates.CREATED.value)\n\n**Note**: If your value is an ``int``, you can use\n``models.IntegerField`` instead.\n\nSpecialized field\n^^^^^^^^^^^^^^^^^\n\nYou can also use specialized field. Using such a field, you will then\nonly handle ``Echoice`` instances.\n\n::\n\n from django.db import models\n from echoices.fields import make_echoicefield\n\n class MyModel(models.Model):\n # `max_length` is set automatically\n state = make_echoicefield(EStates, default=EStates.CREATED)\n\n**Note**: ``MyModel.state`` will be ``Estates`` instance stored in a\n``EStatesField`` field. See `documentation <#modelfield>`__ for more\ndetails.\n\n**WARNING**: requires special handling of migrations. Read more in the\n`doc <#migrations>`__.\n\nDerivation\n~~~~~~~~~~\n\nYou can add your own fields to the ``value`` and ``label`` ones. To do\nso, you have to override the **init**\\ () and your signature must look\nlike: ``self, value, label, *args`` where you replace ``*args`` with\nyour own positional arguments, as you would do when defining a custom\nEnum. Do *not* call the super().\\ **init**\\ (), as ``value`` and\n``label`` are already set internally by ``EChoice``.\n\nAs when dealing with a derived Enum, you can also add your own methods.\n\n::\n\n from echoices.enums import EChoice\n\n class EMyChoices(EChoice):\n \"\"\"Another variant of EChoice with additionnal content\"\"\"\n\n MY_CHOICE = (1, 'First choice', 'my additional value')\n\n def __init__(self, value, label, my_arg):\n self.my_arg = my_arg\n # Note: super().__init__() shall *not* be called!\n\n def show_myarg(self):\n \"\"\"Used as: EMyChoices.MY_CHOICE.show_myarg()\"\"\"\n print(self.my_arg)\n\n @classmethod\n def show_all(cls):\n \"\"\"Used as: EMyChoices.show_all()\"\"\"\n print(\", \".join([e.my_arg for e in list(cls)]))\n\nIn templates\n~~~~~~~~~~~~\n\nAssume a ``Context(dict(estates=myapp.models.EStates))`` is provided to\nthe following templates.\n\n- Fields of the ``EChoice`` can be accessed in the templates as:\n ``{{ estates.CREATED.value }} {{ estates.CREATED.label }}``\n\n- ``EChoice`` can also be enumerated:\n ``{% for state in estates %} {{ state.value }} {{ state.label }} {% endfor %}``\n\nShort documentation\n-------------------\n\nSpecialized enum types\n~~~~~~~~~~~~~~~~~~~~~~\n\n``enums.EChoice``\n^^^^^^^^^^^^^^^^^\n\nBase enum type. Each enum element is a tuple ``(value, label)``, where\n[t]he first element in each tuple is the actual value to be set on the\nmodel, and the second element is the human-readable name\u00a0\n\\ `doc `__\\ .\nValues **must** be unique. Can be derived for further customization.\n\n``enums.EOrderedChoice``\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nSupports ordering of elements. ``EOrderedChoice.choices()`` takes an\nextra optional argument, ``order``, which supports three values:\n'sorted', 'reverse' or 'natural' (default). If ``sorted``, the choices\nare ordered according to their value. If ``reverse``, the choices are\nordered according to their value as if each comparison were reversed. If\n``natural``, the order is the one used when instantiating the\nenumeration.\n\n``enums.EAutoChoice``\n^^^^^^^^^^^^^^^^^^^^^\n\nGenerates auto-incremented numeric values. It's then used like:\n\n::\n\n from echoices.enums import EAutoChoice\n\n class EStates(EAutoChoice):\n # format is: label -> str\n CREATED = 'Created'\n SUBMITTED = 'Submitted'\n\nAPI\n^^^\n\nOverriden EnumMeta methods\n''''''''''''''''''''''''''\n\n- ``EChoice.__getitem__()``, such that you can retrieve an ``EChoice``\n instance using ``EChoice['my_value']``\n\nAdditional classmethods\n'''''''''''''''''''''''\n\n- ``choices()`` generates the choices as expected by a Django model\n field\n- ``max_value_length()`` returns the max length for the Django model\n field, if the values are strings\n- ``values()`` returns a list of all the values\n- ``get(value, default=None)`` returns the EChoice instance having that\n value, else returns the default\n\nSpecialized model fields\n~~~~~~~~~~~~~~~~~~~~~~~~\n\n``fields.EChoiceField`` via ``fields.make_echoicefield()``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nDeal directly with the enum instances instead of their DB storage value.\nThe specialized field will be derived from a ``models.Field`` subclass,\nthe internal representation is deduced from the value type. So for\nexample if the values are strings, then the the ``EChoiceField`` will\nsubclass ``models.CharField``; and if the values are integers then it\nwill be ``models.IntegerField``. Actually supports ``str``, ``int``,\n``float`` and (non-null) ``bool`` as enum values.\n\n``make_echoicefield()`` will return an instance of ``EChoiceField``\nwhich subclasses a field type from ``models.CharField``. The exact name\nof the field type will be ``MyEnumNameField`` in Django >= 1.9, note the\nsuffixed 'Field'. For earlier versions of Django, it will be\n``EChoiceField``.\n\nThus, ``MyModel.my_echoice_field`` will be an ``EChoice`` instance\nstored in an ``EChoiceField`` field.\n\nMigrations\n''''''''''\n\nSince the field is generated with the help of a factory function, it\ndoes not exist as is as a field class in ``echoices.fields``. But, when\ngenerating a migration file, Django will set the class of the field as\nthe resulting class from ``make_echoicefield()``, which does not exist\nin ``echoices.fields``. This will cause the Django server to crash, as\nan\n``AttributeError: module 'echoices.fields' has no attribute 'MyEnumNameField'``\nexception will be raised.\n\nTo prevent this, you have to edit the migration file and replace the\ninstantiation of the non-existing class with a call to\n``make_echoicefield()``, with the same parameters as when defining the\nfield in your model.\n\nFor example, assume you have the following model defined in\n``models.py``:\n\n::\n\n from django.db import models\n from echoices.fields import make_echoicefield\n\n class MyModel(models.Model):\n state = make_echoicefield(EStates, default=EStates.CREATED)\n\nThen you would replace the generated field instantiation statement in\n``migrations/0001_initial.py``\n\n::\n\n migrations.CreateModel(\n name='MyModel',\n fields=[\n # Replace the statement below\n ('state', echoices.fields.EStatesField(\n echoices=app.models.EStates,\n default=app.models.EStates(1))\n ),\n ],\n\nwith\n\n::\n\n ('state', echoices.fields.make_echoicefield(\n echoices=app.models.EStates,\n default=app.models.EStates.CREATED)\n ),\n\n``fields.MultipleEChoiceField``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nSimilar to previous fields, but supports multiple values to be selected.\n`**Not yet implemented** <#3>`__.\n\nUsage in templates\n~~~~~~~~~~~~~~~~~~\n\nAssume a ``Context(dict(estates=myapp.models.EStates))`` is provided to\nthe following templates.\n\n- Fields of the ``EChoice`` can be accessed in the templates as:\n ``{{ estates.CREATED.value }} {{ estates.CREATED.label }}``\n\n- ``EChoice`` can also be enumerated:\n ``{% for state in estates %} {{ state.value }} {{ state.label }} {% endfor %}``\n\n.. |Python| image:: https://img.shields.io/badge/Python-3.4,3.5,3.6-blue.svg?style=flat-square\n :target: /\n.. |Django| image:: https://img.shields.io/badge/Django-1.9,1.10,1.11-blue.svg?style=flat-square\n :target: /\n.. |License| image:: https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat-square\n :target: /LICENSE\n.. |PyPI| image:: https://img.shields.io/pypi/v/django_echoices.svg?style=flat-square\n :target: https://pypi.python.org/pypi/django-echoices\n.. |Build Status| image:: https://travis-ci.org/mbourqui/django-echoices.svg?branch=master\n :target: https://travis-ci.org/mbourqui/django-echoices\n.. |Coverage Status| image:: https://coveralls.io/repos/github/mbourqui/django-echoices/badge.svg?branch=master\n :target: https://coveralls.io/github/mbourqui/django-echoices?branch=master\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "https://github.com/mbourqui/django-echoices/releases/tag/v2.6.0",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/mbourqui/django-echoices/",
"keywords": "django choices models enum",
"license": "GNU GPLv3",
"maintainer": "",
"maintainer_email": "",
"name": "django-echoices",
"package_url": "https://pypi.org/project/django-echoices/",
"platform": "",
"project_url": "https://pypi.org/project/django-echoices/",
"project_urls": {
"Download": "https://github.com/mbourqui/django-echoices/releases/tag/v2.6.0",
"Homepage": "https://github.com/mbourqui/django-echoices/"
},
"release_url": "https://pypi.org/project/django-echoices/2.6.0/",
"requires_dist": [
"django (>=1.9)"
],
"requires_python": "",
"summary": "Choices for Django model fields as enumeration",
"version": "2.6.0"
},
"last_serial": 3925941,
"releases": {
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "8464f9041560d87b79452ca5267bfbed",
"sha256": "0dbb5835720966993cba0fc23e109f317a294a48721b9ffee856c82faee75336"
},
"downloads": -1,
"filename": "django_echoices-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8464f9041560d87b79452ca5267bfbed",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15081,
"upload_time": "2017-05-17T15:09:30",
"url": "https://files.pythonhosted.org/packages/38/da/768f969d5e37920d12df7df6e56f3b28fafa27bea8d0fc6fea55a3e292ff/django_echoices-1.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f6a7a10c2464c4ae1a32661ffb3cb063",
"sha256": "615e4e360a9acc256a678a84012a4540575527aff9f1256058833d1285885873"
},
"downloads": -1,
"filename": "django-echoices-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "f6a7a10c2464c4ae1a32661ffb3cb063",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23503,
"upload_time": "2017-05-17T15:09:32",
"url": "https://files.pythonhosted.org/packages/87/d9/56a72d83760d4beb222123284ceceea058ca2da5f5dd31597b952c777f58/django-echoices-1.0.0.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "61f1ac9d2f79a4f6748b17dca078c1bc",
"sha256": "5d86ce4d7f19b0be6ffca6cd0d6288f6d729b37dccf2bf822da7c23fb155c6ad"
},
"downloads": -1,
"filename": "django_echoices-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "61f1ac9d2f79a4f6748b17dca078c1bc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 16135,
"upload_time": "2017-05-18T12:05:53",
"url": "https://files.pythonhosted.org/packages/a6/0b/81047f6b39885f45ba7a519b20a05b345cf3607039b3244b6b02a7ba9b77/django_echoices-1.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "22d3c8b762398ca4c66376259670fb1a",
"sha256": "1c228d8bef32ae1904ce037ec301091db099366bfab0d27d10a617cdb84998b8"
},
"downloads": -1,
"filename": "django-echoices-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "22d3c8b762398ca4c66376259670fb1a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 24615,
"upload_time": "2017-05-18T12:05:55",
"url": "https://files.pythonhosted.org/packages/fe/5d/e2fd1efcdf068711d95517d29d680f2656dcc5407faabba310b20f8b65c5/django-echoices-1.1.0.tar.gz"
}
],
"2.0.0": [
{
"comment_text": "",
"digests": {
"md5": "f91dc97f8588a1cba37502c2bc7f89ed",
"sha256": "795c4209f146bb2917bdc007e13d3917b5fa75b9352662f972bae8194348adfa"
},
"downloads": -1,
"filename": "django_echoices-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f91dc97f8588a1cba37502c2bc7f89ed",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18503,
"upload_time": "2017-05-22T15:47:13",
"url": "https://files.pythonhosted.org/packages/08/f2/6214fa26399838aed99033d14a3ca58dfef8c8a842afbb737a3464687123/django_echoices-2.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3c89e204adf9db19a0e31e4566287933",
"sha256": "74628eca2c419fd9f05fa5fceb510e702b144bb1711be099b8aaa63388b63642"
},
"downloads": -1,
"filename": "django-echoices-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "3c89e204adf9db19a0e31e4566287933",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27177,
"upload_time": "2017-05-22T15:47:15",
"url": "https://files.pythonhosted.org/packages/2f/23/93b98322b391cf4af856e5cb2e88f96900c520897b599ee34c01034d1679/django-echoices-2.0.0.tar.gz"
}
],
"2.1.0": [
{
"comment_text": "",
"digests": {
"md5": "4ea97a58f4bdc527c1d0774471a3fda4",
"sha256": "9efcc8599cf9cb6c0ea71e0a60388ce2f6f479b17b0a14a913bfbbcc6e7c0f45"
},
"downloads": -1,
"filename": "django_echoices-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4ea97a58f4bdc527c1d0774471a3fda4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 19915,
"upload_time": "2017-05-23T13:43:47",
"url": "https://files.pythonhosted.org/packages/fb/16/6f0bd9254f69aa80f942e58d4cccada2566f71f0cf032f35911b32a741af/django_echoices-2.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "09997340317d413af46ea183a43074f1",
"sha256": "5c93097b5bb490943e13eda6f3af174cb8691b1a78cc095827a1896fd5f81354"
},
"downloads": -1,
"filename": "django-echoices-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "09997340317d413af46ea183a43074f1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28647,
"upload_time": "2017-05-23T13:43:49",
"url": "https://files.pythonhosted.org/packages/5c/0a/ff19d035ac244e66939c940eda8b9f6549c22e371e4cd4ebf5c6fa60b189/django-echoices-2.1.0.tar.gz"
}
],
"2.1.1": [
{
"comment_text": "",
"digests": {
"md5": "557d7990987ebca9f33ab072c6865b77",
"sha256": "02c3c8c693809f35cd3b2a55c7d281d16dd4ebd340b0b9b9aa4c0ac396f051b0"
},
"downloads": -1,
"filename": "django_echoices-2.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "557d7990987ebca9f33ab072c6865b77",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 20007,
"upload_time": "2017-05-24T08:58:27",
"url": "https://files.pythonhosted.org/packages/6c/d0/bc0c9fb2b2c48f6000c10e0f619585eeb523fe68eaffc7ae78d4cf062d8f/django_echoices-2.1.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b2e6da6060a7820d7b3f41262cc30258",
"sha256": "e06fc5e14cb10a32b4cb1d497d920fbcb777f5138fe7852f4c8e07f13b05dd42"
},
"downloads": -1,
"filename": "django-echoices-2.1.1.tar.gz",
"has_sig": false,
"md5_digest": "b2e6da6060a7820d7b3f41262cc30258",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28696,
"upload_time": "2017-05-24T08:58:29",
"url": "https://files.pythonhosted.org/packages/64/b1/6393db51bf9f00738a0a07a50be3722024287624f909d347a5ae5673acb3/django-echoices-2.1.1.tar.gz"
}
],
"2.2.5": [
{
"comment_text": "",
"digests": {
"md5": "fa220c1ace81e757407a7ed31360547a",
"sha256": "cd0296cc90c3c9c0512eef8f63924198651c858c2fcea443a8b84c8a098e4329"
},
"downloads": -1,
"filename": "django_echoices-2.2.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fa220c1ace81e757407a7ed31360547a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22947,
"upload_time": "2017-06-16T15:02:21",
"url": "https://files.pythonhosted.org/packages/d7/43/d549be614cfff73763a641c958c27769ab75ef6239462c6d8735e69c726a/django_echoices-2.2.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0ef9cd710ba60a1a1d5d5be9bbb0154a",
"sha256": "f3167993151ed2d7ab6a6a3c2c7f1499f3d2a951af0f66357067ef816cd5bdaa"
},
"downloads": -1,
"filename": "django-echoices-2.2.5.tar.gz",
"has_sig": false,
"md5_digest": "0ef9cd710ba60a1a1d5d5be9bbb0154a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31138,
"upload_time": "2017-06-16T15:02:24",
"url": "https://files.pythonhosted.org/packages/e9/58/4f95c2d9d7e94d4ff164d06a44794098f12e5700405cbbe30e90b31540bf/django-echoices-2.2.5.tar.gz"
}
],
"2.3.0": [
{
"comment_text": "",
"digests": {
"md5": "2765e9ecc5065e7469559b64dc5048df",
"sha256": "657b75210f044f4c89bcbb239acd7bb3cf5052babee9778022230e0e09721909"
},
"downloads": -1,
"filename": "django_echoices-2.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2765e9ecc5065e7469559b64dc5048df",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23604,
"upload_time": "2017-07-13T16:11:25",
"url": "https://files.pythonhosted.org/packages/8e/fc/b067983f405ade19dbb65ef2c99afd73348ec492bfa969acbe8e668d801f/django_echoices-2.3.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3166c3e6667a4045cff93666775bfe65",
"sha256": "e6354cf4fc832ece6b60613d6df1d282f70597fb589486104a98b1b16ed3ee3d"
},
"downloads": -1,
"filename": "django-echoices-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "3166c3e6667a4045cff93666775bfe65",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31419,
"upload_time": "2017-07-13T16:11:30",
"url": "https://files.pythonhosted.org/packages/84/8d/ce17769617c6b3d77fa57bf36f604ef3bdb68a49e178415db37dabdf139e/django-echoices-2.3.0.tar.gz"
}
],
"2.4.0": [
{
"comment_text": "",
"digests": {
"md5": "c60ea35b4e8203a23463d0a37f6e0fda",
"sha256": "3a9c55e54d3537ea476de12ca59da755a9952144abcb044015690604fd2b6d70"
},
"downloads": -1,
"filename": "django_echoices-2.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c60ea35b4e8203a23463d0a37f6e0fda",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23726,
"upload_time": "2017-08-08T17:16:17",
"url": "https://files.pythonhosted.org/packages/7e/ed/9e9320f13b479a9f1463cd47830a784e7b78d00f6b68cda2b79711d233e6/django_echoices-2.4.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "494e59538a4a65cf62c958df8d69c4c1",
"sha256": "ea8239b2688f193da5da162312d418a4d007ec1bebdd32353e6c98bfe48a6a47"
},
"downloads": -1,
"filename": "django-echoices-2.4.0.tar.gz",
"has_sig": false,
"md5_digest": "494e59538a4a65cf62c958df8d69c4c1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31573,
"upload_time": "2017-08-08T17:16:20",
"url": "https://files.pythonhosted.org/packages/46/69/483b7321f65545c72a48d51ef9de67a56a200cf1298ad8421aeed4fb28dd/django-echoices-2.4.0.tar.gz"
}
],
"2.4.1": [
{
"comment_text": "",
"digests": {
"md5": "39639ab71a0bcb6564e59398220682c5",
"sha256": "f01be9bd59d979830e658a50a8b9f14a33440d2aa3ab819ab9c5bbabc3b1e178"
},
"downloads": -1,
"filename": "django_echoices-2.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "39639ab71a0bcb6564e59398220682c5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24109,
"upload_time": "2017-08-09T09:46:04",
"url": "https://files.pythonhosted.org/packages/ef/20/9b68b3fd1698c1362be516efe735d2ef1b7b19f43603fe7575e9ebbfb87e/django_echoices-2.4.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1f89d6ac3bd34eaca5b6370adfdd6235",
"sha256": "b16011d4d6afd9aa00d8a51384e5400f9dc286114b514efc0b821124e94844cc"
},
"downloads": -1,
"filename": "django-echoices-2.4.1.tar.gz",
"has_sig": false,
"md5_digest": "1f89d6ac3bd34eaca5b6370adfdd6235",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31951,
"upload_time": "2017-08-09T09:46:06",
"url": "https://files.pythonhosted.org/packages/d1/9a/657ae0453d36f4f7dd970c38e38704a1dc713f59d092ff87e20afc2430bf/django-echoices-2.4.1.tar.gz"
}
],
"2.4.2": [
{
"comment_text": "",
"digests": {
"md5": "d6ba3398924364e93f502f881f540060",
"sha256": "0745a606fad2881bf5e0cd95d180a83a719264e3629ca5fc49cc2ac13fb5102b"
},
"downloads": -1,
"filename": "django_echoices-2.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d6ba3398924364e93f502f881f540060",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24154,
"upload_time": "2017-08-09T12:22:20",
"url": "https://files.pythonhosted.org/packages/9e/88/4265e30a05fc5bb65b68c139417b5b4fd5a0316063ffd606e2fb7c83504d/django_echoices-2.4.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0c41ddd19c1bbfcfec2fa25fbf9fadcb",
"sha256": "eddac8c914873cbc79c4b27a56c95b56bcd67e65baf9e64ea8c7dcf4d536b9d4"
},
"downloads": -1,
"filename": "django-echoices-2.4.2.tar.gz",
"has_sig": false,
"md5_digest": "0c41ddd19c1bbfcfec2fa25fbf9fadcb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31990,
"upload_time": "2017-08-09T12:22:22",
"url": "https://files.pythonhosted.org/packages/e7/30/743fd118999ceb695ff11a9206b30d19c212caea66afaa7d16f188736da9/django-echoices-2.4.2.tar.gz"
}
],
"2.4.3": [
{
"comment_text": "",
"digests": {
"md5": "7db6657ce3340bb5c9e4f6c6247e80be",
"sha256": "e01acf1effc0d2dc24d4e30f21fed91b327cee3896039a0e8d32dc1b3b8d2609"
},
"downloads": -1,
"filename": "django_echoices-2.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7db6657ce3340bb5c9e4f6c6247e80be",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24167,
"upload_time": "2017-08-09T12:53:53",
"url": "https://files.pythonhosted.org/packages/d3/8a/0db70f5a562a4cb34431a4af66124a745f4624f67070d10fb9817e430f4b/django_echoices-2.4.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c0a96276faba9147246e9928c57649bf",
"sha256": "74778079013a4704ab15de69ba4555ffd91f00a176529ec218389ac65a0cef71"
},
"downloads": -1,
"filename": "django-echoices-2.4.3.tar.gz",
"has_sig": false,
"md5_digest": "c0a96276faba9147246e9928c57649bf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32005,
"upload_time": "2017-08-09T12:53:55",
"url": "https://files.pythonhosted.org/packages/df/f4/0b8d97edc7dfec0bbdb398ae092f4dcf5831cbd361e6cd7dac0293aca8ee/django-echoices-2.4.3.tar.gz"
}
],
"2.5.0": [
{
"comment_text": "",
"digests": {
"md5": "d2e4b98e7bca3013b268b07bdb5c302f",
"sha256": "43e84c92d41b7ac38c3663ae7a4f40012daed306fd2543b546826c4727d15d01"
},
"downloads": -1,
"filename": "django_echoices-2.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d2e4b98e7bca3013b268b07bdb5c302f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24717,
"upload_time": "2017-08-10T17:20:51",
"url": "https://files.pythonhosted.org/packages/cd/e1/9973bd728b5936c125295a664f8cac6ff426b7dcb828a29ba223d98791b7/django_echoices-2.5.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "fe28bf0fb07b41d0815c0f96f0a35dd9",
"sha256": "ca860833c60daea62d41ae2e79fa79b1cbf69f7d0ef4b4671393af2435923b46"
},
"downloads": -1,
"filename": "django-echoices-2.5.0.tar.gz",
"has_sig": false,
"md5_digest": "fe28bf0fb07b41d0815c0f96f0a35dd9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32559,
"upload_time": "2017-08-10T17:20:53",
"url": "https://files.pythonhosted.org/packages/c6/ed/fb22197e6fe99f3482e28295e92ac515428988a81f8dd13a14b2d93b3297/django-echoices-2.5.0.tar.gz"
}
],
"2.5.1": [
{
"comment_text": "",
"digests": {
"md5": "7f1cfd54e2d0dd3d0967c4011db893bf",
"sha256": "d8ff546b063d4952e68395e6b80434139dc9d79d95c665dfa324837f7da7f39c"
},
"downloads": -1,
"filename": "django_echoices-2.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7f1cfd54e2d0dd3d0967c4011db893bf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 25087,
"upload_time": "2017-09-04T16:22:39",
"url": "https://files.pythonhosted.org/packages/dd/17/bdfa8d53bf9b315e682969584aa7ccee3a5ec390c4fadfbced53f064ad68/django_echoices-2.5.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7ffa036653756ed14d084a816127826b",
"sha256": "f155607418925c18cb722e0af1eeda273b70e1c125c7b77bd79ff2aa8546694d"
},
"downloads": -1,
"filename": "django-echoices-2.5.1.tar.gz",
"has_sig": false,
"md5_digest": "7ffa036653756ed14d084a816127826b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32988,
"upload_time": "2017-09-04T16:22:41",
"url": "https://files.pythonhosted.org/packages/68/d6/36441575737551d1427f19f943287beff57431cffdb90702d6b1e046047f/django-echoices-2.5.1.tar.gz"
}
],
"2.6.0": [
{
"comment_text": "",
"digests": {
"md5": "95b4d926344dd33e263ab2dccdb7814a",
"sha256": "6d78a51b1348a0399e7efacda92fdde6c19e48f35e3f12f80ab96ed3f70e382d"
},
"downloads": -1,
"filename": "django_echoices-2.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "95b4d926344dd33e263ab2dccdb7814a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24932,
"upload_time": "2018-06-03T18:35:01",
"url": "https://files.pythonhosted.org/packages/b7/74/f7ab340ef56156d2497f2ef308dd1ac9a709802dd819d0689e2948b4a05b/django_echoices-2.6.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d930e8dc598ec527625c5400810a369c",
"sha256": "66d463361d38d89906fb3fd8849cac9d1eec9e8024356de88582d5f1b3885ac3"
},
"downloads": -1,
"filename": "django-echoices-2.6.0.tar.gz",
"has_sig": false,
"md5_digest": "d930e8dc598ec527625c5400810a369c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 203000,
"upload_time": "2018-06-03T18:35:05",
"url": "https://files.pythonhosted.org/packages/bb/13/288254f98d4adc1ec5da93fe47e1edb76ec183ce639bc65c5f5720b84dee/django-echoices-2.6.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "95b4d926344dd33e263ab2dccdb7814a",
"sha256": "6d78a51b1348a0399e7efacda92fdde6c19e48f35e3f12f80ab96ed3f70e382d"
},
"downloads": -1,
"filename": "django_echoices-2.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "95b4d926344dd33e263ab2dccdb7814a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24932,
"upload_time": "2018-06-03T18:35:01",
"url": "https://files.pythonhosted.org/packages/b7/74/f7ab340ef56156d2497f2ef308dd1ac9a709802dd819d0689e2948b4a05b/django_echoices-2.6.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d930e8dc598ec527625c5400810a369c",
"sha256": "66d463361d38d89906fb3fd8849cac9d1eec9e8024356de88582d5f1b3885ac3"
},
"downloads": -1,
"filename": "django-echoices-2.6.0.tar.gz",
"has_sig": false,
"md5_digest": "d930e8dc598ec527625c5400810a369c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 203000,
"upload_time": "2018-06-03T18:35:05",
"url": "https://files.pythonhosted.org/packages/bb/13/288254f98d4adc1ec5da93fe47e1edb76ec183ce639bc65c5f5720b84dee/django-echoices-2.6.0.tar.gz"
}
]
}