{ "info": { "author": "Lars Heuer", "author_email": "heuer@semagia.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: Microsoft :: Windows", "Operating System :: OS Independent", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "PyQRCodeNG\n==========\n\nThe PyQRCodeNG module is a QR code generator that is simple to use and written\nin pure Python. The module automates most of the building process for\ncreating QR codes. Most codes can be created using only two lines of code!\n\nUnlike other generators, all of the helpers can be controlled manually. You are\nfree to set any or all of the properties of your QR code.\n\nQR codes can be saved as SVG, XBM, EPS, PNG (by using the\n`PyPNG ` module), or plain text. They can\nalso be displayed directly in most Linux terminal emulators and Tkinter. PIL\nor Pillow are not used to render the image files.\n\nThe PyQRCodeNG module attempts to follow the QR code standard as closely as\npossible. The terminology and the encodings used in PyQRCodeNG come directly\nfrom the standard. This module also follows the algorithm laid out in the\nstandard.\n\nRequirements\n------------\n\nPyQRCodeNG only requires Python 2.7 or Python 3. You may want to install\n``PyPNG`` in order to render PNG files, but it is optional.\n\nInstallation\n------------\n\nInstallation is simple. It can be installed from pip using the following\ncommand::\n\n $ pip install -U pyqrcodeng\n\n\nReplacing PyQRCode with PyQRCodeNG\n----------------------------------\n\nPyQRCodeNG is a fork of PyQRCode since the latter seems to be unmaintained.\nThe API is mainly compatible to PyQRCode. In your code you can use the following\nimport without changing the QR Code generation code.\n\n.. code-block:: python\n\n >>> import pyqrcodeng as pyqrcode\n\n\nUsage\n-----\n\nThis is the only import you need. The heart of the module is the QRCode class.\nYou can construct the class normally, or use the *create* wrapper function.\n\n.. code-block:: python\n\n >>> import pyqrcodeng\n >>> qr = pyqrcodeng.create('Unladden swallow')\n >>> qr.png('famous-joke.png', scale=5)\n\n\nEncoding Data\n-------------\n\nThis module supports all four encodings for data: numeric, alphanumeric, kanji,\nand binary.\n\nThe numeric type is the most efficient way to encode digits. As the\nname implies it is designed to encode integers. Some numbers might be too\nlarge, the object can use a string containing only digits instead of an\nactual number.\n\n.. code-block:: python\n\n >>> number = pyqrcodeng.create(123456789012345)\n\n\nThe alphanumeric type is very limited in that it can only encode some ASCII\ncharacters. It encodes: uppercase letters, 0-9, the horizontal space, and eight\npunctuation characters. The available characters will let you encode a URL \n\n.. code-block:: python\n\n >>> url = pyqrcodeng.create('http://uca.edu')\n\n\nWhen all else fails the data can be encoded in pure binary. The quotation below\nmust be encoded in binary because of the lower-cased characters, the apostrophe\nand the new line character.\n\n\n.. code-block:: python\n\n >>> life = pyqrcodeng.create('''MR. CREOSOTE: Better get a bucket. I'm going to throw up.\n MAITRE D: Uh, Gaston! A bucket for monsieur. There you are, monsieur.''')\n\n\nThe only unimplemented encoding is ECI mode which allows for multiple encodings in one QR\ncode (this will be implemented in a future version).\n\nManually Setting The QR Code's Properties\n-----------------------------------------\n\nThere are many situation where you might wish to have more fine grained control\nover how the QR Code is generated. You can specify all the properties of your\nQR code through the *create* function. There are three main properties to a\nQR code.\n\nThe *error* parameter sets the error correction level of the code. Each level\nhas an associated name given by a letter: L, M, Q, or H; each level can\ncorrect up to 7, 15, 25, or 30 percent of the data respectively. There are\nseveral ways to specify the level, see pyqrcodeng.tables.modes for all the\npossible values. By default this parameter is set to 'H' which is the highest\npossible error correction, but it has the smallest available data\ncapacity.\n\nThe *version* parameter specifies the size and data capacity of the\ncode. Versions are any integer between 1 and 40, where version 1 is\nthe smallest QR code, and version 40 is the largest. By default, the object\nuses the data's encoding and error correction level to calculate the smallest\npossible version. You may want to specify this parameter for consistency when\ngenerating several QR codes with varying amounts of data. That way all of the\ngenerated codes would have the same size.\n\nFinally, the *mode* parameter sets how the contents will be encoded. As\nmentioned above, three of the five possible encodings have been written. By\ndefault the object uses the most efficient encoding for the contents. You can\nchange this though. See qrcode.tables.modes for a list of possible values\nfor this parameter.\n\nThe code below constructs a QR code with 25% error correction, size 27, and\nforces the encoding to be binary (rather than numeric).\n\n.. code-block:: python\n\n >>> big_code = pyqrcodeng.create('0987654321', error='L', version=27, mode='binary')\n\n\nRendering\n---------\n\nThere are many possible formats for rendering the QR Code. The first is\nto render it as a string of 1's and 0's. This is method is used to help end\nusers create their own renderer. It is also possible to print the\ncode such that it is directly displayable in most Linux terminals.\nThere are several image based renderers.\n\nThe terminal renderer outputs a string of ASCII escape codes that when\ndisplayed in a compatible terminal, will display a valid QR code. The\nbackground and module colors are settable (although as with any time you display\ncolors in the terminal, there are several caveats).\n\n.. code-block:: python\n\n >>> url.term()\n\n\nThe SVG renderer outputs the QR Code as a scalable vector graphic. This\nrenderer does not require any external modules. Instead it hand draws the\nQR code as a set paths.\n\n.. code-block:: python\n\n >>> url.svg(sys.stdout, scale=1)\n >>> url.svg('uca.svg', scale=4, module_color=\"#7D007D\")\n\n\nAlternatively, if you install the pypng module, you can render the QR Code\nto a PNG file. Colors should be specified as RGB or RGBA if you want to\ntake advantage of transparency.\n\n.. code-block:: python\n\n >>> number.png('big-number.png')\n >>> life.png('sketch.png', scale=6, module_color=(0, 0, 0, 128), background=(0xff, 0xff, 0xcc))\n\n\nFinally, there is a text based renderer. This will output the QR code as a\nstring of 1's and 0's, with each row of the code on a new line.\n\n.. code-block:: python\n\n >>> print(number.text())\n\n\nDocumentation\n-------------\nRead the online documentation at \n\nChanges\n=======\n\n1.3.4 - 2019-07-07\n------------------\n* Improved documentation\n* Internal code refactoring\n* Added CLI docs\n* (Deprecated) QRCode.terminal() did not work. Fixed.\n\n\n1.3.3 - 2019-06-30\n------------------\n* Improved documentation\n* Internal code refactoring\n* Performance improvements\n\n\n1.3.2 - 2019-06-29\n------------------\n* Initial release of PyQRCode NG (PyQRCode Next Generation)\n\n\n1.3.0 - 2018-06-26\n------------------\n* Added support for meCards etc. contributed by Riccardo Metere\n Fixed \n* Skip detecting content type if constructor mode is given to constructor.\n Contributed by Martijn van Rheenen.\n Fixed \n* Moved tests from nose to pytest since nose is deprecated,\n see \n* Updated test environment: Added PyPy, PyPy3 and Python 3.6\n* QRCode.get_png_size() is deprecated, use QRCode.symbol_size(). The latter\n returns a (width, height) tuple, not an integer.\n* Deprecated QRCode.png_as_base64_str(), use QRCode.png_data_uri() which returns\n a valid URI instead of a Base64 encoded string\n* Faster PNG generation, fixed \n* Added CLI\n Fixed #4 and \n* Added term() method to QRCode which prints the QR Code to the terminal.\n This works with Windows and Unix.\n* Deprecated QRCode.terminal() in favor of QRCode.term()\n* Added \"scale\" parameter to QRCode.text\n\n\n1.2.1 - 2016-06-20\n------------------\n* Fixed issue #43. A debug print statement got left in by mistake. I altered\n The distribution script to check and make sure it does not happen again.\n\n\n1.2 - 2016-05-20\n----------------\n* Added Kanji support.\n* Added ability to output PNG QR codes as a base64 string. Allows coded to be\n created for web services without the need to create intermediary files.\n Thanks to [F\u00e1bio C. Barrionuevo da Luz (luzfcb)](https://github.com/luzfcb)\n* Added renderer for XBM. Displaying QR codes in Tkinter is now extremely\n simple. Thanks to [Seth VanHeulen (svanheulen)](https://github.com/svanheulen)\n\n\n1.1.1 - 2016-02-27\n------------------\n* Fix for issue #38, where numeric encodings got broken by added unicode support.\n\n\n1.1 - 2016-04-15\n----------------\n* Added support for Python 2.6\n* All renderers now have a **quiet zone of four**. This value is settable via a\n parameter.\n* Fixed issue where file streams were not being closed correctly\n* **Special thanks goes to [Lars (heuer)](https://github.com/heuer) who \n contributed a massive amount of improvements in this version.**\n\n * Enormously improved SVG implementation. Now uses paths instead of lines.\n Also allows for SVG fragments instead of entire documents.\n * We now have unit tests!! He wrote over 100 unit tests for\n all of the various parts of the library.\n * A new EPS renderer.\n * A mechanism for showing QR codes directly from within your code.\n\n\n1.0 - 2014-12-04\n----------------\n* Fixed issue where terminal bits were being added in the wrong location.\n* Added ability to output QR code to a Linux terminal.\n* Added support for Python 2.7\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/pyqrcode/pyqrcodeNG", "keywords": "qrcode,qr", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "PyQRCodeNG", "package_url": "https://pypi.org/project/PyQRCodeNG/", "platform": "", "project_url": "https://pypi.org/project/PyQRCodeNG/", "project_urls": { "Homepage": "https://github.com/pyqrcode/pyqrcodeNG" }, "release_url": "https://pypi.org/project/PyQRCodeNG/1.3.4/", "requires_dist": [ "pypng (>=0.0.13); extra == 'png'" ], "requires_python": "", "summary": "PyQRCode New Generation -- A QR code generator written purely in Python with SVG, EPS, PNG and terminal output.", "version": "1.3.4" }, "last_serial": 5496325, "releases": { "1.3.2": [ { "comment_text": "", "digests": { "md5": "b3dd967955a94cab4922f494adaa397c", "sha256": "9b954571895c7bd0e9e736cfbb9d560b4f00a00403987d26b4c5edae296be5a8" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b3dd967955a94cab4922f494adaa397c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 46339, "upload_time": "2019-06-29T21:55:22", "url": "https://files.pythonhosted.org/packages/17/31/a889c12b1732748a4f0e5611ea34b0c81a2a6efbb075ad5e041a7e630f3a/PyQRCodeNG-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92d5eaae05421c66f6e529603dc6629a", "sha256": "96d130f24e51d1125a407472ae87772a412b50b2f5f3d49dfc8d04daf722ed13" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.2.tar.gz", "has_sig": false, "md5_digest": "92d5eaae05421c66f6e529603dc6629a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49310, "upload_time": "2019-06-29T21:55:24", "url": "https://files.pythonhosted.org/packages/73/a8/9ded85fefb322a16cca5047f53e13451f63642ec615142e1e41f7f18e688/PyQRCodeNG-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "edf002bba27fe1b5d1552377776c2d63", "sha256": "939dec18a2b57d404489e75eb58684ac24ba535a2566557c32c9ca76ae73a8e9" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "edf002bba27fe1b5d1552377776c2d63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 46075, "upload_time": "2019-06-30T20:44:18", "url": "https://files.pythonhosted.org/packages/13/a0/a8b2de3a46034988b9b6969f0464c23b1a2856cef0509e90b938202b2d78/PyQRCodeNG-1.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4742369620a7f8314174a276730036bd", "sha256": "85a8a1e1a4ca8f6beb9579cbda43c084662e904788bc236f3d441490a59a0c15" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.3.tar.gz", "has_sig": false, "md5_digest": "4742369620a7f8314174a276730036bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48930, "upload_time": "2019-06-30T20:44:20", "url": "https://files.pythonhosted.org/packages/9a/ad/3f5690492dd83f17ad027f72fa772cc66263dceaf0c08134b733586f350a/PyQRCodeNG-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "a292141597927157c413b3247de74bd2", "sha256": "50368185c7c3dbabfbbf97e4f903bc444b0226505eb239cd20b7ef58e29a0c89" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a292141597927157c413b3247de74bd2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 46737, "upload_time": "2019-07-07T06:20:47", "url": "https://files.pythonhosted.org/packages/0f/b9/c526858df9e0e948937dcb7be8d3fc8c74e0eaff2ba31b53855f9552de5b/PyQRCodeNG-1.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e948da23f35cc35bb44b5bf355a00f3", "sha256": "ea4332fec3bbbda3fda05ae97ecd2303a6ae64f650d1b0f816c6c516a182d0a9" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.4.tar.gz", "has_sig": false, "md5_digest": "4e948da23f35cc35bb44b5bf355a00f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49634, "upload_time": "2019-07-07T06:20:49", "url": "https://files.pythonhosted.org/packages/9e/8e/8ffeeeaa080e469a5659df878fe4b9f1757920e0f3ca1901c4866f96912b/PyQRCodeNG-1.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a292141597927157c413b3247de74bd2", "sha256": "50368185c7c3dbabfbbf97e4f903bc444b0226505eb239cd20b7ef58e29a0c89" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a292141597927157c413b3247de74bd2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 46737, "upload_time": "2019-07-07T06:20:47", "url": "https://files.pythonhosted.org/packages/0f/b9/c526858df9e0e948937dcb7be8d3fc8c74e0eaff2ba31b53855f9552de5b/PyQRCodeNG-1.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e948da23f35cc35bb44b5bf355a00f3", "sha256": "ea4332fec3bbbda3fda05ae97ecd2303a6ae64f650d1b0f816c6c516a182d0a9" }, "downloads": -1, "filename": "PyQRCodeNG-1.3.4.tar.gz", "has_sig": false, "md5_digest": "4e948da23f35cc35bb44b5bf355a00f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49634, "upload_time": "2019-07-07T06:20:49", "url": "https://files.pythonhosted.org/packages/9e/8e/8ffeeeaa080e469a5659df878fe4b9f1757920e0f3ca1901c4866f96912b/PyQRCodeNG-1.3.4.tar.gz" } ] }