{ "info": { "author": "Ronaldo Racum", "author_email": "ronaldo@racum.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "Django Binary Hash Fields\n=========================\n\nWork with hexadecimal, store in binary, using half of the data size.\n\nInstallation\n------------\n\nJust install via ``pip``:\n\n::\n\n pip install django-binhash\n\nAnd add to your apps on ``settings.py``:\n\n.. code:: python\n\n INSTALLED_APPS = [\n # Django apps\n 'binhash',\n # Your apps\n ]\n\nCompatibility\n-------------\n\nEnvironments\n~~~~~~~~~~~~\n\nTested under Python from 3.3 to 3.6 and also *Legacy Python* (2.7).\n\nTested under Django 1.8 to 1.11, but it can possibly run in versions way\nolder, since the fields structure is stable for a long time.\n\nDatabases\n~~~~~~~~~\n\nAt the version ``0.1.0`` it was only tested on SQLite, but if should\nwork fine in all databases officially supported by Django.\n\nFormats\n~~~~~~~\n\n- MD5\n\n - ``MD5Field``\n\n- SHA-1\n\n - ``SHA1Field``\n\n- SHA-2\n\n - ``SHA224Field``\n - ``SHA256Field``\n - ``SHA384Field``\n - ``SHA512Field``\n\nUsage\n-----\n\nJust import and set some fields:\n\n.. code:: python\n\n from django.db import models\n from binhash import (MD5Field, SHA1Field, SHA256Field)\n\n class ISOFile(models.Model):\n name = models.CharField('Name', max_length=30)\n url = models.URLField('URL')\n md5sum = MD5Field('MD5 Checksum')\n sha1sum = SHA1Field('SHA-1 Checksum')\n sha256sum = SHA256Field('SHA-256 Checksum')\n\nThan, proceed using them like CharFields:\n\n.. code:: python\n\n # Create normaly as if the fields were strings:\n ISOFile.objects.create(name='Ubuntu Server 17.04',\n md5sum='d02df11b4a7318b7250824f6d0bab9c0',\n sha1sum='bc5fb639724b5cd90eb739845f246e2c564b0dd8',\n sha256sum='632e64dde9a7da27fa96bea4d2cf78f0'\n '51065c6becc0d0f728aabfc091396256')\n\n # Fetch by string is also supported:\n ubuntu = ISOFile.objects.get(md5sum='d02df11b4a7318b7250824f6d0bab9c0')\n\n # Everything works as expected on the application side:\n print(ubuntu.sha1sum) # Shows bc5fb639724b5cd90eb739845f246e2c564b0dd8\n print(type(ubuntu.sha1sum)) # Shows \n\nIf you are feeling skeptical, check the database:\n\n::\n\n $ ./manage.py dbshell\n sqlite> .header on\n sqlite> .mode column\n sqlite> select hex(sha1sum) hex_sha1,\n ...> length(hex(sha1sum)) size_if_this_was_varchar,\n ...> length(sha1sum) actual_size\n ...> from downloads_isofile;\n hex_sha1 size_if_this_was_varchar actual_size\n ---------------------------------------- ------------------------ -----------\n BC5FB639724B5CD90EB739845F246E2C564B0DD8 40 20\n\nLicense\n-------\n\nThis library is released under the **3-Clause BSD License**.\n\n**tl;dr**: *\"free to use as long as you credit me\"*.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/racum/django-binhash", "keywords": "binhash", "license": "BSD-3-Clause", "maintainer": "", "maintainer_email": "", "name": "django-binhash", "package_url": "https://pypi.org/project/django-binhash/", "platform": "", "project_url": "https://pypi.org/project/django-binhash/", "project_urls": { "Homepage": "https://github.com/racum/django-binhash" }, "release_url": "https://pypi.org/project/django-binhash/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "Work with hexadecimal, store in binary, using half of the data size.", "version": "0.1.1" }, "last_serial": 3098271, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f0ad44cc11771c017f7221a3a7d9ff02", "sha256": "3eefe439d53793fc76f6f5e9cc5a301cbb52986d2b0c14f21af3cefb6cc215c4" }, "downloads": -1, "filename": "django-binhash-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f0ad44cc11771c017f7221a3a7d9ff02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7160, "upload_time": "2017-08-14T15:20:41", "url": "https://files.pythonhosted.org/packages/0f/1e/ebdf4725fb5fa4ef45fab06cad5819b5abbfc999ada9166b6726887b812c/django-binhash-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cad87f64d64d905086c0eef5707daeba", "sha256": "ee39dacb6324fa284ef91d1a3e033ac579a156f6755f5ec2be74ef1bdc929e6d" }, "downloads": -1, "filename": "django-binhash-0.1.1.tar.gz", "has_sig": false, "md5_digest": "cad87f64d64d905086c0eef5707daeba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7170, "upload_time": "2017-08-15T14:13:40", "url": "https://files.pythonhosted.org/packages/49/15/e6c746871f76ef082172ba670b86c38874ef0743025033d52a51eb1c7409/django-binhash-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cad87f64d64d905086c0eef5707daeba", "sha256": "ee39dacb6324fa284ef91d1a3e033ac579a156f6755f5ec2be74ef1bdc929e6d" }, "downloads": -1, "filename": "django-binhash-0.1.1.tar.gz", "has_sig": false, "md5_digest": "cad87f64d64d905086c0eef5707daeba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7170, "upload_time": "2017-08-15T14:13:40", "url": "https://files.pythonhosted.org/packages/49/15/e6c746871f76ef082172ba670b86c38874ef0743025033d52a51eb1c7409/django-binhash-0.1.1.tar.gz" } ] }