{ "info": { "author": "MONPA team: IASL, IIS, Academia Sinica and TMU NLPLAB", "author_email": "monpacut@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: Free for non-commercial use", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# \u7f54\u62cd MONPA: Multi-Objective NER POS Annotator\n\nMONPA \u7f54\u62cd\u662f\u4e00\u500b\u63d0\u4f9b\u6b63\u9ad4\u4e2d\u6587\u65b7\u8a5e\u3001\u8a5e\u6027\u6a19\u8a3b\u4ee5\u53ca\u547d\u540d\u5be6\u9ad4\u8fa8\u8b58\u7684\u591a\u4efb\u52d9\u6a21\u578b\u3002\u521d\u671f\u53ea\u6709\u4f7f\u7528\u539f\u59cb\u6a21\u578b\uff08v0.1\uff09\u7684\u7db2\u7ad9\u7248\u672c\uff08\uff09\uff0c\u672c\u8a08\u5283\u5c07\u628a\u65b0\u7248 monpa (v0.2) \u5305\u88dd\u6210\u53ef\u4ee5 pip install \u7684 python package\u3002(*\u63d0\u9192\uff1a\u56e0\u7db2\u7ad9\u7248\u70ba v0.1\uff0c\u8207 python \u5957\u4ef6\u7248 v0.2 \u4ee5\u4e0a\u7684\u65b7\u8a5e\u7d50\u679c\u53ef\u80fd\u4e0d\u540c\u3002*)\n\n\u6700\u65b0\u7248\u7684 monpa model \u662f\u4f7f\u7528 pytorch 1.0 \u6846\u67b6\u8a13\u7df4\u51fa\u4f86\u7684\u6a21\u578b\uff0c\u6240\u4ee5\u5728\u4f7f\u7528\u672c\u7248\u672c\u524d\uff0c\u8acb\u5148\u5b89\u88dd torch 1.* \u4ee5\u4e0a\u7248\u672c\u624d\u80fd\u6b63\u5e38\u4f7f\u7528 monpa \u5957\u4ef6\u3002\n\n## \u516c\u544a\n```diff\n- \u56e0\u61c9\u6a21\u578b\u958b\u767c\u521d\u671f\u4f7f\u7528\u4e2d\u592e\u7814\u7a76\u9662\u4e2d\u6587\u8a5e\u77e5\u8b58\u5eab\u5c0f\u7d44\u958b\u767c\u4e4b CKIP \u7a0b\u5f0f\u9032\u884c\u90e8\u5206\u8a9e\u6599\u6a19\u8a3b\u5de5\u4f5c\uff0c\u5f8c\u518d\u7d93\u5176\u4ed6\u7a0b\u5e8f\u5b8c\u6210\u6a19\u8a3b\u6821\u6b63\u3002\u611f\u8b1d\u4e2d\u592e\u7814\u7a76\u9662\u4e2d\u6587\u8a5e\u77e5\u8b58\u5eab\u5c0f\u7d44\u7684\u5354\u52a9\uff0c\u4e26\u7d93\u5176\u540c\u610f\u4e0b\uff0c\u4f7f\u7528 CKIP \u65b7\u8a5e\u5143\u4ef6\u8f14\u52a9\u88fd\u4f5c\u521d\u671f\u8a13\u7df4\u8cc7\u6599\u3002\n\n- MONPA v0.2 \u7248\u672c\u662f\u57fa\u65bc BERT\uff08\u61c9\u7528\u96d9\u5411 Transformer\uff09\u6a21\u578b\u4f86\u53d6\u5f97\u66f4\u5f37\u5065\u7684\u8a5e\u5411\u91cf\uff08word embeddings\uff09\u4e26\u914d\u5408CRF\u540c\u6642\u9032\u884c\u65b7\u8a5e\u3001\u8a5e\u6027\u6a19\u8a3b\u3001\u53caNER\u7b49\u591a\u500b\u76ee\u6a19\u3002\u5df2\u8207 MONPA v0.1 \u7248\u672c\u6709\u76f8\u7576\u5927\u5dee\u7570\uff0c\u8a13\u7df4\u8a9e\u6599\u4ea6\u8207\u6240\u9644\u65e9\u671f\u8ad6\u6587\u4e0d\u540c\u3002\n\n- \u516c\u958b\u91cb\u51fa\u7684 MONPA \u50c5\u4f9b\u5b78\u8853\u4f7f\u7528\uff0c\u8acb\u52ff\u4f7f\u7528\u65bc\u5546\u696d\u7528\u9014\u3002\n\n- \u8acb\u91cd\u65b0\u4e0b\u8f09\u66f4\u65b0\u7248\u672c v0.2.6.x \u4ee5\u53d6\u5f97\u65b0\u7684\u6a21\u578b\u6a94 model-830.pt\n```\n**\u6ce8\u610f\uff1a**\n\n1. \u5efa\u8b70\u4ee5\u539f\u6587\u8f38\u5165 monpa \u5b8c\u6210\u65b7\u8a5e\u5f8c\uff0c\u518d\u8996\u9700\u6c42\u6ffe\u6389\u505c\u7559\u5b57\uff08stopword\uff09\u53ca\u6a19\u9ede\u7b26\u865f\uff08punctuation\uff09\u3002\n2. \u6bcf\u6b21\u8f38\u5165\u4e88 monpa \u505a\u65b7\u8a5e\u7684\u539f\u6587\u8d85\u904e 140 \u5b57\u5143\u7684\u90e8\u5206\u5c07\u88ab\u622a\u65b7\u4e1f\u5931\uff0c\u5efa\u8b70\u5148\u5b8c\u6210\u5408\u9069\u9577\u5ea6\u5206\u53e5\u5f8c\u518d\u61c9\u7528 monpa \u65b7\u8a5e\u3002\u53ef\u53c3\u8003 wiki [\u5982\u4f55\u5c07\u9577\u6587\u5207\u6210\u77ed\u53e5\u518d\u7528 monpa \u65b7\u8a5e\uff1f](https://github.com/monpa-team/monpa/wiki/Example-1\uff1a\u5c07\u9577\u53e5\u8655\u7406\u6210\u77ed\u53e5\u518d\u904b\u7528-monpa-\u5b8c\u6210\u5206\u8a5e)\uff09\n3. \u652f\u63f4 python >= 3.6\uff0c\u4e0d\u652f\u63f4 python 2.x\u3002\n\n## \u5b89\u88dd monpa \u5957\u4ef6\n\nmonpa \u5df2\u7d93\u652f\u63f4\u76f4\u63a5\u4f7f\u7528 pip \u6307\u4ee4\u5b89\u88dd\uff0c\u5404\u4f5c\u696d\u7cfb\u7d71\u7684\u5b89\u88dd\u6b65\u9a5f\u90fd\u76f8\u540c\u3002\n\n```bash\npip install monpa\n```\n\n\u5b89\u88dd\u6642\u5c07\u81ea\u52d5\u6aa2\u67e5\u6709\u7121 torch >= 1.0 \u53ca requests \u7b49\u5957\u4ef6\uff0c\u82e5\u7121\u5247\u7531 pip \u76f4\u63a5\u5b89\u88dd\u3002\n\n## \u4f7f\u7528 monpa \u7684\u7c21\u55ae\u7bc4\u4f8b\n\n\u5f15\u5165 monpa \u7684 python package\u3002\n\n**\u6ce8\u610f\uff1a\u56e0\u61c9 pip \u5b89\u88dd\u7684\u6a94\u6848\u5927\u5c0f\u9650\u5236\uff0c\u6240\u4ee5\u5728\u7b2c\u4e00\u6b21 import monpa \u6642\u5c07\u4e0b\u8f09 model \u6a94\uff0c\u7d04 200 MB (\u5be6\u969b\u5927\u5c0f\uff1a216681674 KB)\u3002\u63a1\u5206\u6b21\u4e0b\u8f09\uff0c\u8acb\u52d9\u5fc5\u7b49\u5f85\u4e0b\u8f09\u5b8c\u6210\u3002**\n\n```python\nimport monpa\n```\n\n\u7b49\u770b\u5230```#\u5df2\u5b8c\u6210 monpa model \u4e0b\u8f09\uff0c\u6b61\u8fce\u4f7f\u7528\u3002Download completed.```\u63d0\u793a\u624d\u8868\u793a\u4e0b\u8f09\u5b8c\u6210\u3002\n\n\u5982\u679c\u4e0b\u8f09\u4e0d\u5b8c\u6574\u7684 model \u6a94\uff0c\u8acb\u5230 monpa package \u7684\u5b89\u88dd\u8cc7\u6599\u593e\u522a\u9664 model-830.pt \u6a94\u6848\uff0c\u4e26\u518d\u6b21\u57f7\u884c import monpa \u4f86\u555f\u52d5\u4e0b\u8f09\u7a0b\u5e8f\u3002(\u76f8\u95dc\u8a0e\u8ad6\u8207\u89e3\u6cd5\u96c6\u4e2d\u65bc [Issue 1](https://github.com/monpa-team/monpa/issues/1))\n\n### cut function\n\n\u82e5\u53ea\u9700\u8981\u4e2d\u6587\u65b7\u8a5e\u7d50\u679c\uff0c\u8acb\u7528 ```cut``` function\uff0c\u56de\u50b3\u503c\u662f list \u683c\u5f0f\u3002\u7c21\u55ae\u7bc4\u4f8b\u5982\u4e0b\uff1a\n\n```python\nsentence = \"\u8521\u82f1\u6587\u7e3d\u7d71\u4eca\u5929\u53d7\u9080\u53c3\u52a0\u53f0\u5317\u5e02\u653f\u5e9c\u6240\u8209\u8fa6\u7684\u967d\u660e\u5c71\u99ac\u62c9\u677e\u6bd4\u8cfd\u3002\"\nresult = monpa.cut(sentence)\n\nfor t in result:\n print(t)\n```\n\n\u8f38\u51fa\n\n```python\n\u8521\u82f1\u6587\n\u7e3d\u7d71\n\u4eca\u5929\n\u53d7\n\u9080\n\u53c3\u52a0\n\u53f0\u5317\u5e02\u653f\u5e9c\n\u6240\n\u8209\u8fa6\n\u7684\n\u967d\u660e\u5c71\n\u99ac\u62c9\u677e\n\u6bd4\u8cfd\n\u3002\n```\n\n### pseg function\n\n\u82e5\u9700\u8981\u4e2d\u6587\u65b7\u8a5e\u53ca\u5176 POS \u7d50\u679c\uff0c\u8acb\u7528 ```pseg``` function\uff0c\u56de\u50b3\u503c\u662f list of list \u683c\u5f0f\uff0c\u7c21\u55ae\u7bc4\u4f8b\u5982\u4e0b\uff1a\n\n```python\nsentence = \"\u8521\u82f1\u6587\u7e3d\u7d71\u4eca\u5929\u53d7\u9080\u53c3\u52a0\u53f0\u5317\u5e02\u653f\u5e9c\u6240\u8209\u8fa6\u7684\u967d\u660e\u5c71\u99ac\u62c9\u677e\u6bd4\u8cfd\u3002\"\nresult = monpa.pseg(sentence)\n\nfor t in result:\n print(t)\n```\n\n\u8f38\u51fa\n\n```python\n['\u8521\u82f1\u6587', 'PER']\n['\u7e3d\u7d71', 'Na']\n['\u4eca\u5929', 'Nd']\n['\u53d7', 'P']\n['\u9080', 'VF']\n['\u53c3\u52a0', 'VC']\n['\u53f0\u5317\u5e02\u653f\u5e9c', 'ORG']\n['\u6240', 'D']\n['\u8209\u8fa6', 'VC']\n['\u7684', 'DE']\n['\u967d\u660e\u5c71', 'LOC']\n['\u99ac\u62c9\u677e', 'Na']\n['\u6bd4\u8cfd', 'Na']\n['\u3002', 'PERIODCATEGORY']\n```\n\n### \u8f09\u5165\u81ea\u8a02\u8a5e\u5178 load_userdict function\n\n\u5982\u679c\u9700\u8981\u81ea\u8a02\u8a5e\u5178\uff0c\u8acb\u4f9d\u4e0b\u5217\u683c\u5f0f\u88fd\u4f5c\u8a5e\u5178\u6587\u5b57\u6a94\uff0c\u518d\u4f7f\u7528\u6b64\u529f\u80fd\u8f09\u5165\u3002\u7c21\u55ae\u7bc4\u4f8b\u5982\u4e0b\uff1a\n\n\u5047\u8a2d\u88fd\u4f5c\u4e00\u500b userdict.txt \u6a94\uff0c\u6bcf\u884c\u542b\u4e09\u90e8\u5206\uff0c\u5fc5\u9808\u7528\u300e\u7a7a\u683c \uff08space\uff09\u300f\u9694\u958b\uff0c\u4f9d\u6b21\u662f\uff1a\u8a5e\u8a9e\u3001\u8a5e\u983b\uff08\u8acb\u586b\u6578\u503c\uff0c\u76ee\u524d\u7121\u4f5c\u7528\uff09\u3001\u8a5e\u6027\uff08\u672a\u80fd\u78ba\u5b9a\uff0c\u8acb\u586b ```NER```\uff09\uff0c\u9806\u5e8f\u4e0d\u53ef\u932f\u4e82\u3002\n\n**\u6ce8\u610f\uff1a\u6700\u5f8c\u4e0d\u8981\u7559\u7a7a\u884c\u6216\u4efb\u4f55\u7a7a\u767d\u7a7a\u9593\u3002***\n\n```reStructuredText\n\u53f0\u5317\u5e02\u653f\u5e9c 100 NER\n\u53d7\u9080 100 V\n```\n\n\u7576\u8981\u4f7f\u7528\u81ea\u8a02\u8a5e\u6642\uff0c\u8acb\u65bc\u57f7\u884c\u65b7\u8a5e\u524d\u5148\u505a ```load_userdict```\uff0c\u5c07\u81ea\u8a02\u8a5e\u5178\u8f09\u5165\u5230 monpa \u6a21\u7d44\u3002\n\n\u8acb\u5c07\u672c\u7bc4\u4f8b\u7684 ```./userdict.txt``` \u6539\u6210\u5be6\u969b\u653e\u7f6e\u81ea\u8a02\u8a5e\u6587\u5b57\u6a94\u8def\u5f91\u53ca\u6a94\u540d\u3002\n\n```python\nmonpa.load_userdict(\"./userdict.txt\")\n```\n\n\u5ef6\u7528\u524d\u4f8b\uff0c\u7528 ```pseg``` function\uff0c\u53ef\u767c\u73fe\u56de\u50b3\u503c\u5df2\u4f9d\u81ea\u8a02\u8a5e\u5178\u65b7\u8a5e\uff0c\u8b6c\u5982\u300e\u53d7\u9080\u300f\u70ba\u4e00\u500b\u8a5e\u800c\u975e\u5148\u524d\u7684\u5169\u5b57\u5206\u5217\u8f38\u51fa\uff0c\u300e\u53f0\u5317\u5e02\u653f\u5e9c\u300f\u4e5f\u4f9d\u81ea\u8a02\u8a5e\u8f38\u51fa\u3002\n\n```python\nsentence = \"\u8521\u82f1\u6587\u7e3d\u7d71\u4eca\u5929\u53d7\u9080\u53c3\u52a0\u53f0\u5317\u5e02\u653f\u5e9c\u6240\u8209\u8fa6\u7684\u967d\u660e\u5c71\u99ac\u62c9\u677e\u6bd4\u8cfd\u3002\"\nresult = monpa.pseg(sentence)\n\nfor t in result:\n print(t)\n```\n\n\u8f38\u51fa\n\n```python\n['\u8521\u82f1\u6587', 'PER']\n['\u7e3d\u7d71', 'Na']\n['\u4eca\u5929', 'Nd']\n['\u53d7\u9080', 'V']\n['\u53c3\u52a0', 'VC']\n['\u53f0\u5317\u5e02\u653f\u5e9c', 'NER']\n['\u6240', 'D']\n['\u8209\u8fa6', 'VC']\n['\u7684', 'DE']\n['\u967d\u660e\u5c71', 'LOC']\n['\u99ac\u62c9\u677e', 'Na']\n['\u6bd4\u8cfd', 'Na']\n['\u3002', 'PERIODCATEGORY']\n```\n\n## \u5176\u4ed6\n\nSee our paper [MONPA: Multi-objective Named-entity and Part-of-speech Annotator for Chinese using Recurrent Neural Network](https://www.aclweb.org/anthology/papers/I/I17/I17-2014/) for more information about the model detail. \n\nFor your reference, although we list the paper here, it does NOT mean we use the exact same corpora when training the released model. As we have mentioned before, the current MONPA is a new development by adopating the BERT model and a new paper will be published later. In the meantime, we list the original paper about the core ideas of MONPA for citation purposes.\n\n##### Abstract\n\nPart-of-speech (POS) tagging and named entity recognition (NER) are crucial steps in natural language processing. In addition, the difficulty of word segmentation places additional burden on those who intend to deal with languages such as Chinese, and pipelined systems often suffer from error propagation. This work proposes an end-to-end model using character-based recurrent neural network (RNN) to jointly accomplish segmentation, POS tagging and NER of a Chinese sentence. Experiments on previous word segmentation and NER datasets show that a single model with the proposed architecture is comparable to those trained specifically for each task, and outperforms freely-available softwares. Moreover, we provide a web-based interface for the public to easily access this resource.\n\n#### Citation:\n\n##### APA:\n\nHsieh, Y. L., Chang, Y. C., Huang, Y. J., Yeh, S. H., Chen, C. H., & Hsu, W. L. (2017, November). MONPA: Multi-objective Named-entity and Part-of-speech Annotator for Chinese using Recurrent Neural Network. In *Proceedings of the Eighth International Joint Conference on Natural Language Processing (Volume 2: Short Papers)* (pp. 80-85).\n\n##### BibTex\n\n```text\n@inproceedings{hsieh-etal-2017-monpa,\n title = \"{MONPA}: Multi-objective Named-entity and Part-of-speech Annotator for {C}hinese using Recurrent Neural Network\",\n author = \"Hsieh, Yu-Lun and\n Chang, Yung-Chun and\n Huang, Yi-Jie and\n Yeh, Shu-Hao and\n Chen, Chun-Hung and\n Hsu, Wen-Lian\",\n booktitle = \"Proceedings of the Eighth International Joint Conference on Natural Language Processing (Volume 2: Short Papers)\",\n month = nov,\n year = \"2017\",\n address = \"Taipei, Taiwan\",\n publisher = \"Asian Federation of Natural Language Processing\",\n url = \"https://www.aclweb.org/anthology/I17-2014\",\n pages = \"80--85\",\n abstract = \"Part-of-speech (POS) tagging and named entity recognition (NER) are crucial steps in natural language processing. In addition, the difficulty of word segmentation places additional burden on those who intend to deal with languages such as Chinese, and pipelined systems often suffer from error propagation. This work proposes an end-to-end model using character-based recurrent neural network (RNN) to jointly accomplish segmentation, POS tagging and NER of a Chinese sentence. Experiments on previous word segmentation and NER datasets show that a single model with the proposed architecture is comparable to those trained specifically for each task, and outperforms freely-available softwares. Moreover, we provide a web-based interface for the public to easily access this resource.\",\n}\n```\n\n##### Contact\nPlease feel free to contact monpa team by email.\nmonpacut@gmail.com\n\n## \u81f4\u8b1d\n\n\u611f\u8b1d\u4e2d\u592e\u7814\u7a76\u9662\u4e2d\u6587\u8a5e\u77e5\u8b58\u5eab\u5c0f\u7d44\u7684\u5354\u52a9\u3002MONPA \u65bc\u7d93\u4e2d\u592e\u7814\u7a76\u9662\u4e2d\u6587\u8a5e\u77e5\u8b58\u5eab\u5c0f\u7d44\u540c\u610f\u4e0b\uff0c\u4f7f\u7528 CKIP \u65b7\u8a5e\u5143\u4ef6\u8f14\u52a9\u88fd\u4f5c\u521d\u671f\u8a13\u7df4\u8cc7\u6599\u3002\n\nMa, Wei-Yun and Keh-Jiann Chen, 2003, \"Introduction to CKIP Chinese Word Segmentation System for the First International Chinese Word Segmentation Bakeoff\", Proceedings of ACL, Second SIGHAN Workshop on Chinese Language Processing, pp168-171.\u3002\n\n## License\n\n[![CC BY-NC-SA 4.0](https://camo.githubusercontent.com/6887feb0136db5156c4f4146e3dd2681d06d9c75/68747470733a2f2f692e6372656174697665636f6d6d6f6e732e6f72672f6c2f62792d6e632d73612f342e302f38387833312e706e67)](http://creativecommons.org/licenses/by-nc-sa/4.0/)\n\nCopyright (c) 2019 The MONPA team under the [CC-BY-NC-SA 4.0 License](http://creativecommons.org/licenses/by-nc-sa/4.0/). All rights reserved.\n\n\u50c5\u4f9b\u5b78\u8853\u4f7f\u7528\uff0c\u8acb\u52ff\u4f7f\u7528\u65bc\u71df\u5229\u76ee\u7684\u3002\u82e5\u60a8\u9700\u8981\u61c9\u7528 MONPA \u65bc\u5546\u696d\u7528\u9014\uff0c\u8acb\u806f\u7e6b\u6211\u5011\u5354\u52a9\u5f8c\u7e8c\u4e8b\u5b9c\u3002\uff08monpacut@gmail.com\uff09\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/monpa-team/monpa", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "monpa", "package_url": "https://pypi.org/project/monpa/", "platform": "", "project_url": "https://pypi.org/project/monpa/", "project_urls": { "Homepage": "https://github.com/monpa-team/monpa" }, "release_url": "https://pypi.org/project/monpa/0.2.6.0/", "requires_dist": [ "torch (>=1.0)", "requests" ], "requires_python": "", "summary": "MONPA is an end-to-end model to jointly conduct Chinese word segmentation, POS and NE labeling", "version": "0.2.6.0" }, "last_serial": 5769395, "releases": { "0.2.3": [], "0.2.4": [ { "comment_text": "", "digests": { "md5": "ca4a45c2ad37f25402f227a503fd43fe", "sha256": "1db2f3572cf4057df9ff90ed1210d7fad514bf3645f28adeed5ea67a2cffbb1e" }, "downloads": -1, "filename": "monpa-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "ca4a45c2ad37f25402f227a503fd43fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44036, "upload_time": "2019-07-24T06:47:44", "url": "https://files.pythonhosted.org/packages/6b/d5/0f86844ca8c3a115d72ae0cf26e2113ec09886b870948e636c8d63c0788f/monpa-0.2.4-py3-none-any.whl" } ], "0.2.4.1": [ { "comment_text": "", "digests": { "md5": "0c32c6528d60165ef23f1b402b974794", "sha256": "1996f415ba989138c8d54afb81537d78024aa0d3b5a05ed50dcd3ab7553bcfad" }, "downloads": -1, "filename": "monpa-0.2.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0c32c6528d60165ef23f1b402b974794", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43647, "upload_time": "2019-07-24T08:28:35", "url": "https://files.pythonhosted.org/packages/40/0c/c074a6908e0c2e4aa00f849ee17fdf6957b6f3f409548b673db3df3c192c/monpa-0.2.4.1-py3-none-any.whl" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "d062b87467e330e4517dedada7a00f7e", "sha256": "7f5370f213f9720c0083fcae5a3996591619d8d8729fae0de700b618e3f6f135" }, "downloads": -1, "filename": "monpa-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d062b87467e330e4517dedada7a00f7e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44324, "upload_time": "2019-07-25T10:07:29", "url": "https://files.pythonhosted.org/packages/92/b5/1589ec9cf515571bda6689533ced6127ba01b88cf007a57fccb4699f466e/monpa-0.2.5-py3-none-any.whl" } ], "0.2.5.1": [ { "comment_text": "", "digests": { "md5": "8b052c7d333edfb9df33c9c3cba0949e", "sha256": "1680f89492c0c42f252be96d26c7ffe71e61fa7577e6d61012944034a66048a6" }, "downloads": -1, "filename": "monpa-0.2.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8b052c7d333edfb9df33c9c3cba0949e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44735, "upload_time": "2019-08-05T07:57:57", "url": "https://files.pythonhosted.org/packages/81/d6/61d7c068e5dd36c1ea519bf75b37e53f524fff22736a4410e5faf3c836f8/monpa-0.2.5.1-py3-none-any.whl" } ], "0.2.6.0": [ { "comment_text": "", "digests": { "md5": "f069cf8c58b3839e2b5c4a6337df4635", "sha256": "f437c241c6947188cc29a87c67d45816b3dbf9a8b5e202fbf54ea60bfee19360" }, "downloads": -1, "filename": "monpa-0.2.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f069cf8c58b3839e2b5c4a6337df4635", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44511, "upload_time": "2019-09-02T07:46:19", "url": "https://files.pythonhosted.org/packages/47/3e/1277e0b276561b9749e45289a93279982602174cab3dd4521ba0dd6c52f1/monpa-0.2.6.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f069cf8c58b3839e2b5c4a6337df4635", "sha256": "f437c241c6947188cc29a87c67d45816b3dbf9a8b5e202fbf54ea60bfee19360" }, "downloads": -1, "filename": "monpa-0.2.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f069cf8c58b3839e2b5c4a6337df4635", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44511, "upload_time": "2019-09-02T07:46:19", "url": "https://files.pythonhosted.org/packages/47/3e/1277e0b276561b9749e45289a93279982602174cab3dd4521ba0dd6c52f1/monpa-0.2.6.0-py3-none-any.whl" } ] }