[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70793":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},70793,"amazing-qr","x-hw\u002Famazing-qr","x-hw","💮 amazing QRCode generator in Python (supporting animated gif) - Python amazing 二维码生成器（支持 gif 动态图片二维码）","",null,"Python",10799,1573,300,55,0,11,21,44.59,"GNU General Public License v3.0",false,"master",true,[25,26,27,28,29,30],"amazing","gif","picture","qr-code","qrcode","qrcode-generator","2026-06-12 02:02:43","# Amazing-QR\n\n[![former name](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fold%20name-MyQR-yellow)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmyqr\u002F) [![PyPI - Downloads](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fmyqr?label=downloads@myqr)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmyqr\u002F) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flanguage-Python-blue)](https:\u002F\u002Fwww.python.org\u002F) ![PyPI - Python Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Famzqr?logo=python&logoColor=ffffff&label=Python&labelColor=blue&color=ffffff) [![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Famzqr?logo=pypi&logoColor=ffffff&label=PyPI&labelColor=blue)](https:\u002F\u002Fpypi.org\u002Fproject\u002Famzqr\u002F) ![PyPI - Wheel](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fwheel\u002Famzqr) [![PyPI - Downloads](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Famzqr)](https:\u002F\u002Fpypi.org\u002Fproject\u002Famzqr\u002F) [![PyPI - License](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Famzqr)](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002FLICENSE.md) ![GitHub code size in bytes](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flanguages\u002Fcode-size\u002Fx-hw\u002Famazing-qr) ![macos](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-macOS-black?logo=macos) ![linux](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Linux-yellow?logo=linux) ![windows](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Windows-blue?logo=windows)\n\n[![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-x.hw-blue?logo=github)](https:\u002F\u002Fgithub.com\u002Fx-hw) [![sponsor](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsponsor--pink?logo=github-sponsors&labelColor=pink)](#buy-me-a-coffee)\n\n[*转到中文版*](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002FREADME-cn.md)\n\n## Overview\n\n**Python QR Code Generator**\n\nGenerate *common qr-code*,  *artistic qr-code (black & white or colorized)*,  *animated qr-code (black & white or colorized)*.\n\n## Contents\n\n* [Amazing-QR](#amazing-qr)\n  * [Overview](#overview)\n  * [Contents](#contents)\n  * [Examples](#examples)\n  * [Install](#install)\n  * [Usage](#usage)\n    * [Terminal Way](#terminal-way)\n    * [Import Way](#import-way)\n  * [Tips](#tips)\n  * [Supported Characters](#supported-characters)\n  * [Environment](#environment)\n  * [License](#license)\n  * [Buy me a coffee ☕️](#buy-me-a-coffee)\n\n## Examples\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fqrs0.jpg)\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fqrs1.jpg)\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fqrs2.jpg)\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fc_qrcode.gif)![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fdaftpunktocat-guy_qrcode.gif)\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fzootopia_qrcode.gif)![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fdaftpunktocat-guy_qrcode0.gif)\n\n## Install\n\n```python\n# via pip\npip install amzqr\n```\n\n## Usage\n\n### Terminal Way  \n\n*(**TIPS**: If you haven't install [**amzqr**](https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Famzqr), you should  `python(3) amzqr.py` instead of `amzqr` blow.)*\n\n```sh\n# summary\namzqr Words\n      [-v {1,2,3,...,40}]\n      [-l {L,M,Q,H}]\n      [-n output-filename]\n      [-d output-directory]\n      [-p picture_file]\n      [-c]\n      [-con contrast]\n      [-bri brightness]\n```\n\n- see [Common QR-Code](#common-qr-code) for `Words`, `-v`, `-l`, `-n`, `-d`\n- see [Artistic QR-Code](#artistic-qr-code) for `-p`, `-c`, `-con`, `-bri`\n- see [Animated GIF QR-Code](#animated-gif-qr-code) about GIF\n\n#### Common QR-Code\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002F0.png)\n\n```markdown\n#1 Words\namzqr https:\u002F\u002Fgithub.com\n```\n\n* Just input a URL or a sentence, then get your QR-Code named 'qrcode.png' in the current directory.\n\n\n```markdown\n#2 -v, -l\namzqr https:\u002F\u002Fgithub.com -v 10 -l Q\n```\n\n* The **default** size of QR-Code depends both on the numbers of words you input and the level, while the **default** level (Error Correction Level) is **H** (the highest).\n\n* **Customize**: If you want to control the size and the error-correction-level, use the `-v` and `-l` arguments. \n\n   `-v`  representing the length is from a minimum of **1** to a maximum of **40**. \n\n   `-l` representing the error correction level is one of **L, M, Q and H**, where L is the lowest level and H is the highest.\n\n\n\n\n```markdown\n#3 -n, -d\namzqr https:\u002F\u002Fgithub.com   -n github_qr.jpg   -d ...\u002Fpaths\u002F\n```\n\n* The **default** output-filename is 'qrcode.png', while the **default** output-directory is current directory.\n\n* **Customize**: You can name the output-file and decide the output-directory. **Notice** that if the name is as same as a existing file, the old one will be deleted.\n\n  `-n` representing the output-filename could be in the format one of `.jpg`， `.png` ，`.bmp` ，`.gif` .\n\n  `-d` means directory.\n\n\n#### Artistic QR-Code\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002F1.png)![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002F2.png)\n\n\n```markdown\n#1 -p\namzqr https:\u002F\u002Fgithub.com -p github.jpg\n```\n\n* The `-p` is to combine the QR-Code with the following picture which is in the same directory as the program. The resulting picture is **black and white** by default.\n\n\n```markdown\n#2 -c\namzqr https:\u002F\u002Fgithub.com -p github.jpg -c\n```\n\n* The `-c` is to make the resulting picture **colorized**.\n\n\n\n```markdown\n#3 -con, -bri\namzqr https:\u002F\u002Fgithub.com -p github.jpg [-c] -con 1.5 -bri 1.6\n```\n\n* The `-con` flag changes the **contrast** of the picture - a low number corresponds to low contrast and a high number to high contrast. **Default: 1.0**.\n\n* The `-bri` flag changes the **brightness** and the parameter values work the same as those for `-con`. **Default: 1.0**.\n\n\n\n\n\n#### Animated GIF QR-Code\n\n![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fdaftpunktocat-guy_qrcode.gif)![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fdaftpunktocat-guy_qrcode0.gif)\n\nThe only difference from Artistic QR-Code mentioned above is that you should input an image file in the `.gif` format. The you can get your black-and-white or colorful qr-code. Remember that when you use `-n` to customize the output-filename, then the output-filename must end by `.gif`.\n\n### Import Way\n\n```python\nfrom amzqr import amzqr\n\nversion, level, qr_name = amzqr.run(\n    words,\n    version=1,\n    level='H',\n    picture=None,\n    colorized=False,\n    contrast=1.0,\n    brightness=1.0,\n    save_name=None,\n    save_dir=os.getcwd()\n)\n```\n\n*details about each parameter are as mentioned [above](#terminal-way)*\n\n```python\n# help(amzqr)\nPositional parameter\n   words: str\n\nOptional parameters\n   version: int, from 1 to 40\n   level: str, just one of ('L','M','Q','H')\n   picutre: str, a filename of a image\n   colorized: bool\n   constrast: float\n   brightness: float\n   save_name: str, the output filename like 'example.png'\n   save_dir: str, the output directory\n```\n\n## Tips\n\n* Use a nearly **square** picture instead of a rectangle one.\n\n* If the size of the picture is large, you should also choose a **rightly** large `-v` instead of using the default one.\n\n* If part of the picture is transparent, the qr code will look like: ![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Faa.png)\n\n  You can change the transparent layer to white, and then it will look like: ![](https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fa0.png)\n\n## Supported Characters\n\n* Numbers:  `0~9`\n\n* Letters:  `a~z, A~Z`\n\n* Common punctuations:\n\n  ```console\n  · , . : ; + - * \u002F \\ ~ ! @ # $ % ^ & ` ' = \u003C > [ ] ( ) ? _ { } | and  (space)\n  ```\n\n## Environment\n\n- Python 3\n\n## License\n\n* GPLv3\n\n## Buy me a coffee\n\n[![GitHub Sponsors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fsponsors\u002Fx-hw?logo=github-sponsors&labelColor=pink&color=white)](https:\u002F\u002Fgithub.com\u002Fsponsors#regions)\n\n*Since the GitHub Sponsors is unavailable in China yet...*\n\n![wechatpay](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-wechat_pay-brightgreen?labelColor=brightgreen&logo=data:image\u002Fpng;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAAAAAAGa0aABmtGg4ZrRoOGa0aABmtGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmtGgAZrRpGGa0arBmtGkEZrRobGa0aOBmtGkwZrRpNGa0aORmtGhoZrRoDGa0aAAAAAAAAAAAAAAAAAAAAAAAZrRoAGa0aKBmtGucZrRrwGa0a3BmtGvIZrRr6Ga0a+xmtGvMZrRrYGa0alxmtGjcZrRoCGa0aAAAAAAAZrRoAGa0aBhmtGnMZrRr1Ga0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRroGa0adBmtGgkZrRoAGa0aAhmtGnEZrRr2Ga0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGvgZrRp5Ga0aAxmtGkEZrRrmGa0a\u002FxmtGv8ZrRr+Ga0a8RmtGvsZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a6hmtGkkZrRqlGa0a\u002FxmtGv8ZrRr\u002FGa0a5RmtGkwZrRpzGa0a3hmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRqvGa0a3xmtGv8ZrRr\u002FGa0a\u002FxmtGpkZrRoDGa0aABmtGicZrRqWGa0a7hmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a5xmtGusZrRr\u002FGa0a\u002FxmtGu0ZrRo9Ga0aPBmtGmcZrRohGa0aAxmtGj8ZrRq0Ga0a+BmtGv8ZrRr\u002FGa0a\u002FxmtGvIZrRrQGa0a\u002FxmtGv8ZrRrLGa0agRmtGukZrRr+Ga0a3RmtGosZrRowGa0aEBmtGlsZrRrNGa0a\u002FRmtGv8ZrRrYGa0agxmtGv0ZrRr\u002FGa0a+hmtGvsZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a6hmtGqIZrRpDGa0aJRmtGnsZrRrhGa0ajBmtGiAZrRrHGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a9BmtGrcZrRpdGa0aOxmtGhoZrRoAGa0aPBmtGtcZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a1BmtGiwZrRoAGa0aABmtGgAZrRowGa0arRmtGvQZrRr\u002FGa0a\u002FxmtGv8ZrRr\u002FGa0a\u002FxmtGv8ZrRr2Ga0asRmtGjQZrRoAGa0aAAAAAAAZrRoAGa0aABmtGgsZrRpFGa0ajRmtGrsZrRrPGa0azxmtGr0ZrRqQGa0aSBmtGgwZrRoAGa0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAGa0aABmtGgEZrRoKGa0aFBmtGhUZrRoKGa0aARmtGgAAAAAAAAAAAAAAAAAAAAAAz\u002F8AAMAPAADAAwAAgAEAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAgAEAAMADAADgBwAA+B8AAA==)\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Fwechatpay.jpg\" width = \"124\" height = \"116\" alt=\"wechatpay\" align=center \u002F>\n\n![alipay](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-alipay-blue?logo=alipay&logoColor=ffffff&labelColor=blue)\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fx-hw\u002Famazing-qr\u002Fblob\u002Fmaster\u002Fexample\u002Falipay.gif\" width = \"132\" height = \"132\" alt=\"alipay\" align=center \u002F>\n\n🎉🎉🎉 Thanks for your support. 🎉🎉🎉\n","amazing-qr 是一个使用 Python 开发的二维码生成器，支持生成普通二维码、艺术二维码（黑白或彩色）以及 GIF 动态二维码。其核心功能包括自定义二维码样式、调整对比度和亮度等参数，并能够将图片嵌入到二维码中，使其更加个性化和吸引人。该项目采用 Python 编写，易于安装和使用，只需通过 pip 安装即可快速上手。适用于需要增强用户体验的各种场景，如营销活动、个人名片设计、网站链接分享等，特别适合追求创意表达和技术趣味性的开发者和个人用户。",2,"2026-06-11 03:34:13","high_star"]