{ "info": { "author": "Zhanliang Liu", "author_email": "liang@zliu.org", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# pyfmr: a python wrapper for FMR\n\n[https://github.com/liuzl/fmr](https://github.com/liuzl/fmr)\n\n## Usage\n\n[examples](https://github.com/liuzl/pyfmr/tree/master/examples)\n\n### Install pyfmr via pip\n\n```sh\npip install pyfmr\n```\n\n### Grammar file\n\nSave the following grammar content to file `sf.grammar`\n\n```fmr\n = {nf.flight($1, $2)};\n[flight] = {nf.flight($2, $1)};\n\n = {nf.I($2)};\n\n = {nf.I($2)};\n[arrival] = {nf.arrival($1)};\n\n = \"\u4ece\" ;\n\n = \"\u5230\" | \"\u53bb\" | \"\u98de\";\n\n = \"\u5317\u4eac\" {nf.I($@)}\n | \"\u5929\u6d25\" {nf.I($@)}\n | \"\u4e0a\u6d77\" {nf.I($@)}\n | \"\u91cd\u5e86\" {nf.I($@)}\n | `.(?:\u57ce|\u90fd)` {nf.I($@)}\n ;\n\n = {nf.I($1)}\n | (any{1,1}) {nf.I($2)}\n ;\n\n = \"\u76f4\u8f96\u5e02\uff1a\" (list) {nf.I($@)};\n```\n\n### Python example codes\n\n```py\nimport pyfmr\n\np = pyfmr.Parser(\"./sf.grammar\")\nstrs = [\n \"\u76f4\u8f96\u5e02\uff1a\u5317\u4eac\u3001\u4e0a\u6d77\u3001\u5929\u6d25\",\n \"\u76f4\u8f96\u5e02\uff1a\u5e1d\u90fd\u3001\u6d25\u57ce\u3001\u9b54\u90fd\",\n \"\u4e2d\u56fd\u73b0\u5728\u6709\u56db\u4e2a\u76f4\u8f96\u5e02\uff1a\u5e1d\u90fd\u3001\u9b54\u90fd\u3001\u5929\u6d25\u3001\u91cd\u5e86\u3002\",\n \"\u4e2d\u56fd\u66fe\u7ecf\u7684\u76f4\u8f96\u5e02\uff1a\u5e1d\u90fd\u3001\u9b54\u90fd\u3001\u5929\u6d25\u3001\u91cd\u5e86\u3001\u65e7\u90fd\u3002\",\n \"\u5929\u6d25\u5927\u5b66\",\n]\nfor l in strs:\n ret = p.extract(l, \"cities\")\n for item in ret:\n print(item)\n print(\"=\"*80)\n```\n\n## How to build\n\n*The cross compiling is done by [xgo](https://github.com/karalabe/xgo).*\n\n### Prerequisites\n\n* Docker\n* Golang\n\n### Steps\n\n```sh\n# 1. clone the git repo\ngit clone https://github.com/liuzl/pyfmr && cd pyfmr\n\n# 2. pull xgo docker image\ndocker pull karalabe/xgo-latest\n\n# 3. install xgo\ngo get github.com/karalabe/xgo\n\n# 4. build shared libraries\nxgo --targets=*/amd64 -buildmode=c-shared -out pyfmr/lib/fmr github.com/liuzl/pyfmr/src\n\n# 5. build wheel\npython3 setup.py sdist bdist_wheel\n\n# 6. upload to pypi.org\npython3 -m twine upload dist/*\n```\n\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/liuzl/pyfmr", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyfmr", "package_url": "https://pypi.org/project/pyfmr/", "platform": "", "project_url": "https://pypi.org/project/pyfmr/", "project_urls": { "Homepage": "https://github.com/liuzl/pyfmr" }, "release_url": "https://pypi.org/project/pyfmr/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "A python wrapper for FMR", "version": "0.0.2" }, "last_serial": 4832796, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "8cfb1daafc4b3cb5b454c542a0fcbb73", "sha256": "7a71bc50f68be693ebd14d1c30207a7801d9d54889266e10b99c7d357a0d630d" }, "downloads": -1, "filename": "pyfmr-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8cfb1daafc4b3cb5b454c542a0fcbb73", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16552431, "upload_time": "2019-02-13T01:02:45", "url": "https://files.pythonhosted.org/packages/2a/dc/a69dae31e2ada94b8f7cd077d1db4218d28c052ac075a6aa64a69fabe6a3/pyfmr-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c026efc63e3904a9bd5c47c9d7411265", "sha256": "aec0ae12c0ddb01254f627d97717514926262d691876907c55872ebc04d86e37" }, "downloads": -1, "filename": "pyfmr-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c026efc63e3904a9bd5c47c9d7411265", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2027, "upload_time": "2019-02-13T01:02:50", "url": "https://files.pythonhosted.org/packages/27/ed/c1207c8b4db5788d6b2f48338aed6190d6b7d3b72e0c0c60d5a4eb31a285/pyfmr-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "3cd743cf2fdd39f423792dd6efe7987d", "sha256": "52d13f280a3b2badc3da0b3a61bbb9a4e18b4cb4850c7634e549c2f4e4e561a8" }, "downloads": -1, "filename": "pyfmr-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3cd743cf2fdd39f423792dd6efe7987d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16559002, "upload_time": "2019-02-18T00:33:47", "url": "https://files.pythonhosted.org/packages/db/77/c8900973a5b2b832079ad84a78be32b0096ad68c7e38f5e241e600bc8de9/pyfmr-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5108b8cf30365787bcd7d6b905a6ffcd", "sha256": "ed5fc53f75d09abd59b2a5771e9d0f71dd794aafff72795c0ccabd09cfad39ce" }, "downloads": -1, "filename": "pyfmr-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5108b8cf30365787bcd7d6b905a6ffcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2891, "upload_time": "2019-02-18T00:33:50", "url": "https://files.pythonhosted.org/packages/bd/f1/2a06b5312ef719737758eff85abeb41f1daf6fdd91f1c32498aa2f456723/pyfmr-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3cd743cf2fdd39f423792dd6efe7987d", "sha256": "52d13f280a3b2badc3da0b3a61bbb9a4e18b4cb4850c7634e549c2f4e4e561a8" }, "downloads": -1, "filename": "pyfmr-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3cd743cf2fdd39f423792dd6efe7987d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16559002, "upload_time": "2019-02-18T00:33:47", "url": "https://files.pythonhosted.org/packages/db/77/c8900973a5b2b832079ad84a78be32b0096ad68c7e38f5e241e600bc8de9/pyfmr-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5108b8cf30365787bcd7d6b905a6ffcd", "sha256": "ed5fc53f75d09abd59b2a5771e9d0f71dd794aafff72795c0ccabd09cfad39ce" }, "downloads": -1, "filename": "pyfmr-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5108b8cf30365787bcd7d6b905a6ffcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2891, "upload_time": "2019-02-18T00:33:50", "url": "https://files.pythonhosted.org/packages/bd/f1/2a06b5312ef719737758eff85abeb41f1daf6fdd91f1c32498aa2f456723/pyfmr-0.0.2.tar.gz" } ] }