{ "info": { "author": "Li Yan", "author_email": "me@imliyan.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# qqai\n\n\u63d0\u4f9b[\u817e\u8bafAI](https://ai.qq.com/)\u7b80\u5355\u6613\u7528\u7684python\u63a5\u53e3\u3002\n\n## \u5b89\u88c5\n\n```bash\npip install qqai\n```\n\n## \u76ee\u524d\u5b8c\u6210\u7684\u529f\u80fd\n\n- [ ] \u81ea\u7136\u8bed\u8a00\u5904\u7406\n - [x] \u57fa\u7840\u6587\u672c\u5206\u6790\n - [x] \u5206\u8bcd (`qqai.nlp.text.WordSeg`)\n - [x] \u8bcd\u6027\u6807\u6ce8 (`qqai.nlp.text.WordPos`)\n - [x] \u4e13\u6709\u540d\u8bcd\u8bc6\u522b (`qqai.nlp.text.WordNer`)\n - [x] \u540c\u4e49\u8bcd\u8bc6\u522b (`qqai.nlp.text.WordSyn`)\n - [x] \u8bed\u4e49\u89e3\u6790\n - [x] \u610f\u56fe\u6210\u5206\u8bc6\u522b (`qqai.nlp.text.WordCom`)\n - [x] \u60c5\u611f\u5206\u6790\n - [x] \u60c5\u611f\u5206\u6790\u8bc6\u522b (`qqai.nlp.text.TextPolar`)\n - [x] \u667a\u80fd\u95f2\u804a\n - [x] \u57fa\u7840\u95f2\u804a (`qqai.nlp.text.TextChat`)\n - [ ] \u673a\u5668\u7ffb\u8bd1\n - [x] \u6587\u672c\u7ffb\u8bd1\n - [x] \u6587\u672c\u7ffb\u8bd1\uff08AI Lab\uff09 (`qqai.nlp.translate.TextTranslateAILab`)\n - [x] \u6587\u672c\u7ffb\u8bd1\uff08\u7ffb\u8bd1\u541b\uff09 (`qqai.nlp.translate.TextTranslateFanyi`)\n - [x] \u56fe\u7247\u7ffb\u8bd1 (`qqai.nlp.translate.ImageTranslate`)\n - [ ] \u8bed\u97f3\u7ffb\u8bd1\n - [x] \u8bed\u79cd\u8bc6\u522b (`qqai.nlp.translate.TextDetect`)\n- [ ] \u667a\u80fd\u8bed\u97f3\n - [ ] \u8bed\u97f3\u8bc6\u522b\n - [x] \u8bed\u97f3\u8bc6\u522b-echo\u7248 (`qqai.aai.audio.AudioRecognitionEcho`)\n - [ ] \u8bed\u97f3\u8bc6\u522b-\u6d41\u5f0f\u7248\uff08AI Lab\uff09\n - [ ] \u8bed\u97f3\u8bc6\u522b-\u6d41\u5f0f\u7248(WeChat AI)\n - [ ] \u957f\u8bed\u97f3\u8bc6\u522b\n - [ ] \u5173\u952e\u8bcd\u68c0\u7d22\n - [x] \u8bed\u97f3\u5408\u6210\n - [x] \u8bed\u97f3\u5408\u6210\uff08AI Lab\uff09 (`qqai.aai.tts.TTSAILab`)\n - [x] \u8bed\u97f3\u5408\u6210\uff08\u4f18\u56fe\uff09 (`qqai.aai.tts.TTSYouTu`)\n- [x] \u8ba1\u7b97\u673a\u89c6\u89c9\n - [x] \u667a\u80fd\u9274\u9ec4 (`qqai.vision.picture.Porn`)\n - [x] \u66b4\u6050\u8bc6\u522b (`qqai.vision.picture.Terrorism`)\n - [x] \u4f18\u56feOCR\n - [x] \u8eab\u4efd\u8bc1OCR (`qqai.vision.ocr.IDCardOCR`)\n - [x] \u540d\u7247OCR (`qqai.vision.ocr.BCOCR`)\n - [x] \u884c\u9a76\u8bc1\u9a7e\u9a76\u8bc1OCR (`qqai.vision.ocr.DriverLicenseOCR`)\n - [x] \u8f66\u724cOCR (`qqai.vision.ocr.PlateOCR`)\n - [x] \u8425\u4e1a\u6267\u7167OCR (`qqai.vision.ocr.BizLicenseOCR`)\n - [x] \u94f6\u884c\u5361OCR (`qqai.vision.ocr.CreditCardOCR`)\n - [x] \u901a\u7528OCR (`qqai.vision.ocr.GeneralOCR`)\n - [x] \u624b\u5199\u4f53OCR (`qqai.vision.ocr.HandwritingOCR`)\n - [x] \u4eba\u8138\u8bc6\u522b\n - [x] \u4eba\u8138\u68c0\u6d4b\u4e0e\u5206\u6790 (`qqai.vision.face.DetectFace`)\n - [x] \u591a\u4eba\u8138\u68c0\u6d4b (`qqai.vision.face.DetectMultiFace`)\n - [x] \u4eba\u8138\u5bf9\u6bd4 (`qqai.vision.face.FaceCompare`)\n - [x] \u8de8\u5e74\u9f84\u4eba\u8138\u8bc6\u522b (`qqai.vision.face.DetectCrossAgeFace`)\n - [x] \u4e94\u5b98\u5b9a\u4f4d (`qqai.vision.face.FaceShape`)\n - [x] \u4eba\u8138\u8bc6\u522b (`qqai.vision.face.FaceIdentify`)\n - [x] \u4eba\u8138\u9a8c\u8bc1 (`qqai.vision.face.FaceVerify`)\n - [x] \u4e2a\u4f53\u7ba1\u7406\n - [x] \u4e2a\u4f53\u521b\u5efa (`qqai.vision.face.NewPerson`)\n - [x] \u5220\u9664\u4e2a\u4f53 (`qqai.vision.face.DelPerson`)\n - [x] \u589e\u52a0\u4eba\u8138 (`qqai.vision.face.AddFace`)\n - [x] \u5220\u9664\u4eba\u8138 (`qqai.vision.face.DelFace`)\n - [x] \u8bbe\u7f6e\u4fe1\u606f (`qqai.vision.face.SetInfo`)\n - [x] \u83b7\u53d6\u4fe1\u606f (`qqai.vision.face.GetInfo`)\n - [x] \u4fe1\u606f\u67e5\u8be2\n - [x] \u83b7\u53d6\u7ec4\u5217\u8868 (`qqai.vision.face.GetGroupIds`)\n - [x] \u83b7\u53d6\u4e2a\u4f53\u5217\u8868 (`qqai.vision.face.GetPersonIds`)\n - [x] \u83b7\u53d6\u4eba\u8138\u5217\u8868 (`qqai.vision.face.GetFaceIds`)\n - [x] \u83b7\u53d6\u4eba\u8138\u4fe1\u606f (`qqai.vision.face.GetFaceInfo`)\n - [x] \u56fe\u7247\u8bc6\u522b\n - [x] \u7269\u4f53\u573a\u666f\u8bc6\u522b\n - [x] \u573a\u666f\u8bc6\u522b (`qqai.vision.picture.SceneR`)\n - [x] \u7269\u4f53\u8bc6\u522b (`qqai.vision.picture.ObjectR`)\n - [x] \u56fe\u7247\u6807\u7b7e\u8bc6\u522b (`qqai.vision.picture.Tag`)\n - [x] \u770b\u56fe\u8bf4\u8bdd (`qqai.vision.picture.ImgToText`)\n - [x] \u6a21\u7cca\u56fe\u7247\u68c0\u6d4b (`qqai.vision.picture.Fuzzy`)\n - [x] \u7f8e\u98df\u56fe\u7247\u8bc6\u522b (`qqai.vision.picture.Food`)\n - [x] \u56fe\u7247\u7279\u6548\n - [x] \u4eba\u8138\u7f8e\u5986 (`qqai.vision.ptu.FaceCosmetic`)\n - [x] \u4eba\u8138\u53d8\u5986 (`qqai.vision.ptu.FaceDecoration`)\n - [x] \u6ee4\u955c\n - [x] \u6ee4\u955c\uff08\u5929\u5929P\u56fe\uff09 (`qqai.vision.ptu.ImgFilterPitu`)\n - [x] \u6ee4\u955c\uff08AI Lab\uff09 (`qqai.vision.ptu.ImgFilterAILab`)\n - [x] \u4eba\u8138\u878d\u5408 (`qqai.vision.ptu.FaceMerge`)\n - [x] \u5927\u5934\u8d34 (`qqai.vision.ptu.FaceSticker`)\n - [x] \u989c\u9f84\u68c0\u6d4b (`qqai.vision.ptu.FaceAge`)\n\n## \u8c03\u7528\u65b9\u5f0f\n\n\u53ef\u4ee5\u76f4\u63a5\u5bfc\u5165\u5305\uff0c\u518d\u4f7f\u7528\u5176\u4e2d\u7684\u7c7b\uff1b\u4e5f\u53ef\u4ee5\u5bfc\u5165\u5b50\u5305\u6216\u7c7b\u3002\n\n\u8c03\u7528\u7c7b\u7684\u65f6\u5019\u5b9a\u4e49\u597dAppID\u548cAppKey\u3002\n\n\u5404\u4e2a\u7c7b\u90fd\u6709\u4e00\u4e2a`run()`\u65b9\u6cd5\u4ee5\u6267\u884c\u64cd\u4f5c\u3002\u8be5\u65b9\u6cd5\u53c2\u6570\u6709\u6240\u4e0d\u540c\uff0c\u8bf7\u67e5\u9605\u5f00\u53d1\u5e73\u53f0\u6587\u6863\u548c\u4ee3\u7801\u4ee5\u8f93\u5165\u3002\n\n\u4ee5\u4e0b\u4e3a\u793a\u4f8b\uff1a\n\n```python\nimport qqai\nqqai.vision.picture.ImgToText('your_app_id', 'your_app_key').run('https://yyb.gtimg.com/aiplat/ai/assets/ai-demo/express-6.jpg')\n# {'ret': 0, 'msg': 'ok', 'data': {'text': '\u4e00\u4f4d\u7537\u58eb\u5728\u6d77\u8fb9\u9a91\u81ea\u884c\u8f66\u7684\u7167\u7247'}}\n\nfrom qqai.vision.picture import ImgToText\nit = ImgToText('your_app_id', 'your_app_key')\nit.run('https://yyb.gtimg.com/aiplat/ai/assets/ai-demo/express-6.jpg')\n# {'ret': 0, 'msg': 'ok', 'data': {'text': '\u4e00\u4f4d\u7537\u58eb\u5728\u6d77\u8fb9\u9a91\u81ea\u884c\u8f66\u7684\u7167\u7247'}}\n```\n\n\n## \u7528\u6cd5\uff08\u539f\u6587\u6863\uff09\n\n\u5f53\u524d\u5305\u542b\u4ee5\u4e0b\u63a5\u53e3\uff1a\n\n- [\u804a\u5929\u673a\u5668\u4eba](#\u804a\u5929\u673a\u5668\u4eba)\n- [\u6587\u672c\u7ffb\u8bd1](#\u6587\u672c\u7ffb\u8bd1)\n- [\u56fe\u7247\u8f6c\u6587\u5b57](#\u56fe\u7247\u8f6c\u6587\u5b57)\n- [\u4eba\u8138\u68c0\u6d4b](#\u4eba\u8138\u68c0\u6d4b)\n\n### \u804a\u5929\u673a\u5668\u4eba\n\n```py\nfrom qqai import TextChat\n\nsiri = TextChat(your_app_id, your_app_key)\n\n# \u5355\u53e5\u5bf9\u8bdd\nanswer = siri.ask('\u4f60\u662f\u8c01')\nprint(answer)\n# >>> \u6211\u662f\u4f60\u7684\u5c0f\u52a9\u624b\u554a\n\n# \u8fde\u7eed\u804a\u5929\nsiri.chat()\n# < \u6709\u5565\u60f3\u8ddf\u6211\u8bf4\u7684\uff1f\n# > \u4f60\u662f\u8c01\u554a\uff1f\n# < \u6211\u662f\u4f60\u7684\u5c0f\u52a9\u624b\u554a\n# > \u4f60\u80fd\u5e72\u561b\u5440\n# < \u5475\u5475\uff0c\u6211\u80fd\u5e72\u7684\u4e8b\u60c5\u591a\u7684\u6570\u4e0d\u6e05\u3002\n```\n\n### \u6587\u672c\u7ffb\u8bd1\n\n\u53ef\u7528\u8bed\u8a00\u89c1[\u5b98\u65b9\u6587\u6863](https://ai.qq.com/doc/nlptrans.shtml#5-%E6%94%AF%E6%8C%81%E8%AF%AD%E8%A8%80%E5%AE%9A%E4%B9%89)\n\n```py\nfrom qqai import NLPTrans\n\nrobot = NLPTrans(you_app_id, you_app_key)\n\nresult = robot.run('\u613f\u539f\u529b\u4e0e\u4f60\u540c\u5728')\nprint(result)\n# {'ret': 0, 'msg': 'ok', 'data': {'source_text': '\u613f\u539f\u529b\u4e0e\u4f60\u540c\u5728', 'target_text': 'May the Force be with you'}}\n\n# \u9ed8\u8ba4\u4e3a\u4e2d\u82f1\u7ffb\u8bd1\uff0c\u82e5\u9700\u8981\u5176\u4ed6\u8bed\u79cd\u7ffb\u8bd1\uff0c\u8bf7\u6309\u4ee5\u4e0b\u683c\u5f0f\u5b9e\u4f8b\u5316\uff1a\n# source\u4e3a\u6e90\u8bed\u8a00\uff0ctarget\u4e3a\u76ee\u6807\u8bed\u8a00\uff0c\nrobot = NLPTrans(you_app_id, you_app_key, source='en', target='es')\n\nresult = robot.run('May the force be with you.')\nprint(result)\n# {'ret': 0, 'msg': 'ok', 'data': {'source_text': 'May the force be with you.', 'target_text': 'Que la fuerza est\u00e9 contigo.'}}\n```\n\n### \u56fe\u7247\u8f6c\u6587\u5b57\n\n```py\nfrom qqai import ImgToText\n\nrobot = ImgToText(your_app_id, your_app_key)\n\n# \u8bc6\u522b\u56fe\u7247URL\nresult = robot.run('https://yyb.gtimg.com/aiplat/ai/assets/ai-demo/express-6.jpg')\nprint(result)\n# {'ret': 0, 'msg': 'ok', 'data': {'text': '\u4e00\u4f4d\u7537\u58eb\u5728\u6d77\u8fb9\u9a91\u81ea\u884c\u8f66\u7684\u7167\u7247'}}\n\n# \u8bc6\u522b\u6253\u5f00\u7684\u672c\u5730\u56fe\u7247\nwith open('/my/img.jpeg', 'rb') as image_file:\n result = robot.run(image_file)\n print(result)\n# {'ret': 0, 'msg': 'ok', 'data': {'text': '\u4e00\u8258\u98de\u8239'}}\n```\n\n### \u4eba\u8138\u68c0\u6d4b\n\n```py\nfrom qqai import Detectface\n\nrobot = Detectface(your_app_id, your_app_key)\n\n# \u8c03\u7528\u65b9\u6cd5\u4e0e\u56fe\u7247\u8f6c\u6587\u5b57\u76f8\u540c\n```\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/clumsyme/qqai", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "qqai", "package_url": "https://pypi.org/project/qqai/", "platform": "", "project_url": "https://pypi.org/project/qqai/", "project_urls": { "Homepage": "https://github.com/clumsyme/qqai" }, "release_url": "https://pypi.org/project/qqai/0.2.1/", "requires_dist": [ "requests" ], "requires_python": ">=3.6.0", "summary": "Easy use of apis for Tencent AI", "version": "0.2.1" }, "last_serial": 4710658, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fb71eeb641fca1c1eaf68f17c5fbc2d0", "sha256": "fe225baecf97933fa348f96844945229b0c55f72252beb83f4b0b15477b53898" }, "downloads": -1, "filename": "qqai-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb71eeb641fca1c1eaf68f17c5fbc2d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 1210, "upload_time": "2018-08-20T07:17:23", "url": "https://files.pythonhosted.org/packages/52/3e/9632e0c3e86115a3b3fc3df443152f168c2bf03bf5b6a75b7a1f428d7333/qqai-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3efc918f31c20e58491fe295a801bde", "sha256": "a4209790d4f993a759364f8884d2218a5c86b43f1bef7165ab4d121c9b65f305" }, "downloads": -1, "filename": "qqai-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c3efc918f31c20e58491fe295a801bde", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 2115, "upload_time": "2018-08-20T07:17:25", "url": "https://files.pythonhosted.org/packages/d8/16/1173e6096452fe70b01af67128095d098e577ea7f4a84bc2e66e75fc8468/qqai-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "87cfc032557ea941a8d8ffd7d68af0e4", "sha256": "96a8ba79184dcf6d6d1a8d21890ef44c4b45f065c9e3d61691ea858a73740250" }, "downloads": -1, "filename": "qqai-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87cfc032557ea941a8d8ffd7d68af0e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 1877, "upload_time": "2018-08-20T08:15:18", "url": "https://files.pythonhosted.org/packages/a5/9d/c1f48efdfb30240f4f1f24d3fb5dfb72fb34d12fe16c5478e74a6d62b855/qqai-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "733f3d3bc13b3ac0d88325e13280dd4f", "sha256": "48c5a2931a60250ad53b776f82337c67367b11dbcd304e75f0c90589811bccd8" }, "downloads": -1, "filename": "qqai-0.1.1.tar.gz", "has_sig": false, "md5_digest": "733f3d3bc13b3ac0d88325e13280dd4f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3001, "upload_time": "2018-08-20T08:15:20", "url": "https://files.pythonhosted.org/packages/63/fb/a04a4d216443e5a006f88f321e0b120bffc2a6ccc18f41fe9bee5d2a4058/qqai-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c803a2e88ebd9ddb638e20555b5fe00d", "sha256": "d3c71e0d80e12c9080fccc07d3e4b978ca9ba1ede4ae12636d3d036f461d3522" }, "downloads": -1, "filename": "qqai-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c803a2e88ebd9ddb638e20555b5fe00d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3527, "upload_time": "2018-08-20T08:21:46", "url": "https://files.pythonhosted.org/packages/dd/3b/2cec213f01934268adcc4258f782b5b96e4e1e00e1440dd6097d4fe7f19e/qqai-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a57c7ae845471492b68f52165970c3de", "sha256": "c3c8696fd0b39a35b24fcb29c7c18a3ab0a3ef9a16606d10ada00f1a81d641c3" }, "downloads": -1, "filename": "qqai-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a57c7ae845471492b68f52165970c3de", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4306, "upload_time": "2018-08-20T08:21:48", "url": "https://files.pythonhosted.org/packages/1c/c6/b8ab6c95e816a300fa3a8e6559f2fa52eb2f12758337de703ee7dd3348d4/qqai-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "070a6158419f1b93611f5d268b9f077d", "sha256": "afcff8ed7dd5a8ec14c5f1e0096baedc6d8fddf6942621bff509ddc1d274bf86" }, "downloads": -1, "filename": "qqai-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "070a6158419f1b93611f5d268b9f077d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3979, "upload_time": "2018-08-24T07:35:26", "url": "https://files.pythonhosted.org/packages/34/76/5f1e07f6434aa05840c977ac2f505d843b7e52dc08f81f81777e9836e0fa/qqai-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6d6f07436141bfa6eb707e9c9b5da91", "sha256": "916bb5f7e09557e3cd2a9d9a0a1c86f7ecd1e1de3007b153ea6a9f2ed3b9e314" }, "downloads": -1, "filename": "qqai-0.1.4.tar.gz", "has_sig": false, "md5_digest": "c6d6f07436141bfa6eb707e9c9b5da91", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4793, "upload_time": "2018-08-24T07:35:27", "url": "https://files.pythonhosted.org/packages/61/e6/b661af2bcc83610ea061542f9dd22e1ec6bdac102300ef893add8dda92ec/qqai-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7ae5882f302133257d0bdf3c671b545f", "sha256": "eadaafcafa77048583a19d110238f8e8a464ff8db0620cd4ee0bd23a9c2b2aa3" }, "downloads": -1, "filename": "qqai-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ae5882f302133257d0bdf3c671b545f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 14311, "upload_time": "2018-08-31T03:35:47", "url": "https://files.pythonhosted.org/packages/1e/f3/08ba2cf0655440e28d4a7b74900af4fb97578dc114c64e0e17ed51d68cbe/qqai-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8fffe9d71cfcbf50a25a586c4c7cee0", "sha256": "b57d5f087ef5f36c1d2c9f7c43a92ce36b428e9438cc6967ff23b765cab840d7" }, "downloads": -1, "filename": "qqai-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d8fffe9d71cfcbf50a25a586c4c7cee0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 13112, "upload_time": "2018-08-31T03:35:49", "url": "https://files.pythonhosted.org/packages/fa/1c/8bdc5dd044bc9e0eb90b74a885788303b3cf204e559251d1028d96129a04/qqai-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "408eb8c19418bc1cf5f82ae0c31f4ad9", "sha256": "d6d8fb088b403f6650585848b47a0400acb7f19fb48f68ad3a9c8f7dae2b2148" }, "downloads": -1, "filename": "qqai-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "408eb8c19418bc1cf5f82ae0c31f4ad9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 15124, "upload_time": "2019-01-18T03:43:26", "url": "https://files.pythonhosted.org/packages/8f/95/68a89b30a5a3f3cc30e695db7abf13cd259bbce286ad82f0c97cf8a4ebff/qqai-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ab72290af5c18fbc37e96ddffeb1496", "sha256": "528494e3ccb16744164d3cf37dd7182202caf76020d49f6f2381014ce4e9fa03" }, "downloads": -1, "filename": "qqai-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7ab72290af5c18fbc37e96ddffeb1496", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 12615, "upload_time": "2019-01-18T03:43:28", "url": "https://files.pythonhosted.org/packages/fd/4d/6d692345a9571615f17988587e46414f499b0ac6a104fe8fa945e84f0782/qqai-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "408eb8c19418bc1cf5f82ae0c31f4ad9", "sha256": "d6d8fb088b403f6650585848b47a0400acb7f19fb48f68ad3a9c8f7dae2b2148" }, "downloads": -1, "filename": "qqai-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "408eb8c19418bc1cf5f82ae0c31f4ad9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 15124, "upload_time": "2019-01-18T03:43:26", "url": "https://files.pythonhosted.org/packages/8f/95/68a89b30a5a3f3cc30e695db7abf13cd259bbce286ad82f0c97cf8a4ebff/qqai-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ab72290af5c18fbc37e96ddffeb1496", "sha256": "528494e3ccb16744164d3cf37dd7182202caf76020d49f6f2381014ce4e9fa03" }, "downloads": -1, "filename": "qqai-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7ab72290af5c18fbc37e96ddffeb1496", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 12615, "upload_time": "2019-01-18T03:43:28", "url": "https://files.pythonhosted.org/packages/fd/4d/6d692345a9571615f17988587e46414f499b0ac6a104fe8fa945e84f0782/qqai-0.2.1.tar.gz" } ] }