{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10" ], "description": "================================================================================\n:banana: Django Bananas - Django extensions the monkey way\n================================================================================\n\n.. image:: https://github.com/5monkeys/django-bananas/workflows/CI/badge.svg\n :target: https://github.com/5monkeys/django-bananas/actions\n\n.. image:: https://img.shields.io/pypi/v/django-bananas.svg\n :target: https://pypi.python.org/pypi/django-bananas/\n\n--------------------------------------------------------------------------------\n Install\n--------------------------------------------------------------------------------\n\ndjango-bananas is on PyPI, so just run:\n\n.. code-block:: bash\n\n python3 -m pip install django-bananas\n\nUsing DRF specific features like Bananas Admin and fencing requires\ndjangorestframework and drf-yasg and it's recommended to install django-bananas\nwith the ``drf`` extra to keep those in sync:\n\n.. code-block:: bash\n\n python3 -m pip install django-bananas[drf]\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n Compatibility\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nCurrently tested only for\n\n- Django 2.2 under Python 3.6-3.9\n- Django 3.0 under Python 3.6-3.9\n- Django 3.1 under Python 3.6-3.9\n- Django 3.2 under Python 3.6-3.9\n- Django 4.0 under Python 3.8-3.10\n\nPull requests welcome!\n\n--------------------------------------------------------------------------------\n Examples\n--------------------------------------------------------------------------------\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n Models\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nTimeStampedModel\n================================================================================\n\nAbstract ``TimeStampedModel`` with date created/modified fields:\n\nUse TimeStampedModel as base class for your model\n\n.. code-block:: py\n\n from bananas.models import TimeStampedModel\n\n class Book(TimeStampedModel):\n pass\n\n\nthe timestamps can be accessed on the model as\n\n.. code-block:: py\n\n >>> book.date_created\n >>> book.date_modified\n\n\nUUIDModel\n================================================================================\n\nAbstract model that uses a Django 1.8 UUID field as the primary key.\n\n.. code-block:: py\n\n from bananas.models import UUIDModel\n\n class User(UUIDModel):\n display_name = models.CharField(max_length=255)\n email = models.EmailField()\n\n >>> user.id\n UUID('70cf1f46-2c79-4fc9-8cc8-523d67484182')\n\n >>> user.pk\n UUID('70cf1f46-2c79-4fc9-8cc8-523d67484182')\n\nSecretField\n================================================================================\n\nCan be used to generate and store \"safe\" random bytes for authentication.\n\n.. code-block:: py\n\n from bananas.models import SecretField\n\n class User(models.Model):\n # Ask for 32 bytes and require 24 bytes from urandom\n token = SecretField(num_bytes=32, min_bytes=24)\n\n >>> User.objects.create() # Token is generated automatically\n >>> user.token\n '3076f884da827809e80ced236e8da20fa36d0c27dd036bdd4afbac34807e5cf1'\n\n\n\nURLSecretField\n================================================================================\n\nAn implementation of SecretField that generates an URL-safe base64 string\ninstead of a hex representation of the random bytes.\n\n\n.. code-block:: py\n\n from bananas.models import URLSecretField\n\n\n class User(models.Model):\n # Generates an URL-safe base64 representation of the random value\n token = URLSecretField(num_bytes=32, min_bytes=24)\n\n >>> user.token\n 'WOgrNwqFKOF_LsHorJy_hGpPepjvVH7Uar-4Z_K6DzU-'\n\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n ORM\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nNew ``queryset.dicts()`` with field renaming through kwargs, and `dot-dict`\nstyle results:\n\n.. code-block:: py\n\n from bananas.query import ExtendedQuerySet\n\n class Book(TimeStampedModel):\n author = ForeignKey(Author)\n objects = Manager.from_queryset(ExtendedQuerySet)()\n\n >>> book = Book.objects.dicts('id', author='author__name').first()\n {'id': 1, 'author': 'Jonas'}\n >>> book.author\n 'Jonas'\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n Admin\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nCustom django admin stylesheet.\n\n.. warning:: Work in progress. Only a few views styled completely as of now.\n\n.. code-block:: py\n\n # settings.py\n INSTALLED_APPS = (\n 'bananas', # Needs to be before 'django.contrib.admin'\n 'django.contrib.admin',\n ...\n )\n\n ADMIN = {\n 'SITE_HEADER': 'Bananas',\n 'SITE_TITLE': 'Bananas Admin',\n 'INDEX_TITLE': 'Admin Panel',\n # 'BACKGROUND_COLOR': '#363c3f',\n }\n\n.. code-block:: py\n\n # your main urls.py\n from bananas import admin\n\n urlpatterns = [\n ...\n url(r'^admin/', include(admin.site.urls)),\n ]\n\n.. code-block:: py\n\n # app/admin.py or something\n from django.conf.urls import url\n from bananas import admin\n\n @admin.register\n class MyAdminView(admin.AdminView):\n def get_urls(self):\n return [\n url(r'^custom/$',\n self.admin_view(self.custom_view)),\n # ^^ Note that the view is wrapped in self.admin_view.\n # Needed for permissions and to prevent any\n # threading issues.\n ]\n\n def get(self, request):\n return self.render('admin/template.html', {})\n\n def custom_view(self, request):\n return self.render('admin/custom.html', {})\n\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n Admin API\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nDjango admin API for use with `django-bananas.js\n`_ (react admin site). This\nfeature requires installation with the ``drf`` extra.\n\n.. code-block:: py\n\n # app/admin.py or something\n from bananas.admin.api.mixins import BananasAPI\n from bananas.admin.api.schemas import schema\n from bananas.admin.api.views import BananasAdminAPI\n from bananas.lazy import lazy_title\n from django.utils.translation import gettext_lazy as _\n from rest_framework import viewsets\n\n class CustomAdminAPI(BananasAdminAPI):\n\n name = lazy_title(_(\"custom\"))\n\n @schema(query_serializer=SomeSerializer, responses={200: SomeSerializer})\n def list(self, request):\n return ...\n\n class SomeModelAdminAPI(BananasAPI, viewsets.ModelViewSet)\n\n serializer_class = SomeModelSerializer\n\n def list(self, request):\n return ...\n\n.. code-block:: py\n\n # app/urls.py or something\n from bananas.admin import api\n from django.conf.urls import include, path\n\n from .admin import CustomAdminAPI, SomeModelAdminAPI\n\n api.register(CustomAdminAPI)\n api.register(SomeModelAdminAPI)\n\n urlpatterns = [\n path(r\"^api/\", include(\"bananas.admin.api.urls\"))\n ]\n\n.. code-block:: py\n\n # setting.py\n ADMIN = {\n 'API': {\n # Optional: override the default OpenAPI schemes\n 'SCHEMES': ['https'],\n }\n }\n\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n Database URLs\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nParse database information from a URL, kind of like SQLAlchemy.\n\nEngines\n================================================================================\n\nCurrently supported engines are:\n\n============================== ===========================================\n URI scheme Engine\n============================== ===========================================\n pgsql, postgres, postgresql django.db.backends.postgresql_psycopg2\n mysql django.db.backends.mysql\n oracle django.db.backends.oracle\n sqlite, sqlite3 django.db.backends.sqlite3\n mysqlgis django.contrib.gis.db.backends.mysql\n oraclegis django.contrib.gis.db.backends.oracle\n postgis django.contrib.gis.db.backends.postgis\n spatialite django.contrib.gis.db.backends.spatialite\n============================== ===========================================\n\nYou can add your own by running ``register(scheme, module_name)`` before parsing.\n\ndatabase_conf_from_url(url)\n Return a django-style database configuration based on ``url``.\n\n :param url: Database URL\n :return: Django-style database configuration dict\n\n Example:\n\n .. code-block:: py\n\n >>> from bananas.url import database_conf_from_url\n >>> conf = database_conf_from_url(\n ... 'pgsql://joar:hunter2@5monkeys.se:4242/tweets/tweetschema'\n ... '?hello=world')\n >>> sorted(conf.items()) # doctest: +NORMALIZE_WHITESPACE\n [('ENGINE', 'django.db.backends.postgresql_psycopg2'),\n ('HOST', '5monkeys.se'),\n ('NAME', 'tweets'),\n ('PARAMS', {'hello': 'world'}),\n ('PASSWORD', 'hunter2'),\n ('PORT', 4242),\n ('SCHEMA', 'tweetschema'),\n ('USER', 'joar')]\n\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nbananas.environment - Helpers to get setting values from environment variables\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n``bananas.environment.env`` is a wrapper around ``os.environ``, it provides the\nstandard ``.get(key, value)``, method to get a value for a key, or a default if\nthe key is not set - by default that default is ``None`` as you would expect.\nWhat is more useful is the additional type-parsing ``.get_*`` methods it\nprovides:\n\n- ``get_bool``\n- ``get_int``\n- ``get_list``, ``get_set``, ``get_tuple``\n\n\n:get_int:\n\n .. code-block:: python\n\n >>> # env ONE=1\n >>> env.get_int('ONE')\n 1\n >>> env.get_int('TWO') # Not set\n None\n >>> env.get_int('TWO', -1) # Not set, default to -1\n -1\n\n\n:get_bool:\n\n returns ``True`` if the environment variable value is any of,\n case-insensitive:\n\n - ``\"true\"``\n - ``\"yes\"``\n - ``\"on\"``\n - ``\"1\"``\n\n returns ``False`` if the environment variable value is any of,\n case-insensitive:\n\n - ``\"false\"``\n - ``\"no\"``\n - ``\"off\"``\n - ``\"0\"``\n\n if the value is set to anything other than above, the default value will be returned instead.\n\n e.g.:\n\n .. code-block:: python\n\n >>> # env CAN_DO=1 NO_THANKS=false NO_HABLA=f4lse\n >>> env.get_bool('CAN_DO')\n True\n >>> env.get_bool('NO_THANKS')\n False\n >>> env.get_bool('NO_HABLA') # Set, but not valid\n None\n >>> env.get_bool('NO_HABLA', True) # Set, but not valid, with default\n True\n >>> env.get_bool('IS_NONE') # Not set\n None\n >>> env.get_bool('IS_NONE', False) # Not set, default provided\n False\n\n\n:get_tuple, get_list, get_set:\n\n Returns a ``tuple``, ``list`` or ``set`` of the environment variable string,\n split by the ascii comma character. e.g.:\n\n .. code-block:: python\n\n >>> # env FOOS=foo,foo,bar\n >>> get_list('FOO')\n ['foo', 'foo', 'bar']\n >>> get_set('FOO')\n set(['foo', 'bar'])\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nbananas.secrets - Helpers for getting secrets from files\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nIs useful for getting the content of secrets stored in files. One usecase is `docker secrets\n`_.\n\n``BANANAS_SECRETS_DIR`` can be used to configure the directory that secrets live in. Defaults to ``/run/secrets/``.\n\n.. code-block:: py\n\n >>> from bananas import secrets\n\n >>> secrets.get_secret(\"hemlis\")\n \"topsecret\"\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nbananas.drf.fencing - Fence DRF views with HTTP conditional headers\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nBuilding blocks for composing HTTP conditionals to guard DRF views. Built to\nwork well in conjunction with ``BananasAdminAPI`` and ``TimeStampedModel``. This\nfeature requires installation with the ``drf`` extra.\n\nFences add a header parameter to the exposed OpenAPI schema if you're using\ndrf-yasg.\n\n``allow_if_unmodified_since``\n=============================\n\nMake a view-set for a ``TimeStampedModel`` only accept updates when\n``If-Unmodified-Since`` specifies a date before the ``date_modified`` of the\nupdated instance.\n\nDue to comparing datetime instances, using ``allow_if_unmodified_since``\nrequires running Django with timezone support enabled, ``USE_TZ = TRUE``.\n\n.. code-block:: python\n\n from bananas.drf.fencing import FencedUpdateModelMixin, allow_if_unmodified_since\n\n class ItemAPI(FencedUpdateModelMixin, GenericViewSet):\n fence = allow_if_unmodified_since()\n serializer_class = ItemSerializer\n\n``allow_if_match``\n==================\n\nMake a view-set that requires passing a version string in ``If-Match`` and\nrejects requests when the given version does not match the ``version`` attribute\nof the updated instance.\n\n.. code-block:: python\n\n from bananas.drf.fencing import FencedUpdateModelMixin, allow_if_match\n\n class ItemAPI(FencedUpdateModelMixin, GenericViewSet):\n fence = allow_if_match(operator.attrgetter(\"version\"))\n serializer_class = ItemSerializer\n\n``Fence``\n=========\n\nExample implementing a fence for ``If-Modified-Since``:\n\n.. code-block:: python\n\n import operator\n from drf_yasg import openapi\n from rest_framework import status\n from rest_framework.exceptions import APIException\n from bananas.drf.fencing import Fence, header_date_parser, parse_date_modified\n\n class NotModified(APIException):\n status_code = status.HTTP_304_NOT_MODIFIED\n default_detail = \"An HTTP precondition failed\"\n default_code = \"not_modified\"\n\n allow_if_not_modified_since = Fence(\n get_token=header_date_parser(\"If-Modified-Since\"),\n compare=operator.gt,\n get_version=parse_date_modified,\n openapi_parameter=openapi.Parameter(\n in_=openapi.IN_HEADER,\n name=\"If-Modified-Since\",\n type=openapi.TYPE_STRING,\n required=True,\n description=(\n \"Time of last edit of the client's representation of the resource in \"\n \"RFC7231 format.\"\n ),\n ),\n rejection=NotModified(\"The resource is unmodified\"),\n )\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nContributing\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nContributing is welcome in the form of PRs and issues. If you want to add a\nbigger feature or contribute with a large change in current behaviour it's\nalways a good idea to start a discussion with an issue before getting started.\n\nNew additions will be expected to have 100% test coverage as well as type hints\nand documentation to be considered to be merged.\n\nDevelopment\n===========\n\nTesting and development requirements can be installed using package extras\n``test`` and ``dev`` respectively. You'll most likely always want to install the\n``drf`` extra when installing ``dev``.\n\nTo get started, setup a virtualenv and then install test requirements and run\ntests and checks on Python 3.9/Django 3.1 with:\n\n.. code-block:: bash\n\n python3 -m pip install -e .[test]\n TOXENV=py39-django31,checks python3 -m tox\n\nYou can install development requirements into your virtualenv and run\nautoformatters with:\n\n.. code-block:: bash\n\n python3 -m pip install -e .[dev,drf]\n make format\n\nAfter installing ``dev`` you can also run tests without tox for rapid iteration\nand select specific tests with ``test`` argument to ``make test``:\n\n.. code-block:: bash\n\n make test test='tests.test_admin.APITest.test_logout'\n\n\n", "description_content_type": "text/x-rst; charset=UTF-8", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/5monkeys/django-bananas", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-bananas", "package_url": "https://pypi.org/project/django-bananas/", "platform": "", "project_url": "https://pypi.org/project/django-bananas/", "project_urls": { "Homepage": "https://github.com/5monkeys/django-bananas" }, "release_url": "https://pypi.org/project/django-bananas/2.0/", "requires_dist": [ "Django (>=2.2)", "typing-extensions (>=3.7.4.3)", "drf-yasg (>=1.20.0)", "flake8 ; extra == 'dev'", "mypy ; extra == 'dev'", "black ; extra == 'dev'", "isort ; extra == 'dev'", "django-stubs ; extra == 'dev'", "djangorestframework-stubs ; extra == 'dev'", "autoflake ; extra == 'dev'", "pytest-mypy-plugins ; extra == 'dev'", "djangorestframework (>=3.10) ; extra == 'drf'", "drf-yasg (>=1.20.0) ; extra == 'drf'", "detox ; extra == 'test'", "coverage ; extra == 'test'" ], "requires_python": ">=3.6", "summary": "Django Bananas - Django extensions the monkey way", "version": "2.0", "yanked": false, "yanked_reason": null }, "last_serial": 13717671, "releases": { "1.0": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "4578f6961e3591bf5852a1e4fcac6638", "sha256": "713b4fab301acee64156ac426bfdc185de858312a9ddfcabaeeafbca80555076" }, "downloads": -1, "filename": "django-bananas-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4578f6961e3591bf5852a1e4fcac6638", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2153, "upload_time": "2015-04-01T15:18:20", "upload_time_iso_8601": "2015-04-01T15:18:20.101335Z", "url": "https://files.pythonhosted.org/packages/6a/f4/bf09621f88aa9f45b18feeec3431b2fee9bb0dc50a517f50610846b13cca/django-bananas-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.10rc1": [ { "comment_text": "", "digests": { "md5": "1b666239f500cc50ab4256dd911b36da", "sha256": "b419f7476a0a30f86106fba4439c9e22a5d36f6815b9cf67db2c10bbeb162601" }, "downloads": -1, "filename": "django-bananas-1.0.10rc1.tar.gz", "has_sig": false, "md5_digest": "1b666239f500cc50ab4256dd911b36da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15491, "upload_time": "2016-03-03T13:43:30", "upload_time_iso_8601": "2016-03-03T13:43:30.830053Z", "url": "https://files.pythonhosted.org/packages/c7/5c/64009a68c1baa6743703747cb99d90aea58cce101472482de1c47f4ae814/django-bananas-1.0.10rc1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.11rc1": [ { "comment_text": "", "digests": { "md5": "911392dd9b5bb73efb747debb1c46414", "sha256": "bcb4dbeca776a5eed6d042b22e3496b31e05aebd625caabec325df1cdc7a2c13" }, "downloads": -1, "filename": "django-bananas-1.0.11rc1.tar.gz", "has_sig": false, "md5_digest": "911392dd9b5bb73efb747debb1c46414", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17843, "upload_time": "2016-10-26T09:25:09", "upload_time_iso_8601": "2016-10-26T09:25:09.061403Z", "url": "https://files.pythonhosted.org/packages/5b/0e/dcd7df37764b93491f07e3e5b5609a27fc36eb1695e8131cd70e27cf8db7/django-bananas-1.0.11rc1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.12b1": [ { "comment_text": "", "digests": { "md5": "9583be2d74ec7b0084ced73ad40dfcfa", "sha256": "df8177c6c122d9eb7a2e8d86f9fa5a5418774bc107d58de0c5790b5cfe66d26f" }, "downloads": -1, "filename": "django-bananas-1.0.12b1.tar.gz", "has_sig": false, "md5_digest": "9583be2d74ec7b0084ced73ad40dfcfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18142, "upload_time": "2017-02-02T11:09:50", "upload_time_iso_8601": "2017-02-02T11:09:50.131433Z", "url": "https://files.pythonhosted.org/packages/36/11/e3fd91cbe8cdec5c538146eb86ee50673c033b1d0cd9f9b1653f4aefd5f5/django-bananas-1.0.12b1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "3f43d557d75eae7acf41312d7964a2e1", "sha256": "5ae9f6110d19e49e310ffa988698029328b8d9c2f1b672b03027272e82e44f7e" }, "downloads": -1, "filename": "django-bananas-1.0.2.tar.gz", "has_sig": false, "md5_digest": "3f43d557d75eae7acf41312d7964a2e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4833, "upload_time": "2015-04-14T09:27:34", "upload_time_iso_8601": "2015-04-14T09:27:34.360041Z", "url": "https://files.pythonhosted.org/packages/2b/55/63800835249b7d69d3d0fa1dea7387406596150c58cc30aa7e69db9855ee/django-bananas-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1336f30ee7d7e9ea3454dedd1466f03e", "sha256": "11b423b8e886303f14124af33caaaafd29d88d0372cc3cc1c042cf1ed352b666" }, "downloads": -1, "filename": "django-bananas-1.0.3.tar.gz", "has_sig": false, "md5_digest": "1336f30ee7d7e9ea3454dedd1466f03e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11606, "upload_time": "2015-04-22T19:54:04", "upload_time_iso_8601": "2015-04-22T19:54:04.163367Z", "url": "https://files.pythonhosted.org/packages/c2/df/4f153ade57b6db20ea7a22ad6ac8e32ad25a1d2d53136a7e79264b3f997b/django-bananas-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "6bc6875421dba9a52d48dc3e39499132", "sha256": "47ecd4ab7fb248e4417387395c3c2469cfac654404abbf4e5a8afcc1340c1c31" }, "downloads": -1, "filename": "django-bananas-1.0.5.tar.gz", "has_sig": false, "md5_digest": "6bc6875421dba9a52d48dc3e39499132", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13220, "upload_time": "2015-04-30T17:49:57", "upload_time_iso_8601": "2015-04-30T17:49:57.382589Z", "url": "https://files.pythonhosted.org/packages/c6/43/6f2bd86b1fffb4eec7c953f4b2ce3f810c33fc737c941718f35921df52a6/django-bananas-1.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "d7540ff188518be1473018e049d1e9f1", "sha256": "bb1a9d6fedbd6198c7a31a5d8fc2cf1b23f1d60876a5a24795fe2d02be245b6a" }, "downloads": -1, "filename": "django_bananas-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d7540ff188518be1473018e049d1e9f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16464, "upload_time": "2015-05-13T09:55:32", "upload_time_iso_8601": "2015-05-13T09:55:32.431119Z", "url": "https://files.pythonhosted.org/packages/18/dd/a86e9a4954fd547bc09f53e6711fd24491a5c5757e1e020b1157a946881c/django_bananas-1.0.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1db6358b07191ba0b63277fed238866b", "sha256": "0b3f1af883091306f623816f93e40ec71b58a77a8b6550d6b804e6266565641a" }, "downloads": -1, "filename": "django-bananas-1.0.6.tar.gz", "has_sig": false, "md5_digest": "1db6358b07191ba0b63277fed238866b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13215, "upload_time": "2015-05-13T09:55:29", "upload_time_iso_8601": "2015-05-13T09:55:29.276226Z", "url": "https://files.pythonhosted.org/packages/ce/29/78c92c52b567c2a0985e322d05242c62321dd02502ea752bddf3e0444f0b/django-bananas-1.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.7": [], "1.0.8": [ { "comment_text": "", "digests": { "md5": "301d95b4b21920ebd0d660ebaa117a28", "sha256": "de4941715cb1dd56dead0bc3896ed1ad38da360bb174beaf4655c40dbb6dfed5" }, "downloads": -1, "filename": "django_bananas-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "301d95b4b21920ebd0d660ebaa117a28", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18219, "upload_time": "2015-05-13T12:37:33", "upload_time_iso_8601": "2015-05-13T12:37:33.274980Z", "url": "https://files.pythonhosted.org/packages/8f/5d/0ca3fc6a582d9a70342a8b497b1be57b0a7445cdf0c5d4f51b173e3697a6/django_bananas-1.0.8-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1fd608b7e16bca44882851dd3e858204", "sha256": "68099590f8aa1d24c866bbcdadf4c02258b8f61374abb285286d674f3e036c49" }, "downloads": -1, "filename": "django-bananas-1.0.8.tar.gz", "has_sig": false, "md5_digest": "1fd608b7e16bca44882851dd3e858204", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14344, "upload_time": "2015-05-13T12:37:29", "upload_time_iso_8601": "2015-05-13T12:37:29.586969Z", "url": "https://files.pythonhosted.org/packages/2e/7b/c8ac9b950018fd01e5056a6f8a9413c365f8c279e55b9062ecb76fe413a8/django-bananas-1.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9b1": [ { "comment_text": "", "digests": { "md5": "622f810c783840968cc558b0022485bc", "sha256": "5498a9ec6201a5dc4b6739c2657010334a32e68643f5ddeb997bfc17c1f0be3a" }, "downloads": -1, "filename": "django_bananas-1.0.9b1-py3-none-any.whl", "has_sig": false, "md5_digest": "622f810c783840968cc558b0022485bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20469, "upload_time": "2015-05-28T20:43:23", "upload_time_iso_8601": "2015-05-28T20:43:23.692535Z", "url": "https://files.pythonhosted.org/packages/11/d0/405a2ec3ad825480af73ef94048cf0635ca31dc4fc8398591e40a1c6ae0a/django_bananas-1.0.9b1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9ae5d8652a7509baced70df71891ad30", "sha256": "8b6205b4aa99068bff2f2df7550554e8deb93855817131a1f0b465697b755ce6" }, "downloads": -1, "filename": "django-bananas-1.0.9b1.tar.gz", "has_sig": false, "md5_digest": "9ae5d8652a7509baced70df71891ad30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16307, "upload_time": "2015-05-28T20:43:19", "upload_time_iso_8601": "2015-05-28T20:43:19.572970Z", "url": "https://files.pythonhosted.org/packages/eb/a8/1268ff4efa8de8f1dfbe821a087c13a25775ad695e37b4d12b326a87eb53/django-bananas-1.0.9b1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9b2": [ { "comment_text": "", "digests": { "md5": "0b012f65336a9e1f35af7008b27cf227", "sha256": "99bafc1a918af5d5183d16c0f57d1197a103fa477ccc2b5942e55e1f6f291272" }, "downloads": -1, "filename": "django_bananas-1.0.9b2-py3-none-any.whl", "has_sig": false, "md5_digest": "0b012f65336a9e1f35af7008b27cf227", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19821, "upload_time": "2015-07-03T12:16:20", "upload_time_iso_8601": "2015-07-03T12:16:20.439544Z", "url": "https://files.pythonhosted.org/packages/24/6c/053b81e47d5c82dfb53c3dbdf577bbe386d47655cb760a5c2f296ea6659e/django_bananas-1.0.9b2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "deb7580e03fbdde3746020179ec1aea3", "sha256": "e699d155e244f6e248988fac28eb9cd09c91048098d48502ab2968dad0704031" }, "downloads": -1, "filename": "django-bananas-1.0.9b2.tar.gz", "has_sig": false, "md5_digest": "deb7580e03fbdde3746020179ec1aea3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16098, "upload_time": "2015-07-03T12:16:16", "upload_time_iso_8601": "2015-07-03T12:16:16.626913Z", "url": "https://files.pythonhosted.org/packages/2f/3e/8bb00ad71d253894a32243d8befdbfc22e3ca41cb3425352ee36bc81892a/django-bananas-1.0.9b2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9b3": [ { "comment_text": "", "digests": { "md5": "55f0258e4e94115f83ef82c90940ee82", "sha256": "2d54d9ca914e976e2c63b90673e88a944114b40a0b416a76584223786ab9fc80" }, "downloads": -1, "filename": "django_bananas-1.0.9b3-py3-none-any.whl", "has_sig": false, "md5_digest": "55f0258e4e94115f83ef82c90940ee82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20091, "upload_time": "2015-10-13T08:52:17", "upload_time_iso_8601": "2015-10-13T08:52:17.336313Z", "url": "https://files.pythonhosted.org/packages/a2/e8/002f190d8cf4cce9208f33ecd7aeaaadd7f753ea44c61a8ee07b8458d613/django_bananas-1.0.9b3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "899cc8caa2a5069f885ffa67cf4bd4c6", "sha256": "3b916d7f25b50f6df62907c8e2ca6f6a1d3739a2f1f181d8f94cb2a18421df0d" }, "downloads": -1, "filename": "django-bananas-1.0.9b3.tar.gz", "has_sig": false, "md5_digest": "899cc8caa2a5069f885ffa67cf4bd4c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16489, "upload_time": "2015-10-13T08:52:05", "upload_time_iso_8601": "2015-10-13T08:52:05.121558Z", "url": "https://files.pythonhosted.org/packages/84/d6/42997106116187063dbb7b12d52b1a286ad85eb347daa5e8e94b3d851eff/django-bananas-1.0.9b3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9b4": [ { "comment_text": "", "digests": { "md5": "0e9cbc02902071f00ecea4b816487702", "sha256": "fe8457cf7d2cab157889d477e2280920e6e8335c0a389e502bc2188f868807ff" }, "downloads": -1, "filename": "django-bananas-1.0.9b4.tar.gz", "has_sig": false, "md5_digest": "0e9cbc02902071f00ecea4b816487702", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15416, "upload_time": "2015-10-20T10:08:06", "upload_time_iso_8601": "2015-10-20T10:08:06.836320Z", "url": "https://files.pythonhosted.org/packages/a9/d6/38aa7284e79d2d330b240e4ff98afbe68ff607cac56f45ae599ad2818b41/django-bananas-1.0.9b4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1": [ { "comment_text": "", "digests": { "md5": "3de29c0eb430debd1bc1ebfa93978e8a", "sha256": "ca0edb7cfd353e3ed5c2e5ca5d195156217b494b8c62f4c0e267b14f8286dbd4" }, "downloads": -1, "filename": "django-bananas-1.1.tar.gz", "has_sig": false, "md5_digest": "3de29c0eb430debd1bc1ebfa93978e8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27423, "upload_time": "2017-11-14T10:20:40", "upload_time_iso_8601": "2017-11-14T10:20:40.782878Z", "url": "https://files.pythonhosted.org/packages/48/52/027c0c3251be8c7fbc9a2c5a204e0b279f20ae1b2f661b10fbfe500f53d3/django-bananas-1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2rc1": [ { "comment_text": "", "digests": { "md5": "fc7f599506542640e162b86e3c4c5ace", "sha256": "79090ef3ec1334344a233c0f098d033f135ab9ba8bef933c616d82d82584649e" }, "downloads": -1, "filename": "django-bananas-1.2rc1.tar.gz", "has_sig": false, "md5_digest": "fc7f599506542640e162b86e3c4c5ace", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28202, "upload_time": "2017-12-21T15:53:48", "upload_time_iso_8601": "2017-12-21T15:53:48.297814Z", "url": "https://files.pythonhosted.org/packages/46/b5/bceb2c8a324d575139fb0c1cdcdb56c8c267caae7e369c552b99111c6671/django-bananas-1.2rc1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3": [ { "comment_text": "", "digests": { "md5": "ab5eb874795d4cd8772c4adbf88d8cf2", "sha256": "2f3ec0e2bcbef6c57c3041510dabd0f9d8879c1acf46c33f043f360e62a713cf" }, "downloads": -1, "filename": "django-bananas-1.3.tar.gz", "has_sig": false, "md5_digest": "ab5eb874795d4cd8772c4adbf88d8cf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29373, "upload_time": "2018-03-28T06:44:23", "upload_time_iso_8601": "2018-03-28T06:44:23.490184Z", "url": "https://files.pythonhosted.org/packages/ac/bf/6325e9ad99ec4632c7085351d37d395915d019c51c7a3f49d30ab282837a/django-bananas-1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "909ac3832732bc45d0057f337f7f40e2", "sha256": "34762845fb3d28419b975f3b9d9a04eef0b0ca8db9be27d78acde3bafd75a95c" }, "downloads": -1, "filename": "django-bananas-1.3.1.tar.gz", "has_sig": false, "md5_digest": "909ac3832732bc45d0057f337f7f40e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29444, "upload_time": "2018-04-04T12:53:12", "upload_time_iso_8601": "2018-04-04T12:53:12.561437Z", "url": "https://files.pythonhosted.org/packages/f3/8a/6cf8a032001b04d83a36f34edcd05547d45fca5d9b777c66cb8f2758a94f/django-bananas-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "578d27db9c7ab6fada5c93b927a13505", "sha256": "73dbfefab73263f4591e0318596103cbf019dd5e4a0d1ad4bbf85c5ba7168c03" }, "downloads": -1, "filename": "django-bananas-1.3.2.tar.gz", "has_sig": false, "md5_digest": "578d27db9c7ab6fada5c93b927a13505", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29508, "upload_time": "2018-04-04T13:20:17", "upload_time_iso_8601": "2018-04-04T13:20:17.599862Z", "url": "https://files.pythonhosted.org/packages/75/36/359dd4a4d67323037b68a1b9833fea9fd804dea2d5267b8f9e7bb90def46/django-bananas-1.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "2e6a645f0490ad9bff300e77f1a73fb6", "sha256": "b817d6660fdeb459200b161b8b0baf1c4e67e967a4b1f0632cf76732e4ac8211" }, "downloads": -1, "filename": "django-bananas-1.3.3.tar.gz", "has_sig": false, "md5_digest": "2e6a645f0490ad9bff300e77f1a73fb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29511, "upload_time": "2018-04-04T15:30:36", "upload_time_iso_8601": "2018-04-04T15:30:36.309749Z", "url": "https://files.pythonhosted.org/packages/d4/d6/cfdde6fe9e3f9d41e11f61ce2e8017e196557da4d485288c16ab90f4c98b/django-bananas-1.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "c7b74c20e12ffa05507cdd367994d5e7", "sha256": "8ec994f4819ef3f24f622423ad252776b14e0a29ef4b646c4eadbf7154a8a6d2" }, "downloads": -1, "filename": "django-bananas-1.3.4.tar.gz", "has_sig": false, "md5_digest": "c7b74c20e12ffa05507cdd367994d5e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29526, "upload_time": "2018-06-19T11:53:33", "upload_time_iso_8601": "2018-06-19T11:53:33.766809Z", "url": "https://files.pythonhosted.org/packages/64/89/bc4165cb29bd48d01f5cc622aa1f71a55b9f5a9951869d570d5d602c3c36/django-bananas-1.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "553fb7e5661d3e10cb63bb1af9b2e7ca", "sha256": "68de12851364c56882658d2fc2e7960f8e1b8d95159763ca59ec74ff989fc8cd" }, "downloads": -1, "filename": "django-bananas-1.3.5.tar.gz", "has_sig": false, "md5_digest": "553fb7e5661d3e10cb63bb1af9b2e7ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31130, "upload_time": "2019-01-17T13:31:01", "upload_time_iso_8601": "2019-01-17T13:31:01.578783Z", "url": "https://files.pythonhosted.org/packages/de/a6/0360b464271c6811b030ad2367c84baf80a577b7a481233427a3d7ce2ada/django-bananas-1.3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4": [ { "comment_text": "", "digests": { "md5": "57e5ebf8ddcbedc6982124d7e15cafec", "sha256": "4f5e0a7833aa404b673dac108d85491bf6f8cd29ceb01eeedfccd24114b5dc64" }, "downloads": -1, "filename": "django-bananas-1.4.tar.gz", "has_sig": false, "md5_digest": "57e5ebf8ddcbedc6982124d7e15cafec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40183, "upload_time": "2019-02-04T14:29:47", "upload_time_iso_8601": "2019-02-04T14:29:47.217543Z", "url": "https://files.pythonhosted.org/packages/22/b0/9ca2b45defe76ebadf6960b3fcb9645cac9cada6c0bf5ef6a9bedd316632/django-bananas-1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "e5f4f52f99210daf3797e194d3c824f5", "sha256": "b5ffd5b14fb38456c0c88efc5ccb45376126cc27841082bee1d28a4389fad09a" }, "downloads": -1, "filename": "django-bananas-1.4.1.tar.gz", "has_sig": false, "md5_digest": "e5f4f52f99210daf3797e194d3c824f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36289, "upload_time": "2019-02-11T12:27:45", "upload_time_iso_8601": "2019-02-11T12:27:45.596164Z", "url": "https://files.pythonhosted.org/packages/d8/2e/7aebe96400aa5fe5dc441eedb4b6c53bd4403f06ce55de3bc3f9df562494/django-bananas-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "5d2bf441a26778fe087c12f54fbc3f16", "sha256": "310262e6a178e70611d6fb43574ffcf30f12492022e38438e4601a27e2023698" }, "downloads": -1, "filename": "django-bananas-1.4.2.tar.gz", "has_sig": false, "md5_digest": "5d2bf441a26778fe087c12f54fbc3f16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36641, "upload_time": "2019-04-03T11:18:35", "upload_time_iso_8601": "2019-04-03T11:18:35.027670Z", "url": "https://files.pythonhosted.org/packages/07/45/e1cd90e6a101d8e4d1cf39f2ff3269e87a5bc99bee9553c8e04a131f90c5/django-bananas-1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "f678f5d2daeb26ae1e4a9638d16949e6", "sha256": "d2cb906694ac316f78b416f1eb5c0559a1e2d2d899c608b602f2abd97499d04b" }, "downloads": -1, "filename": "django-bananas-1.4.3.tar.gz", "has_sig": false, "md5_digest": "f678f5d2daeb26ae1e4a9638d16949e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36671, "upload_time": "2019-04-04T06:21:56", "upload_time_iso_8601": "2019-04-04T06:21:56.805563Z", "url": "https://files.pythonhosted.org/packages/cb/d7/4a80f70f87f75bb0e6b53f28627882f334774db277e0abd915c6e8b13c2e/django-bananas-1.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "eee78e58b1ca5db7c7cd607d8bfc12fe", "sha256": "228466b0adce7732edcffe74d54928dc865c8701178a41fcc096d2b896687518" }, "downloads": -1, "filename": "django-bananas-1.4.4.tar.gz", "has_sig": false, "md5_digest": "eee78e58b1ca5db7c7cd607d8bfc12fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36705, "upload_time": "2019-04-04T14:36:39", "upload_time_iso_8601": "2019-04-04T14:36:39.310862Z", "url": "https://files.pythonhosted.org/packages/fc/66/6d398fc1b297cfb3728ec5c0059cceacee52566255fc3ee55dce582bb8bd/django-bananas-1.4.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4b1": [ { "comment_text": "", "digests": { "md5": "d1e4c4e4b66d8835d953a7f8b615bc7d", "sha256": "1e1429b2f81b4582724f024e5bf2aab7b63bfd59f13d9e66bee9c76caedd5a1d" }, "downloads": -1, "filename": "django-bananas-1.4b1.tar.gz", "has_sig": false, "md5_digest": "d1e4c4e4b66d8835d953a7f8b615bc7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35499, "upload_time": "2018-12-13T10:01:44", "upload_time_iso_8601": "2018-12-13T10:01:44.929929Z", "url": "https://files.pythonhosted.org/packages/eb/e0/81dd66a56581d762f1a711561372157eca212303910d3e34585d0d7c865b/django-bananas-1.4b1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4b2": [ { "comment_text": "", "digests": { "md5": "1ccd353e61b7caca7589204c6f9bd7fd", "sha256": "a58a564d00cf4dced4d2d0bccf7d6e2993913afaa5939a57de68267347574900" }, "downloads": -1, "filename": "django-bananas-1.4b2.tar.gz", "has_sig": false, "md5_digest": "1ccd353e61b7caca7589204c6f9bd7fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35539, "upload_time": "2019-01-18T08:58:39", "upload_time_iso_8601": "2019-01-18T08:58:39.164493Z", "url": "https://files.pythonhosted.org/packages/38/34/a7e8faea27344d610853a9413104a1b271b1f60f93bfc455dd1a4e80422e/django-bananas-1.4b2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4b3": [ { "comment_text": "", "digests": { "md5": "6a4f7c8887048a31409e891ca9ee2468", "sha256": "e1814e47a95ab7a959602bce49f10f64b840848ab3904bdcb0163e9f8a8c37eb" }, "downloads": -1, "filename": "django-bananas-1.4b3.tar.gz", "has_sig": false, "md5_digest": "6a4f7c8887048a31409e891ca9ee2468", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35574, "upload_time": "2019-01-22T18:19:03", "upload_time_iso_8601": "2019-01-22T18:19:03.813206Z", "url": "https://files.pythonhosted.org/packages/a0/aa/7ad0fc0ac0b37ec2cf973797557bdb0dcc4c44fb2a0bc151bcfe2a266302/django-bananas-1.4b3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5": [ { "comment_text": "", "digests": { "md5": "3b720a58d1354f1f9a6cbfe0a9f5489d", "sha256": "daa340fa6259835640b4a27f172b4d4a9beb181376971fc3f87b43fd7a523bca" }, "downloads": -1, "filename": "django_bananas-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "3b720a58d1354f1f9a6cbfe0a9f5489d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46955, "upload_time": "2019-10-24T09:21:49", "upload_time_iso_8601": "2019-10-24T09:21:49.720394Z", "url": "https://files.pythonhosted.org/packages/5b/b5/f1012013b9c59869d8b2e6d963cd1dd0960a6bc8dfa3b8af4a6efe7904ed/django_bananas-1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9e653189db8307724e168b78c30e7ff8", "sha256": "73baa727a69a1288e3d6f6ad63c6201ce98f8a234a569fa2120d7dab8d967cd5" }, "downloads": -1, "filename": "django-bananas-1.5.tar.gz", "has_sig": false, "md5_digest": "9e653189db8307724e168b78c30e7ff8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41109, "upload_time": "2019-10-24T09:21:51", "upload_time_iso_8601": "2019-10-24T09:21:51.646986Z", "url": "https://files.pythonhosted.org/packages/e9/6b/ab9038ecb00fe8f9fc53b7e8fbe4d7797eed66a4db7669643bb4fc281a32/django-bananas-1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "a5a7dd3e6c9df9235cdc3b6715192b97", "sha256": "12498dfe758394dbd0c111e00f88d7a7a6a499838fb70fd5b8943e575875efe4" }, "downloads": -1, "filename": "django_bananas-1.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a5a7dd3e6c9df9235cdc3b6715192b97", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47331, "upload_time": "2019-11-21T12:26:34", "upload_time_iso_8601": "2019-11-21T12:26:34.455323Z", "url": "https://files.pythonhosted.org/packages/f7/d4/07b0bd4171a80ac948c62b61b95522b3e7de212edf0270a1db5ef06d1b1b/django_bananas-1.5.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2072366d282468793c5363f19217ecf9", "sha256": "80e9c3aa398c6bdc44d9bcedfd40b58a4c21b6b7b0fcd855619053003af70274" }, "downloads": -1, "filename": "django-bananas-1.5.1.tar.gz", "has_sig": false, "md5_digest": "2072366d282468793c5363f19217ecf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41292, "upload_time": "2019-11-21T12:26:36", "upload_time_iso_8601": "2019-11-21T12:26:36.730370Z", "url": "https://files.pythonhosted.org/packages/df/9f/a77c94fb7902242609d6a0737171c62352c82db99200df59a11ecd3ef5e6/django-bananas-1.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "e429f87a4210e692b596d07314981316", "sha256": "c5666894fff51cf853a81a6fb7c1704b50dfc4ad890db252b2f64ed283547dea" }, "downloads": -1, "filename": "django_bananas-1.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e429f87a4210e692b596d07314981316", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47334, "upload_time": "2020-03-11T10:41:27", "upload_time_iso_8601": "2020-03-11T10:41:27.043513Z", "url": "https://files.pythonhosted.org/packages/ab/a4/fc186da5e21b8a5a05ee8a6b273fcbabfafcd25afa96229b9bdda2e021ff/django_bananas-1.5.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "170fa57e8968b132ad604463a4ded9ad", "sha256": "b9a2a0b205682d4d1e12e8361ba740a9ff01ab9302bb05587d971ccad746dd50" }, "downloads": -1, "filename": "django-bananas-1.5.2.tar.gz", "has_sig": false, "md5_digest": "170fa57e8968b132ad604463a4ded9ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41295, "upload_time": "2020-03-11T10:41:29", "upload_time_iso_8601": "2020-03-11T10:41:29.388284Z", "url": "https://files.pythonhosted.org/packages/18/83/fb26f09d14744bbf185a8114485b48dc6d3f4723278189cbb6429ea5a9f7/django-bananas-1.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.3": [ { "comment_text": "", "digests": { "md5": "15f6e1ef0bcec0f8b366d651ba7b8c70", "sha256": "096e4b67ce8556fc28362aefa7642951442db6001706de2c332982925350b8c8" }, "downloads": -1, "filename": "django_bananas-1.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "15f6e1ef0bcec0f8b366d651ba7b8c70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47342, "upload_time": "2020-05-11T09:51:32", "upload_time_iso_8601": "2020-05-11T09:51:32.011745Z", "url": "https://files.pythonhosted.org/packages/70/38/500db9821414da05a46e2f2517e3f04b630fb5629311f1b7f80a66005398/django_bananas-1.5.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f94c93e521cb1b4605ca6dd49e16d93a", "sha256": "de080e9469ac713a5447393e46192d9a07085fbe1236df205bc71ce96461c379" }, "downloads": -1, "filename": "django-bananas-1.5.3.tar.gz", "has_sig": false, "md5_digest": "f94c93e521cb1b4605ca6dd49e16d93a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41307, "upload_time": "2020-05-11T09:51:33", "upload_time_iso_8601": "2020-05-11T09:51:33.561936Z", "url": "https://files.pythonhosted.org/packages/63/cb/fd27c8912c0703bd60a5de7d95f9a7a3018d640b39bef4c29328e800b67b/django-bananas-1.5.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.4": [ { "comment_text": "", "digests": { "md5": "1db27c7b9b9cbb6ab65de3be539d4841", "sha256": "78aeb44727567456b108072e9d650e3fd4dccb3397a0b0ddb9e7d38e84152dd0" }, "downloads": -1, "filename": "django_bananas-1.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1db27c7b9b9cbb6ab65de3be539d4841", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47424, "upload_time": "2020-06-24T09:12:11", "upload_time_iso_8601": "2020-06-24T09:12:11.942048Z", "url": "https://files.pythonhosted.org/packages/40/51/5564c57661287e876bcb61f39d95af7690d28fac1aa3443c70689dd98680/django_bananas-1.5.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1598ca0483462bcb93295304e0038fa3", "sha256": "22a0833f0b867ff2d97ccdffbe21c7104ba849c7a5ae29277acfc811c760ef1b" }, "downloads": -1, "filename": "django-bananas-1.5.4.tar.gz", "has_sig": false, "md5_digest": "1598ca0483462bcb93295304e0038fa3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41391, "upload_time": "2020-06-24T09:12:13", "upload_time_iso_8601": "2020-06-24T09:12:13.737702Z", "url": "https://files.pythonhosted.org/packages/68/5e/e2646cc0cba111a3d6eb7e633bbe15c1e436dea7fdafe9a523bc64869de9/django-bananas-1.5.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.5": [ { "comment_text": "", "digests": { "md5": "1eb30223cfdb66d5f3ec7be590cfb6e3", "sha256": "234a04f403364831d5d33f3173d373f2f02581938d60a1b6815699b38e0aa2d1" }, "downloads": -1, "filename": "django_bananas-1.5.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1eb30223cfdb66d5f3ec7be590cfb6e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47437, "upload_time": "2020-08-18T08:27:34", "upload_time_iso_8601": "2020-08-18T08:27:34.307735Z", "url": "https://files.pythonhosted.org/packages/19/71/32dd319056c62f35177401dc64e1e2dbbf2608d710ededff101f61c5e0a5/django_bananas-1.5.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f17377af1df3c3840481feb0b6294bab", "sha256": "46e9c4cf318f786dfc58f67b6e472ccdfefc6cae11e8d83ebf7c971c52fd9688" }, "downloads": -1, "filename": "django-bananas-1.5.5.tar.gz", "has_sig": false, "md5_digest": "f17377af1df3c3840481feb0b6294bab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41425, "upload_time": "2020-08-18T08:27:36", "upload_time_iso_8601": "2020-08-18T08:27:36.563653Z", "url": "https://files.pythonhosted.org/packages/1b/b4/d6f4e9ece290c6ecbdd4f51e23cffbc56a370eedac36732a6ea0eb6d72d9/django-bananas-1.5.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0": [ { "comment_text": "", "digests": { "md5": "73c5c9b1a2f676abbb9c557d605eeeef", "sha256": "8a29572176c2ab1ca92b4c5c34952bc99c6737a0d23dd4a5cfe5087e51660be5" }, "downloads": -1, "filename": "django_bananas-2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "73c5c9b1a2f676abbb9c557d605eeeef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 68307, "upload_time": "2021-10-11T08:27:33", "upload_time_iso_8601": "2021-10-11T08:27:33.111632Z", "url": "https://files.pythonhosted.org/packages/fb/75/285ca57ec645fcab9415ced7471d7f7462518b63db28bab5ddee10038ac3/django_bananas-2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "76b16bcfc9e2202ece467ad45b56d33e", "sha256": "48500b151884f92b904f82aca0427151bd45e7bfaab02a82b9460a03c2e6c33e" }, "downloads": -1, "filename": "django-bananas-2.0.tar.gz", "has_sig": false, "md5_digest": "76b16bcfc9e2202ece467ad45b56d33e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 59178, "upload_time": "2021-10-11T08:27:35", "upload_time_iso_8601": "2021-10-11T08:27:35.019227Z", "url": "https://files.pythonhosted.org/packages/58/56/988435f3909367bdf87eaae164522e783d9f46d6819475d18c82e65a72b7/django-bananas-2.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "73c5c9b1a2f676abbb9c557d605eeeef", "sha256": "8a29572176c2ab1ca92b4c5c34952bc99c6737a0d23dd4a5cfe5087e51660be5" }, "downloads": -1, "filename": "django_bananas-2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "73c5c9b1a2f676abbb9c557d605eeeef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 68307, "upload_time": "2021-10-11T08:27:33", "upload_time_iso_8601": "2021-10-11T08:27:33.111632Z", "url": "https://files.pythonhosted.org/packages/fb/75/285ca57ec645fcab9415ced7471d7f7462518b63db28bab5ddee10038ac3/django_bananas-2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "76b16bcfc9e2202ece467ad45b56d33e", "sha256": "48500b151884f92b904f82aca0427151bd45e7bfaab02a82b9460a03c2e6c33e" }, "downloads": -1, "filename": "django-bananas-2.0.tar.gz", "has_sig": false, "md5_digest": "76b16bcfc9e2202ece467ad45b56d33e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 59178, "upload_time": "2021-10-11T08:27:35", "upload_time_iso_8601": "2021-10-11T08:27:35.019227Z", "url": "https://files.pythonhosted.org/packages/58/56/988435f3909367bdf87eaae164522e783d9f46d6819475d18c82e65a72b7/django-bananas-2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }