{
"info": {
"author": "Alexey Kuleshevich",
"author_email": "lehins@yandex.ru",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.2",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "django-smartfields\n##################\n\n.. image:: https://readthedocs.org/projects/django-smartfields/badge/?version=latest\n :target: https://readthedocs.org/projects/django-smartfields/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/v/django-smartfields.svg\n :target: https://pypi.python.org/pypi/django-smartfields/\n :alt: Latest Version\n\n.. image:: https://landscape.io/github/lehins/django-smartfields/master/landscape.png\n :target: https://landscape.io/github/lehins/django-smartfields/master\n :alt: Code Health\n\n.. image:: https://img.shields.io/coveralls/lehins/django-smartfields.svg\n :target: https://coveralls.io/r/lehins/django-smartfields\n :alt: Tests Coverage\n\n.. image:: https://travis-ci.org/lehins/django-smartfields.svg?branch=master\n :target: https://travis-ci.org/lehins/django-smartfields\n :alt: Travis-CI\n\n\nDjango Model Fields that are smart.\n-----------------------------------\n\nThis app introduces a declarative way of handling fields' values. It can be\nespecially useful when one field depends on a value from another field, even if\na field depends on itself. At first it might sound useless, but, as it turns\nout, it is an amazing concept that helps in writing clear, concise and DRY code.\n\nBest way to describe is on a simple example. Let's say there is a field where\nyou store a custom html page and you would like to have another field attached\nto the same model store the same page but with html tags stripped out, moreover\nyou would like it to update whenever the first field changes it's value. A\ncommon way to handle that issue is to overwrite model's ``save`` method and put\nall the logic there, right? What if you could just give a field a function that\ndoes the stripping and everything else is taking care of? Wouldn't that be nice,\nhuh? Well, that's one of many things this app let's you do.\n\nAnother great example is django's ``ImageField`` that can update ``width_field``\nand ``height_field`` whenever image is changed. This app uses similar concepts\nto achive that functionality. But here is a more powerful example that\ndemonstrates the value of this app. Let's say you would like to have a user be\nable to upload an image in any format and automatically add another version of\nthis image converted to JPEG and shrunk to fit in a box size of 1024x768. Here\nis how it could look with utilization of `django-smartfields`:\n\n.. code-block:: python\n\n from django.db import models\n\n from smartfields import fields\n from smartfields.dependencies import FileDependency\n from smartfields.processors import ImageProcessor\n\n class User(models.Model):\n # ... more fields ....\n avatar = fields.ImageField(upload_to='avatar', dependencies=[\n FileDependency(attname='avatar_jpeg', processor=ImageProcessor(\n format='JPEG', scale={'max_width': 1024, 'max_height': 768})),\n ])\n avatar_jpeg = fields.ImageField(upload_to='avatar')\n # ... more fields ...\n\nThat's it. Did I mention that it will also clean up old files, when new ones are\nuploaded?\n\nSo, hopefully I got you convinced to give this app a try. There is full\ndocumentation also on the way, but for now you can check out 'tests' folder for\nsome examples.\n\nDjango settings\n---------------\n\nRequired django apps for most of the functionality:\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n 'django.contrib.auth',\n 'django.contrib.sessions',\n 'django.contrib.contenttypes',\n 'django.contrib.sites',\n\n 'smartfields',\n\n # optional, needed for forms\n 'crispy_forms'\n ]\n\nOther required settings\n\n.. code-block:: python\n\n MIDDLEWARE = [\n 'django.contrib.sessions.middleware.SessionMiddleware',\n 'django.contrib.auth.middleware.AuthenticationMiddleware',\n 'django.contrib.messages.middleware.MessageMiddleware'\n ]\n\n SITE_ID = 1\n\nDependencies\n------------\n* `Django `_ versions >= 1.7 (should aslo work for 2.x)\n* `Python Pillow `_ - (optional) used for\n image conversion/resizing. AND/OR\n* `Wand `_ - (optional) also for image processing.\n* `ffmpeg `_ - (optional) for video conversion. (can\n be easily adopted for `avconv `_).\n* `BeautifulSoup4 `_ - (optional)\n for HTML stripping\n* `lxml `_ - (optional) for BeautifulSoup.\n* `django-crispy-forms\n `_ - (optional) for\n ajax uploading.\n* `Plupload `_ - (optional) for ajax uploading.\n* `Bootstrap3 `_ - (optional) for ajax uploading.\n\n\nChangelog\n=========\n\n1.1.0\n------\n\n* renamed ``Dependency.async`` to ``Dependency.async_``.\n Fix for `#16 `_.\n Thanks `@zglennie `_\n* Fix compatibility with ``Django=2.x``:\n\n * Added ``app_name='smartifelds'`` to ``urls.py`` file\n * Stop using ``_size`` and ``_set_size()`` attributes in ``NamedTemporaryFile``,\n since those where only available in ``Django=1.x``\n\n1.0.7\n-----\n\n* added ``gis`` fields.\n* made ``lxml`` a default parser for HTMLProcessor.\n\n1.0.6\n-----\n\n* added ``RenameFileProcessor``\n\n1.0.5\n-----\n\n* minor bug fixes.\n\n1.0.4\n-----\n\n* Switched to MIT License\n* Added ``stashed_value`` to processors.\n\n1.0.3\n-----\n\n* Added support for ``Wand`` with ``WandImageProcessor``.\n* Made it compatible with Django 1.8\n* Updated compiled JavaScript file.\n\n1.0.2\n-----\n\n* Introduced ``pre_processor``.\n* Made ``UploadTo`` serializible.\n* Got rid of custom handlers.\n* Minor bugfixes.\n\n1.0.0\n-----\n\n* Initial release\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/lehins/django-smartfields",
"keywords": "django,model fields,declarative,FileField cleanup,FileField conversion,ImageField conversion,ajax uploading",
"license": "MIT License",
"maintainer": "",
"maintainer_email": "",
"name": "django-smartfields",
"package_url": "https://pypi.org/project/django-smartfields/",
"platform": "any",
"project_url": "https://pypi.org/project/django-smartfields/",
"project_urls": {
"Homepage": "https://github.com/lehins/django-smartfields"
},
"release_url": "https://pypi.org/project/django-smartfields/1.1.0/",
"requires_dist": [
"Django (>=1.5.0)"
],
"requires_python": "",
"summary": "Django Model Fields that are smart.",
"version": "1.1.0"
},
"last_serial": 5290015,
"releases": {
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "aaeaa4274da14bd3846ba422532afadf",
"sha256": "103e5286990f219eaf9a15f1f27eb8b81587456c676d67bd1ca2e828909c8bac"
},
"downloads": -1,
"filename": "django_smartfields-1.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "aaeaa4274da14bd3846ba422532afadf",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 41308,
"upload_time": "2014-12-23T11:55:24",
"url": "https://files.pythonhosted.org/packages/ea/f3/c5a6ef2df0b5f38cb91381c5c4ddc23f1ad1d6f2cc61957e36182f8091f6/django_smartfields-1.0.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "17146bdfbbcfdef909fba0b16ac7a274",
"sha256": "f1cb77a6b6b9a2ea1f08efb436bc7678c99232ba030e77ee214a4642c3b761be"
},
"downloads": -1,
"filename": "django-smartfields-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "17146bdfbbcfdef909fba0b16ac7a274",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 38162,
"upload_time": "2014-12-23T11:55:28",
"url": "https://files.pythonhosted.org/packages/b4/98/e0103059ce5aa45c9a2cecca697c1ceb60171c8e00ada69c6e809235e4d3/django-smartfields-1.0.0.tar.gz"
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "fa1035024c156aa29806fd9d8c9c0834",
"sha256": "404dac83fd1878ef1b3e6b5998424f6592785a698b078672a1dc2e78d336cb03"
},
"downloads": -1,
"filename": "django_smartfields-1.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fa1035024c156aa29806fd9d8c9c0834",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 41467,
"upload_time": "2014-12-29T06:06:46",
"url": "https://files.pythonhosted.org/packages/97/00/89f00d9647ddf6a0fe6201899c80816cb6800936249d810205fe9679e435/django_smartfields-1.0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "11b338c07a030eb6abae0d8cf3c813b0",
"sha256": "03a785ab326486cf38f1624cf5731ada11f49dc0d781fb5c8cefb52091a71ed3"
},
"downloads": -1,
"filename": "django-smartfields-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "11b338c07a030eb6abae0d8cf3c813b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 38291,
"upload_time": "2014-12-29T06:06:49",
"url": "https://files.pythonhosted.org/packages/e3/17/eb3ca877901a4b15c4eff15eea8e9043bf438e2e368e57d1adbd251ba4a1/django-smartfields-1.0.1.tar.gz"
}
],
"1.0.2": [
{
"comment_text": "",
"digests": {
"md5": "3a7c6eec890406d294de4767167bce77",
"sha256": "4fdc3663d4249322aeeec9a11f9bfe50e80c7083e1ff314cf054f816d7944cc1"
},
"downloads": -1,
"filename": "django_smartfields-1.0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "3a7c6eec890406d294de4767167bce77",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 43321,
"upload_time": "2015-01-08T08:20:35",
"url": "https://files.pythonhosted.org/packages/d8/1d/da19480a250517e92f1bc864c2f469af2b16f447a09f2237929793841fd5/django_smartfields-1.0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a3d8d83c35160b635ee27196ab4deae3",
"sha256": "80e0ca31cfa233c20deb77ea8f1358d61d57f878e7a3c4c01092c57d1394287a"
},
"downloads": -1,
"filename": "django-smartfields-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "a3d8d83c35160b635ee27196ab4deae3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 40458,
"upload_time": "2015-01-08T08:20:38",
"url": "https://files.pythonhosted.org/packages/39/2d/2403e2433cb349192c9a41829682543d4017c215fb3d662ad5fc56bd4936/django-smartfields-1.0.2.tar.gz"
}
],
"1.0.3": [
{
"comment_text": "",
"digests": {
"md5": "6bdda2738ca8381ccc0099058369cdf4",
"sha256": "316948d7fad03044d7923f863c79eeecb68d92014d976b18f757dfd3b8889b91"
},
"downloads": -1,
"filename": "django_smartfields-1.0.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "6bdda2738ca8381ccc0099058369cdf4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 43853,
"upload_time": "2015-01-31T22:42:08",
"url": "https://files.pythonhosted.org/packages/0c/27/4eff1f00d44b749840e5549878334879bf81aebce8c18e87eed6038d0dbc/django_smartfields-1.0.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bf844989be0602e7c9657a46856bbfb8",
"sha256": "c62bb6a25e23e6804a940ad59d586d1ed40fc6ea49dc3418fdb0028e984e8166"
},
"downloads": -1,
"filename": "django-smartfields-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "bf844989be0602e7c9657a46856bbfb8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 41129,
"upload_time": "2015-01-31T22:42:12",
"url": "https://files.pythonhosted.org/packages/bd/93/9db1ee8650416abf92b92b08725e37cddf9636dda312ca5a1d7e5a541d1a/django-smartfields-1.0.3.tar.gz"
}
],
"1.0.4": [
{
"comment_text": "",
"digests": {
"md5": "02073c84e689c2f0a077c0c96c960958",
"sha256": "535060a0b8eaa50af4efcfc5d068e7db51ad0889a6b1adfe29a65d7108fe6768"
},
"downloads": -1,
"filename": "django_smartfields-1.0.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "02073c84e689c2f0a077c0c96c960958",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44156,
"upload_time": "2015-02-12T18:50:03",
"url": "https://files.pythonhosted.org/packages/5e/11/41210101183159bc6ba1d06106cd3df7aeeedae3cabc7c59d5f9781bd831/django_smartfields-1.0.4-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "259fca042bfca6bd202005173516e687",
"sha256": "cf0a07922fdafadbdbad75390abf5b2a70bd2183dcd40b2bc058a249cde98f3d"
},
"downloads": -1,
"filename": "django-smartfields-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "259fca042bfca6bd202005173516e687",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 33598,
"upload_time": "2015-02-12T18:50:06",
"url": "https://files.pythonhosted.org/packages/5e/67/b287773b7db4451a47e26ab84b217de3288c2e945082bfea9258701d3041/django-smartfields-1.0.4.tar.gz"
}
],
"1.0.5": [
{
"comment_text": "",
"digests": {
"md5": "ad8b169e9ac0ac968d972c69de673396",
"sha256": "f637c969cbc47377f069f21f721435eb97f95db374f6816c4734ea41f57c1343"
},
"downloads": -1,
"filename": "django_smartfields-1.0.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ad8b169e9ac0ac968d972c69de673396",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44487,
"upload_time": "2015-03-20T00:38:48",
"url": "https://files.pythonhosted.org/packages/ce/24/a1170b4cb73b1bdbbd1eae7689b7af6bed2f0490233650d1b28014222125/django_smartfields-1.0.5-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9c5c43b8671ccab0428ac95ee7c34806",
"sha256": "209c28e6882170a3c789d2392dab49bb7969a5ddc0670d966fc40c7f1ebd6282"
},
"downloads": -1,
"filename": "django-smartfields-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "9c5c43b8671ccab0428ac95ee7c34806",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 33933,
"upload_time": "2015-03-20T00:39:00",
"url": "https://files.pythonhosted.org/packages/da/9e/09ac8e86b4d5a1b0b09082d5013ae607c479739bd0c59fb12b5b76a85d15/django-smartfields-1.0.5.tar.gz"
}
],
"1.0.6": [
{
"comment_text": "",
"digests": {
"md5": "316c6d10c9b70c36d4605424bebc38ff",
"sha256": "5076eda514b2aef828349f0fea70be3ef6f67dd494ebde839393da44a803a080"
},
"downloads": -1,
"filename": "django_smartfields-1.0.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "316c6d10c9b70c36d4605424bebc38ff",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44852,
"upload_time": "2015-04-09T23:00:20",
"url": "https://files.pythonhosted.org/packages/1e/80/c2ff8ad7bb6ad592ed8ea87586f115977c99b742a085d320dd44682e9c39/django_smartfields-1.0.6-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "41de50b10744a90d7dcf467d2dc9cab1",
"sha256": "d59521783c9b75671aac251fb314df93d0beaaf4657db8ff389856d10a2c89a0"
},
"downloads": -1,
"filename": "django-smartfields-1.0.6.tar.gz",
"has_sig": false,
"md5_digest": "41de50b10744a90d7dcf467d2dc9cab1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34350,
"upload_time": "2015-04-09T23:00:24",
"url": "https://files.pythonhosted.org/packages/fe/a0/a6f1e98daf066ed262af7b99f2cab670f23841c44e7d2ecbf93cc88ff24f/django-smartfields-1.0.6.tar.gz"
}
],
"1.0.7": [
{
"comment_text": "",
"digests": {
"md5": "74a0dfe4645a6b210db13a6a472d9ccb",
"sha256": "02d23bca35a6ffad695ab60c51ab1bd2d4783302daf917d1ef398919ac574415"
},
"downloads": -1,
"filename": "django_smartfields-1.0.7-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "74a0dfe4645a6b210db13a6a472d9ccb",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 46022,
"upload_time": "2015-09-26T00:03:54",
"url": "https://files.pythonhosted.org/packages/55/0d/895b9a84e8c2d6c9939cfc397428d5568f696a9ec0db298b97694563414c/django_smartfields-1.0.7-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "82d33bd222a4f6316324ecc398b0a46e",
"sha256": "96b29ce9bc5338d5d4c117fb82829e7289fcce94b0a91a28e95243787d554199"
},
"downloads": -1,
"filename": "django-smartfields-1.0.7.tar.gz",
"has_sig": false,
"md5_digest": "82d33bd222a4f6316324ecc398b0a46e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 36579,
"upload_time": "2015-09-26T00:04:20",
"url": "https://files.pythonhosted.org/packages/36/58/e14d8c80f987718650f6340250dca8c9f4a906273ba7051988faaf443bff/django-smartfields-1.0.7.tar.gz"
}
],
"1.0.8": [
{
"comment_text": "",
"digests": {
"md5": "a55ad6c8bbb0a32502f69659cdfe8859",
"sha256": "5058d77d03b6220ca67d2f15b56d0d2440aaccc975d629c856e144178bc9f4b9"
},
"downloads": -1,
"filename": "django_smartfields-1.0.8-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "a55ad6c8bbb0a32502f69659cdfe8859",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 46076,
"upload_time": "2015-09-26T00:24:20",
"url": "https://files.pythonhosted.org/packages/09/8b/d269482f6db165826f51f9facd1e036542b186a85b37cc96a2ecbdea1fe6/django_smartfields-1.0.8-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b40d78102ee97c2f9bac8178c274cb9c",
"sha256": "18e8da7b2956b7a332a6198d5f35676bf02244b8786e72ff972531be7ed20b86"
},
"downloads": -1,
"filename": "django-smartfields-1.0.8.tar.gz",
"has_sig": false,
"md5_digest": "b40d78102ee97c2f9bac8178c274cb9c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 36699,
"upload_time": "2015-09-26T00:24:24",
"url": "https://files.pythonhosted.org/packages/62/b7/d80ed3761b2f066da606c4c7e8f17972f0fda2666eb4c5206c70d2598824/django-smartfields-1.0.8.tar.gz"
}
],
"1.0.9": [
{
"comment_text": "",
"digests": {
"md5": "e8acd09ba92ea63425510c38db58f7fb",
"sha256": "4bd7c78059e979467432735a06fbd9d50ab0f6dccddfcde226d4439836acb4a6"
},
"downloads": -1,
"filename": "django_smartfields-1.0.9-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e8acd09ba92ea63425510c38db58f7fb",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 46036,
"upload_time": "2015-09-26T01:45:27",
"url": "https://files.pythonhosted.org/packages/65/4a/31b192e11ef9f96889cacb3e9a1697107bf58af69c7d4b273af90e0df9b4/django_smartfields-1.0.9-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "faac3e8ed111a8f5abafb72eb21afc69",
"sha256": "77020d950da77c52d53aab9ae049978ff26339139c5c63ab58268726c18db30e"
},
"downloads": -1,
"filename": "django-smartfields-1.0.9.tar.gz",
"has_sig": false,
"md5_digest": "faac3e8ed111a8f5abafb72eb21afc69",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 36636,
"upload_time": "2015-09-26T01:45:33",
"url": "https://files.pythonhosted.org/packages/1f/75/37de94081afd8f5c28f799e09d475e93d9e09b61202d29d3b3c997c4dd36/django-smartfields-1.0.9.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "604ee99fb471a94789a1b1e3e010f8ec",
"sha256": "8c6a7d150c9c68f59a13bcf0d1c2048b84470c49e87de785da5bb92c4197569a"
},
"downloads": -1,
"filename": "django_smartfields-1.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "604ee99fb471a94789a1b1e3e010f8ec",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44395,
"upload_time": "2019-05-20T01:45:35",
"url": "https://files.pythonhosted.org/packages/89/ce/234c7619a22af0e9bd3717ce8c89021f1183f4fb49cd98b8291ed27dc7d5/django_smartfields-1.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "aac5765659e67d244666a4c002929116",
"sha256": "c58a6025c4cd121bd348d636afdef2ee34daee37c45b60939f3a7339410479a1"
},
"downloads": -1,
"filename": "django-smartfields-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "aac5765659e67d244666a4c002929116",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34530,
"upload_time": "2019-05-20T01:45:37",
"url": "https://files.pythonhosted.org/packages/7a/82/90fc3cdeb08f9253c8075ca638db65ef909f9a8fb34d6c009c95de4353ca/django-smartfields-1.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "604ee99fb471a94789a1b1e3e010f8ec",
"sha256": "8c6a7d150c9c68f59a13bcf0d1c2048b84470c49e87de785da5bb92c4197569a"
},
"downloads": -1,
"filename": "django_smartfields-1.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "604ee99fb471a94789a1b1e3e010f8ec",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44395,
"upload_time": "2019-05-20T01:45:35",
"url": "https://files.pythonhosted.org/packages/89/ce/234c7619a22af0e9bd3717ce8c89021f1183f4fb49cd98b8291ed27dc7d5/django_smartfields-1.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "aac5765659e67d244666a4c002929116",
"sha256": "c58a6025c4cd121bd348d636afdef2ee34daee37c45b60939f3a7339410479a1"
},
"downloads": -1,
"filename": "django-smartfields-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "aac5765659e67d244666a4c002929116",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34530,
"upload_time": "2019-05-20T01:45:37",
"url": "https://files.pythonhosted.org/packages/7a/82/90fc3cdeb08f9253c8075ca638db65ef909f9a8fb34d6c009c95de4353ca/django-smartfields-1.1.0.tar.gz"
}
]
}