{ "info": { "author": "Lincoln Loop", "author_email": "info@lincolnloop.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Multimedia :: Graphics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=============================\nPure python QR Code generator\n=============================\n\nGenerate QR codes.\n\nFor a standard install (which will include pillow_ for generating images),\nrun::\n\n pip install qrcode[pil]\n\n.. _pillow: https://pypi.python.org/pypi/Pillow\n\n\nWhat is a QR Code?\n==================\n\nA Quick Response code is a two-dimensional pictographic code used for its fast\nreadability and comparatively large storage capacity. The code consists of\nblack modules arranged in a square pattern on a white background. The\ninformation encoded can be made up of any kind of data (e.g., binary,\nalphanumeric, or Kanji symbols)\n\nUsage\n=====\n\nFrom the command line, use the installed ``qr`` script::\n\n qr \"Some text\" > test.png\n\nOr in Python, use the ``make`` shortcut function:\n\n.. code:: python\n\n import qrcode\n img = qrcode.make('Some data here')\n\nAdvanced Usage\n--------------\n\nFor more control, use the ``QRCode`` class. For example:\n\n.. code:: python\n\n import qrcode\n qr = qrcode.QRCode(\n version=1,\n error_correction=qrcode.constants.ERROR_CORRECT_L,\n box_size=10,\n border=4,\n )\n qr.add_data('Some data')\n qr.make(fit=True)\n\n img = qr.make_image(fill_color=\"black\", back_color=\"white\")\n\nThe ``version`` parameter is an integer from 1 to 40 that controls the size of\nthe QR Code (the smallest, version 1, is a 21x21 matrix).\nSet to ``None`` and use the ``fit`` parameter when making the code to determine\nthis automatically.\n\n``fill_color`` and ``back_color`` can change the background and the painting\ncolor of the QR, when using the default image factory.\n\nThe ``error_correction`` parameter controls the error correction used for the\nQR Code. The following four constants are made available on the ``qrcode``\npackage:\n\n``ERROR_CORRECT_L``\n About 7% or less errors can be corrected.\n``ERROR_CORRECT_M`` (default)\n About 15% or less errors can be corrected.\n``ERROR_CORRECT_Q``\n About 25% or less errors can be corrected.\n``ERROR_CORRECT_H``.\n About 30% or less errors can be corrected.\n\nThe ``box_size`` parameter controls how many pixels each \"box\" of the QR code\nis.\n\nThe ``border`` parameter controls how many boxes thick the border should be\n(the default is 4, which is the minimum according to the specs).\n\nOther image factories\n=====================\n\nYou can encode as SVG, or use a new pure Python image processor to encode to\nPNG images.\n\nThe Python examples below use the ``make`` shortcut. The same ``image_factory``\nkeyword argument is a valid option for the ``QRCode`` class for more advanced\nusage.\n\nSVG\n---\n\nYou can create the entire SVG or an SVG fragment. When building an entire SVG\nimage, you can use the factory that combines as a path (recommended, and\ndefault for the script) or a factory that creates a simple set of rectangles.\n\nFrom your command line::\n\n qr --factory=svg-path \"Some text\" > test.svg\n qr --factory=svg \"Some text\" > test.svg\n qr --factory=svg-fragment \"Some text\" > test.svg\n\nOr in Python:\n\n.. code:: python\n\n import qrcode\n import qrcode.image.svg\n\n if method == 'basic':\n # Simple factory, just a set of rects.\n factory = qrcode.image.svg.SvgImage\n elif method == 'fragment':\n # Fragment factory (also just a set of rects)\n factory = qrcode.image.svg.SvgFragmentImage\n else:\n # Combined path factory, fixes white space that may occur when zooming\n factory = qrcode.image.svg.SvgPathImage\n\n img = qrcode.make('Some data here', image_factory=factory)\n\nTwo other related factories are available that work the same, but also fill the\nbackground of the SVG with white::\n\n qrcode.image.svg.SvgFillImage\n qrcode.image.svg.SvgPathFillImage\n\n\nPure Python PNG\n---------------\n\nInstall the following two packages::\n\n pip install git+git://github.com/ojii/pymaging.git#egg=pymaging\n pip install git+git://github.com/ojii/pymaging-png.git#egg=pymaging-png\n\nFrom your command line::\n\n qr --factory=pymaging \"Some text\" > test.png\n\nOr in Python:\n\n.. code:: python\n\n import qrcode\n from qrcode.image.pure import PymagingImage\n img = qrcode.make('Some data here', image_factory=PymagingImage)\n\n==========\nChange log\n==========\n\n6.1 (14 January 2019)\n=====================\n\n- Fix short chunks of data not being optimized to the correct mode.\n\n- Tests fixed for Python 3\n\n\n6.0 (23 March 2018)\n===================\n\n- Fix optimize length being ignored in ``QRCode.add_data``.\n\n- Better calculation of the best mask pattern and related optimizations. Big\n thanks to cryptogun!\n\n\n5.3 (18 May 2016)\n=================\n\n* Fix incomplete block table for QR version 15. Thanks Rodrigo Queiro for the\n report and Jacob Welsh for the investigation and fix.\n\n* Avoid unnecessary dependency for non MS platforms, thanks to Noah Vesely.\n\n* Make ``BaseImage.get_image()`` actually work.\n\n\n5.2 (25 Jan 2016)\n=================\n\n* Add ``--error-correction`` option to qr script.\n\n* Fix script piping to stdout in Python 3 and reading non-UTF-8 characters in\n Python 3.\n\n* Fix script piping in Windows.\n\n* Add some useful behind-the-curtain methods for tinkerers.\n\n* Fix terminal output when using Python 2.6\n\n* Fix terminal output to display correctly on MS command line.\n\n5.2.1\n-----\n\n* Small fix to terminal output in Python 3 (and fix tests)\n\n5.2.2\n-----\n\n* Revert some terminal changes from 5.2 that broke Python 3's real life tty\n code generation and introduce a better way from Jacob Welsh.\n\n\n5.1 (22 Oct 2014)\n=================\n\n* Make ``qr`` script work in Windows. Thanks Ionel Cristian M\u0103rie\u0219\n\n* Fixed print_ascii function in Python 3.\n\n* Out-of-bounds code version numbers are handled more consistently with a\n ValueError.\n\n* Much better test coverage (now only officially supporting Python 2.6+)\n\n\n5.0 (17 Jun 2014)\n=================\n\n* Speed optimizations.\n\n* Change the output when using the ``qr`` script to use ASCII rather than\n just colors, better using the terminal real estate.\n\n* Fix a bug in passing bytecode data directly when in Python 3.\n\n* Substation speed optimizations to best-fit algorithm (thanks Jacob Welsh!).\n\n* Introduce a ``print_ascii`` method and use it as the default for the ``qr``\n script rather than ``print_tty``.\n\n5.0.1\n-----\n\n* Update version numbers correctly.\n\n\n4.0 (4 Sep 2013)\n================\n\n* Made qrcode work on Python 2.4 - Thanks tcely.\n Note: officially, qrcode only supports 2.5+.\n\n* Support pure-python PNG generation (via pymaging) for Python 2.6+ -- thanks\n Adam Wisniewski!\n\n* SVG image generation now supports alternate sizing (the default box size of\n 10 == 1mm per rectangle).\n\n* SVG path image generation allows cleaner SVG output by combining all QR rects\n into a single path. Thank you, Viktor St\u00edskala.\n\n* Added some extra simple SVG factories that fill the background white.\n\n4.0.1\n-----\n\n* Fix the pymaging backend not able to save the image to a buffer. Thanks ilj!\n\n4.0.2\n-----\n\n* Fix incorrect regex causing a comma to be considered part of the alphanumeric\n set.\n\n* Switch to using setuptools for setup.py.\n\n4.0.3\n-----\n\n* Fix bad QR code generation due to the regex comma fix in version 4.0.2.\n\n4.0.4\n-----\n\n* Bad version number for previous hotfix release.\n\n\n3.1 (12 Aug 2013)\n=================\n\n* Important fixes for incorrect matches of the alpha-numeric encoding mode.\n Previously, the pattern would match if a single line was alpha-numeric only\n (even if others wern't). Also, the two characters ``{`` and ``}`` had snuck\n in as valid characters. Thanks to Eran Tromer for the report and fix.\n\n* Optimized chunking -- if the parts of the data stream can be encoded more\n efficiently, the data will be split into chunks of the most efficient modes.\n\n3.1.1\n-----\n\n* Update change log to contain version 3.1 changes. :P\n\n* Give the ``qr`` script an ``--optimize`` argument to control the chunk\n optimization setting.\n\n\n3.0 (25 Jun 2013)\n=================\n\n* Python 3 support.\n\n* Add QRCode.get_matrix, an easy way to get the matrix array of a QR code\n including the border. Thanks Hugh Rawlinson.\n\n* Add in a workaround so that Python 2.6 users can use SVG generation (they\n must install ``lxml``).\n\n* Some initial tests! And tox support (``pip install tox``) for testing across\n Python platforms.\n\n\n2.7 (5 Mar 2013)\n================\n\n* Fix incorrect termination padding.\n\n\n2.6 (2 Apr 2013)\n================\n\n* Fix the first four columns incorrectly shifted by one. Thanks to Josep\n G\u00f3mez-Suay for the report and fix.\n\n* Fix strings within 4 bits of the QR version limit being incorrectly\n terminated. Thanks to zhjie231 for the report.\n\n\n2.5 (12 Mar 2013)\n=================\n\n* The PilImage wrapper is more transparent - you can use any methods or\n attributes available to the underlying PIL Image instance.\n\n* Fixed the first column of the QR Code coming up empty! Thanks to BecoKo.\n\n2.5.1\n-----\n\n* Fix installation error on Windows.\n\n\n2.4 (23 Apr 2012)\n=================\n\n* Use a pluggable backend system for generating images, thanks to Branko \u010cibej!\n Comes with PIL and SVG backends built in.\n\n2.4.1\n-----\n\n* Fix a packaging issue\n\n2.4.2\n-----\n\n* Added a ``show`` method to the PIL image wrapper so the ``run_example``\n function actually works.\n\n\n2.3 (29 Jan 2012)\n=================\n\n* When adding data, auto-select the more efficient encoding methods for numbers\n and alphanumeric data (KANJI still not supported).\n\n2.3.1\n-----\n\n* Encode unicode to utf-8 bytestrings when adding data to a QRCode.\n\n\n2.2 (18 Jan 2012)\n=================\n\n* Fixed tty output to work on both white and black backgrounds.\n\n* Added `border` parameter to allow customizing of the number of boxes used to\n create the border of the QR code\n\n\n2.1 (17 Jan 2012)\n=================\n\n* Added a ``qr`` script which can be used to output a qr code to the tty using\n background colors, or to a file via a pipe.\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/lincolnloop/python-qrcode", "keywords": "qr denso-wave IEC18004", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "qrcode", "package_url": "https://pypi.org/project/qrcode/", "platform": "", "project_url": "https://pypi.org/project/qrcode/", "project_urls": { "Homepage": "https://github.com/lincolnloop/python-qrcode" }, "release_url": "https://pypi.org/project/qrcode/6.1/", "requires_dist": [ "six", "colorama ; platform_system == \"Windows\"", "tox ; extra == 'dev'", "pytest ; extra == 'dev'", "mock ; (python_version < \"3\") and extra == 'dev'", "zest.releaser[recommended] ; extra == 'maintainer'", "pillow ; extra == 'pil'", "pytest ; extra == 'test'", "pytest-cov ; extra == 'test'", "mock ; (python_version < \"3\") and extra == 'test'" ], "requires_python": "", "summary": "QR Code image generator", "version": "6.1" }, "last_serial": 4692173, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "ee1a4087d780e298b3970a85a157ef0e", "sha256": "8c381164d9ae8dff354cda18c32e66d164d09644a0bf1a83137730b35b5ebf5f" }, "downloads": -1, "filename": "qrcode-1.0.tar.gz", "has_sig": false, "md5_digest": "ee1a4087d780e298b3970a85a157ef0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8585, "upload_time": "2011-11-10T11:04:21", "url": "https://files.pythonhosted.org/packages/f4/1b/a84fe7de3fbfb29fb8168a195e29f8b912134f7b3a339eee833b7d797fdc/qrcode-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "03e7f35456276980dd502a9f459e6d48", "sha256": "bb67c89c7af582667ca825065aae1c7e94c82760ab38be51ac02e5989684bf42" }, "downloads": -1, "filename": "qrcode-1.1.tar.gz", "has_sig": false, "md5_digest": "03e7f35456276980dd502a9f459e6d48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8646, "upload_time": "2011-11-27T22:20:06", "url": "https://files.pythonhosted.org/packages/d2/77/1c6b12fa021be60fbd8e97edae692b201487bfddc3e4384d61395a5f9e31/qrcode-1.1.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "a23c5a054a1059acfc716b0686db87ce", "sha256": "3da02adcd4aeefdca4d911653716df1c4d56e0713ebdd3a57f820ab88cf3e0ac" }, "downloads": -1, "filename": "qrcode-2.0.tar.gz", "has_sig": false, "md5_digest": "a23c5a054a1059acfc716b0686db87ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9537, "upload_time": "2011-11-28T02:53:33", "url": "https://files.pythonhosted.org/packages/18/b9/bb41f74493b23ab419271a3a288f470b1f78a94a76655f15652bf2ee0a02/qrcode-2.0.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "5674b64b53dacd1b956b3812f29c6a31", "sha256": "5b262e543f13b24d47664c53b0a1a6fcb7ea233dfeafa08d241494ceedf61997" }, "downloads": -1, "filename": "qrcode-2.3.tar.gz", "has_sig": false, "md5_digest": "5674b64b53dacd1b956b3812f29c6a31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11473, "upload_time": "2012-02-29T02:31:52", "url": "https://files.pythonhosted.org/packages/2d/ae/112d76b2f05d8d76db8304376dcb8bbdf6aed532aee2a79ea3eb7dfdd584/qrcode-2.3.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "574a5e617e87fd00a47a5abcc53443b4", "sha256": "f42f6e4c68935d5ea3dc57db3c74937ef408c73812a9e3ac18dd211bf0d4310b" }, "downloads": -1, "filename": "qrcode-2.3.1.tar.gz", "has_sig": false, "md5_digest": "574a5e617e87fd00a47a5abcc53443b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11575, "upload_time": "2012-03-06T23:53:34", "url": "https://files.pythonhosted.org/packages/e5/c4/baa4cd95d284bb1e9b87db79915d58ec339db560cbb2764974636cd61bb0/qrcode-2.3.1.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "10422f9c37e7cffc9e356e7e693a0c34", "sha256": "87ca82c8278b39cef10b32a6cba933061f33834e37d6f8ef82009161878cb84d" }, "downloads": -1, "filename": "qrcode-2.4.tar.gz", "has_sig": false, "md5_digest": "10422f9c37e7cffc9e356e7e693a0c34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11873, "upload_time": "2012-04-23T02:21:57", "url": "https://files.pythonhosted.org/packages/c8/cd/1949f3d3d8784df003645eece6ee6b7b3814d3102420d491e7391ae523dd/qrcode-2.4.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "23cc19394010c74d226b6ab8797957ac", "sha256": "3b7613c4bff6d4a381ab9641d384a9dd7dc48e133dc29b5f85c45e429f6713ef" }, "downloads": -1, "filename": "qrcode-2.4.1.tar.gz", "has_sig": false, "md5_digest": "23cc19394010c74d226b6ab8797957ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12958, "upload_time": "2012-04-25T01:09:10", "url": "https://files.pythonhosted.org/packages/2d/df/99407ae4f3a390328136e3a9ee399985781e109a0837fac1510cf43de8af/qrcode-2.4.1.tar.gz" } ], "2.4.2": [ { "comment_text": "", "digests": { "md5": "31cac78f491b7ee63f6767f08742f71f", "sha256": "12ac8ca2198df814964c0c51f2670bfda1b117f79ddc7871f38728afe33eab96" }, "downloads": -1, "filename": "qrcode-2.4.2.tar.gz", "has_sig": false, "md5_digest": "31cac78f491b7ee63f6767f08742f71f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12411, "upload_time": "2012-10-11T20:54:58", "url": "https://files.pythonhosted.org/packages/a1/6c/b87f7637517ac1f722ce15f82507c5d4109d7c0fe9074bf5e1166f322e4b/qrcode-2.4.2.tar.gz" } ], "2.5": [ { "comment_text": "", "digests": { "md5": "3728f297fc2ce6703823362a3e4edc39", "sha256": "d9d6784aeafa5bf65db0b6a34d1011c5e10824020a3ae5acd9d37042e8045173" }, "downloads": -1, "filename": "qrcode-2.5.tar.gz", "has_sig": false, "md5_digest": "3728f297fc2ce6703823362a3e4edc39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13012, "upload_time": "2013-03-12T04:08:44", "url": "https://files.pythonhosted.org/packages/2a/b3/5d16e0e3583b62f467bdc9dcc19f8481d5354571a1f71c0777458328a45c/qrcode-2.5.tar.gz" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "e666416cd5166b21ca47ac50963c7ca5", "sha256": "aeacf50a5518bdab16095bc4f77c6b4887c8f689ec8ba65f5ebf6e6d49ea9831" }, "downloads": -1, "filename": "qrcode-2.5.1.tar.gz", "has_sig": false, "md5_digest": "e666416cd5166b21ca47ac50963c7ca5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13229, "upload_time": "2013-03-18T03:44:46", "url": "https://files.pythonhosted.org/packages/b7/08/8baea8fa4d1095279562a421a018c86ff56caafa5a5521cc784e12e1b155/qrcode-2.5.1.tar.gz" } ], "2.6": [ { "comment_text": "", "digests": { "md5": "3bfba74a7cb36d37dd5d629d938400fd", "sha256": "258c8f2433bd10a6c72452a9c918a72a4ad897bb6596c4aa1b18b3d016a3a943" }, "downloads": -1, "filename": "qrcode-2.6.tar.gz", "has_sig": false, "md5_digest": "3bfba74a7cb36d37dd5d629d938400fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13310, "upload_time": "2013-04-01T22:51:00", "url": "https://files.pythonhosted.org/packages/52/c4/7d63de9f32ebd07abfb42601dd69079370308675903b626b3c4e8db969f5/qrcode-2.6.tar.gz" } ], "2.7": [ { "comment_text": "", "digests": { "md5": "9c0c3d85aae468ac5ed9a501306d00d0", "sha256": "da6c9c60706b25ac6c3eacabd62096ca96f3d0fe745d3e45a3e3224035b9eef1" }, "downloads": -1, "filename": "qrcode-2.7.tar.gz", "has_sig": false, "md5_digest": "9c0c3d85aae468ac5ed9a501306d00d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13513, "upload_time": "2013-04-04T19:01:58", "url": "https://files.pythonhosted.org/packages/57/20/d2bab7d99b1ca5ed5229d8cb6411df44ac25f953810a08b69e9799bd88f8/qrcode-2.7.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "62554b4442be39cf858cebfa0a4345fc", "sha256": "62301be33b55b90d145f99dc76fc5e427dda5319c414c95d1bc70f58770b36fd" }, "downloads": -1, "filename": "qrcode-3.0.tar.gz", "has_sig": false, "md5_digest": "62554b4442be39cf858cebfa0a4345fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14068, "upload_time": "2013-06-25T04:43:57", "url": "https://files.pythonhosted.org/packages/8c/bf/ea868fd04256f200529663a9abe83f76c7127407580850c2d6afef208f71/qrcode-3.0.tar.gz" } ], "3.1": [ { "comment_text": "", "digests": { "md5": "942aba2ba697809fcaf353a60fa5b4cb", "sha256": "d638ac1a877cb92413c625a2334eacf95d1b7225f9211ed3028045bf8806838a" }, "downloads": -1, "filename": "qrcode-3.1.tar.gz", "has_sig": false, "md5_digest": "942aba2ba697809fcaf353a60fa5b4cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14762, "upload_time": "2013-08-12T06:20:47", "url": "https://files.pythonhosted.org/packages/a3/c2/3d98733ffe4e9ad6e1a7ca93eaa99338348d2d912d07b3dbbc2fca8c00a1/qrcode-3.1.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "e067f500b418aa16d80f196205ec1579", "sha256": "c5f5d32e4663f94eb27c2a307e91af5f0ebb10a9e4fff5620080a63c562b7c39" }, "downloads": -1, "filename": "qrcode-3.1.1.tar.gz", "has_sig": true, "md5_digest": "e067f500b418aa16d80f196205ec1579", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15164, "upload_time": "2013-08-13T23:31:47", "url": "https://files.pythonhosted.org/packages/56/35/2a41342097d29d171f4bc7d2daff2ccc2cdd18b5e1666b94944ffd48c266/qrcode-3.1.1.tar.gz" } ], "4.0": [ { "comment_text": "", "digests": { "md5": "b690350d0996e362d541167adaabdcd2", "sha256": "f414241ac54c5ebf972694ccfa1bcb1437fc63a5b3c948807c5b580c306174ed" }, "downloads": -1, "filename": "qrcode-4.0.tar.gz", "has_sig": true, "md5_digest": "b690350d0996e362d541167adaabdcd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18157, "upload_time": "2013-09-03T12:46:31", "url": "https://files.pythonhosted.org/packages/37/df/76112c9d2de224860508b4bc46f9a3db94ea0d488ca35c84316573814259/qrcode-4.0.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "a0883e022038967cc08ba47d59600794", "sha256": "23b5a32dbd01ba61ba33e1a6b4d79bb37220e60ab8849a9a256be52f02ec62d8" }, "downloads": -1, "filename": "qrcode-4.0.1.tar.gz", "has_sig": true, "md5_digest": "a0883e022038967cc08ba47d59600794", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18091, "upload_time": "2013-09-05T22:46:09", "url": "https://files.pythonhosted.org/packages/27/dd/6effdccf21042e538dce3402e2318bf1a0a71cc6cf8eede13d1559468b4d/qrcode-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "8cb836cfba057047933a34464f3f8563", "sha256": "ac811aaf9333c0e157dce2382d54f53369c4a4d65e9da1845c9942096a761ab8" }, "downloads": -1, "filename": "qrcode-4.0.2.tar.gz", "has_sig": true, "md5_digest": "8cb836cfba057047933a34464f3f8563", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18779, "upload_time": "2013-10-28T10:24:41", "url": "https://files.pythonhosted.org/packages/c4/02/447c01a91b740aa17cad5d3f774ffe6ef9e704b0088f50b1e79847590721/qrcode-4.0.2.tar.gz" } ], "4.0.4": [ { "comment_text": "", "digests": { "md5": "c1dd31ed47a90498db645b61e0adfe5a", "sha256": "f3993aea9e3af2ca92b64128a81f36ed978a44d115a214293bfcd2cae7de8f6e" }, "downloads": -1, "filename": "qrcode-4.0.4.tar.gz", "has_sig": true, "md5_digest": "c1dd31ed47a90498db645b61e0adfe5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18769, "upload_time": "2013-10-29T22:07:42", "url": "https://files.pythonhosted.org/packages/bb/33/76a698147ecafc258c070eb36193399a4db05e19d43828f1519864a2cbf0/qrcode-4.0.4.tar.gz" } ], "5.0": [ { "comment_text": "", "digests": { "md5": "4be1b7dd5daf096a69ffbe6139dbb622", "sha256": "ad5adfb66d9f6ada3c58a103165933c42bfb6eb101dfe764b358963d3b8114ba" }, "downloads": -1, "filename": "qrcode-5.0.tar.gz", "has_sig": true, "md5_digest": "4be1b7dd5daf096a69ffbe6139dbb622", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20523, "upload_time": "2014-06-17T02:35:05", "url": "https://files.pythonhosted.org/packages/d8/4f/ce76c747f8def8170663ef0c89924c2ddf3d657ca7d19eb51a3c1f1bc37b/qrcode-5.0.tar.gz" } ], "5.0.1": [ { "comment_text": "", "digests": { "md5": "bef9cccd638888724cd2ae31860875b5", "sha256": "5ce16060c2c4f9fc9455bc82766c227e55ee9b43bfb9f17bfe3f1f5ba5eecf3c" }, "downloads": -1, "filename": "qrcode-5.0.1.tar.gz", "has_sig": true, "md5_digest": "bef9cccd638888724cd2ae31860875b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20546, "upload_time": "2014-06-17T04:54:35", "url": "https://files.pythonhosted.org/packages/b4/5a/f5b06bacac05f8d88c6f3d0ddc4685f81c05402945a46b49e9062bf39be7/qrcode-5.0.1.tar.gz" } ], "5.1": [ { "comment_text": "", "digests": { "md5": "1f20223419bbf992208ada0c12ed4577", "sha256": "33bdee5e834fc99eb538e1dad198a3a5b70d0a88845629cacf4c592be1ce7f6a" }, "downloads": -1, "filename": "qrcode-5.1.tar.gz", "has_sig": true, "md5_digest": "1f20223419bbf992208ada0c12ed4577", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22259, "upload_time": "2014-10-22T00:31:07", "url": "https://files.pythonhosted.org/packages/6b/56/be86dfa1ee7643c9f662ffc8609f4a5d3d97977bab130524731c253507e2/qrcode-5.1.tar.gz" } ], "5.2": [ { "comment_text": "", "digests": { "md5": "bde57adb2f9cfd76654084086593785d", "sha256": "0f411862638ec671dab98cfba39e73f295ce3f50341d0f846bf9025ff1f72a59" }, "downloads": -1, "filename": "qrcode-5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bde57adb2f9cfd76654084086593785d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31112, "upload_time": "2016-01-24T21:39:55", "url": "https://files.pythonhosted.org/packages/b0/fc/93511e67eaafa8bf5b2f929bf7838681fb0de309b99a69a83f8e366bb834/qrcode-5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84a63968432bfd415ea00c4e1c5e1ba4", "sha256": "21d856e11cc648d72040f4085ec590e37372ae1eb80392c06cede91df19ecbd2" }, "downloads": -1, "filename": "qrcode-5.2.tar.gz", "has_sig": false, "md5_digest": "84a63968432bfd415ea00c4e1c5e1ba4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23972, "upload_time": "2016-01-24T21:40:00", "url": "https://files.pythonhosted.org/packages/19/a8/6f64aea9903015f489f51139143c33d7ba2cbfceb4685fec2d4103620e61/qrcode-5.2.tar.gz" } ], "5.2.1": [ { "comment_text": "", "digests": { "md5": "0546534dab893da723853ef6cd0b3eb7", "sha256": "11d0afec5bcee35d51a4e035b1d077ec5c0faa4c21090d98908d838732cf3e81" }, "downloads": -1, "filename": "qrcode-5.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "0546534dab893da723853ef6cd0b3eb7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31216, "upload_time": "2016-01-24T22:50:59", "url": "https://files.pythonhosted.org/packages/d4/81/a85f4d3038a2243a3a6ffb1bc0f3b53f231e66dcde8965316d1fa6f46b66/qrcode-5.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0058d5c6d575c41346d15b89412247b9", "sha256": "52e6f42143ab92b899da64132cc3be22afdcc69e3eb9bf96886fbf2905fdba34" }, "downloads": -1, "filename": "qrcode-5.2.1.tar.gz", "has_sig": true, "md5_digest": "0058d5c6d575c41346d15b89412247b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23703, "upload_time": "2016-01-24T22:51:10", "url": "https://files.pythonhosted.org/packages/79/4c/f2041b67e2f9bbc53f0887e122f4a79f3ea1bcd39755bcb317c851ef41a0/qrcode-5.2.1.tar.gz" } ], "5.2.2": [ { "comment_text": "", "digests": { "md5": "d2ee3dd71997ec2b52f112b5c4c0b7ba", "sha256": "dd56ba401f147420f747898bc2ce1f02fb37ce22619aa43086f62160e77cf3b2" }, "downloads": -1, "filename": "qrcode-5.2.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d2ee3dd71997ec2b52f112b5c4c0b7ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 89221, "upload_time": "2016-01-25T04:07:53", "url": "https://files.pythonhosted.org/packages/27/18/47f15a6712fa4d42199b9ca3e37b5aa1efd984d40fb65f6cf79939fdd004/qrcode-5.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19b0c93e80087b31681080536f1bfbbd", "sha256": "d96628a1c1807340509746a58191073468c1c6d1f3de5c26ed1fcdceadc3de19" }, "downloads": -1, "filename": "qrcode-5.2.2.tar.gz", "has_sig": true, "md5_digest": "19b0c93e80087b31681080536f1bfbbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23926, "upload_time": "2016-01-25T04:08:00", "url": "https://files.pythonhosted.org/packages/8a/6e/262728c9774fa9fa7e08dbace5cfcfdc1fb6c4f35835646d484f977d0179/qrcode-5.2.2.tar.gz" } ], "5.3": [ { "comment_text": "", "digests": { "md5": "0b4196938fd14c76159de1262497dc7b", "sha256": "60222a612b83231ed99e6cb36e55311227c395d0d0f62e41bb51ebbb84a9a22b" }, "downloads": -1, "filename": "qrcode-5.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "0b4196938fd14c76159de1262497dc7b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31819, "upload_time": "2016-05-18T04:24:46", "url": "https://files.pythonhosted.org/packages/39/71/c01d42a3fc1a9c768c93980f26159ec682dc7bd49407e756f671b52b8344/qrcode-5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af41b650a3675d0a0366f842de9786b9", "sha256": "4115ccee832620df16b659d4653568331015c718a754855caf5930805d76924e" }, "downloads": -1, "filename": "qrcode-5.3.tar.gz", "has_sig": true, "md5_digest": "af41b650a3675d0a0366f842de9786b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24253, "upload_time": "2016-05-18T04:24:52", "url": "https://files.pythonhosted.org/packages/87/16/99038537dc58c87b136779c0e06d46887ff5104eb8c64989aac1ec8cba81/qrcode-5.3.tar.gz" } ], "6.0": [ { "comment_text": "", "digests": { "md5": "4be6403b59b4d1e0cef437e95898c53f", "sha256": "de4ffc15065e6ff20a551ad32b6b41264f3c75275675406ddfa8e3530d154be3" }, "downloads": -1, "filename": "qrcode-6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4be6403b59b4d1e0cef437e95898c53f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34561, "upload_time": "2018-03-23T03:56:18", "url": "https://files.pythonhosted.org/packages/79/be/11999004f7e6e5db0fa410c2feacd67c07f472f4500fde0026101f31d0df/qrcode-6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e69b7d16a012947bb0c22fe0ddacfa88", "sha256": "037b0db4c93f44586e37f84c3da3f763874fcac85b2974a69a98e399ac78e1bf" }, "downloads": -1, "filename": "qrcode-6.0.tar.gz", "has_sig": false, "md5_digest": "e69b7d16a012947bb0c22fe0ddacfa88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29160, "upload_time": "2018-03-23T03:56:20", "url": "https://files.pythonhosted.org/packages/8d/b6/beed3d50e1047a2aa6437d3a653e5f31feb7f4de8bc054299dc205682e41/qrcode-6.0.tar.gz" } ], "6.1": [ { "comment_text": "", "digests": { "md5": "19182caca83777efff2e9fdb57a44a8a", "sha256": "3996ee560fc39532910603704c82980ff6d4d5d629f9c3f25f34174ce8606cf5" }, "downloads": -1, "filename": "qrcode-6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "19182caca83777efff2e9fdb57a44a8a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31073, "upload_time": "2019-01-14T00:21:15", "url": "https://files.pythonhosted.org/packages/42/87/4a3a77e59ab7493d64da1f69bf1c2e899a4cf81e51b2baa855e8cc8115be/qrcode-6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "168ba09033463737315e3b596ccf43d0", "sha256": "505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369" }, "downloads": -1, "filename": "qrcode-6.1.tar.gz", "has_sig": false, "md5_digest": "168ba09033463737315e3b596ccf43d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29363, "upload_time": "2019-01-14T00:21:17", "url": "https://files.pythonhosted.org/packages/19/d5/6c7d4e103d94364d067636417a77a6024219c58cd6e9f428ece9b5061ef9/qrcode-6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "19182caca83777efff2e9fdb57a44a8a", "sha256": "3996ee560fc39532910603704c82980ff6d4d5d629f9c3f25f34174ce8606cf5" }, "downloads": -1, "filename": "qrcode-6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "19182caca83777efff2e9fdb57a44a8a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31073, "upload_time": "2019-01-14T00:21:15", "url": "https://files.pythonhosted.org/packages/42/87/4a3a77e59ab7493d64da1f69bf1c2e899a4cf81e51b2baa855e8cc8115be/qrcode-6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "168ba09033463737315e3b596ccf43d0", "sha256": "505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369" }, "downloads": -1, "filename": "qrcode-6.1.tar.gz", "has_sig": false, "md5_digest": "168ba09033463737315e3b596ccf43d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29363, "upload_time": "2019-01-14T00:21:17", "url": "https://files.pythonhosted.org/packages/19/d5/6c7d4e103d94364d067636417a77a6024219c58cd6e9f428ece9b5061ef9/qrcode-6.1.tar.gz" } ] }