{ "info": { "author": "Ahmet A. Ak\u0131n, Mehmet D. Ak\u0131n", "author_email": "ahmetaa@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Natural Language :: Turkish", "Operating System :: OS Independent", "Programming Language :: Java", "Programming Language :: Python", "Topic :: Text Processing" ], "description": "# Zemberek gRPC\n\n__Latest version 0.16.0__\n\nZemberek-NLP provides some of its functions via a remote procedure call framework called gRPC. gRPC is a high performance, open-source universal RPC framework. Once Zemberek-NLP gRPC server is started, other applications can access remote services natively via automatically generated client libraries.\n\nhttps://github.com/ahmetaa/zemberek-nlp\n\n## Start gRPC server with docker\n\nYou can use it from directly in your computer or run with in docker container.\n\nhttps://hub.docker.com/r/ryts/zemberek-grpc\n\nRun with docker\n```\ndocker run -d --rm -p 6789:6789 --name zemberek-grpc ryts/zemberek-grpc\n```\n\nCheck logs\n```\ndocker logs -f zemberek-grpc\n```\n\n## Install library and example\n\n```shell\npip install zemberek-grpc\n```\n\nPython Client Example\n\n```python\n#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport sys\n\nimport grpc\n\nimport zemberek_grpc.language_id_pb2 as z_langid\nimport zemberek_grpc.language_id_pb2_grpc as z_langid_g\nimport zemberek_grpc.normalization_pb2 as z_normalization\nimport zemberek_grpc.normalization_pb2_grpc as z_normalization_g\nimport zemberek_grpc.preprocess_pb2 as z_preprocess\nimport zemberek_grpc.preprocess_pb2_grpc as z_preprocess_g\nimport zemberek_grpc.morphology_pb2 as z_morphology\nimport zemberek_grpc.morphology_pb2_grpc as z_morphology_g\n\nchannel = grpc.insecure_channel('localhost:6789')\n\nlangid_stub = z_langid_g.LanguageIdServiceStub(channel)\nnormalization_stub = z_normalization_g.NormalizationServiceStub(channel)\npreprocess_stub = z_preprocess_g.PreprocessingServiceStub(channel)\nmorphology_stub = z_morphology_g.MorphologyServiceStub(channel)\n\ndef find_lang_id(i):\n response = langid_stub.Detect(z_langid.LanguageIdRequest(input=i))\n return response.langId\n\ndef tokenize(i):\n response = preprocess_stub.Tokenize(z_preprocess.TokenizationRequest(input=i))\n return response.tokens\n\ndef normalize(i):\n response = normalization_stub.Normalize(z_normalization.NormalizationRequest(input=i))\n return response\n\ndef analyze(i):\n response = morphology_stub.AnalyzeSentence(z_morphology.SentenceAnalysisRequest(input=i))\n return response;\n\ndef fix_decode(text):\n \"\"\"Pass decode.\"\"\"\n if sys.version_info < (3, 0):\n return text.decode('utf-8')\n else:\n return text\n\ndef run():\n lang_detect_input = 'merhaba d\u00fcnya'\n lang_id = find_lang_id(lang_detect_input)\n print(\"Language of [\" + fix_decode(lang_detect_input) + \"] is: \" + lang_id)\n\n print(\"\")\n tokenization_input = 'Merhaba d\u00fcnya!'\n print('Tokens for input : ' + fix_decode(tokenization_input))\n tokens = tokenize(tokenization_input)\n for t in tokens:\n print(t.token + ':' + t.type)\n\n print(\"\")\n normalization_input = 'Mrhaba dnya'\n print('Normalization result for input : ' + fix_decode(normalization_input))\n n_response = normalize(normalization_input)\n if n_response.normalized_input:\n print(n_response.normalized_input)\n else:\n print('Problem normalizing input : ' + n_response.error)\n\n print(\"\")\n analysis_input = 'Kavanozun kapa\u011f\u0131n\u0131 a\u00e7amad\u0131m.'\n print('Analysis result for input : ' + fix_decode(analysis_input))\n analysis_result = analyze(analysis_input)\n for a in analysis_result.results:\n best = a.best\n lemmas = \"\"\n for l in best.lemmas:\n lemmas = lemmas + \" \" + l\n print(\"Word = \" + a.token + \", Lemmas = \" + lemmas + \", POS = [\" + best.pos + \"], Full Analysis = {\" + best.analysis + \"}\")\n\n\nif __name__ == '__main__':\n run()\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/ahmetaa/zemberek-nlp", "keywords": "t\u00fcrk\u00e7e turkish language zemberek text", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "zemberek-grpc", "package_url": "https://pypi.org/project/zemberek-grpc/", "platform": "", "project_url": "https://pypi.org/project/zemberek-grpc/", "project_urls": { "Homepage": "https://github.com/ahmetaa/zemberek-nlp" }, "release_url": "https://pypi.org/project/zemberek-grpc/0.16.1/", "requires_dist": [ "grpcio-tools", "grpcio", "googleapis-common-protos" ], "requires_python": "", "summary": "Requests to Zemberek gRPC server", "version": "0.16.1" }, "last_serial": 4968522, "releases": { "0.16.0": [ { "comment_text": "", "digests": { "md5": "075cb3cc343abecc7a4ecbbdb134ab8d", "sha256": "bdb650709c7b0f2a062c6f13d8c75e4b194a5fa1a9c1abb9a9d7224fad7d7b34" }, "downloads": -1, "filename": "zemberek_grpc-0.16.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "075cb3cc343abecc7a4ecbbdb134ab8d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11937, "upload_time": "2019-03-21T14:47:17", "url": "https://files.pythonhosted.org/packages/16/4b/1bf6055af33eb2e7a8f7aa651a7df7ff90b052f1d8941b2737853122093a/zemberek_grpc-0.16.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ba6aac42c70c678f0abb856ef3c3baa", "sha256": "46e541547691bdd51402de446d022fff7c147e9c6d72b5365f300c73debffcfd" }, "downloads": -1, "filename": "zemberek_grpc-0.16.0.tar.gz", "has_sig": false, "md5_digest": "3ba6aac42c70c678f0abb856ef3c3baa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6586, "upload_time": "2019-03-21T14:47:19", "url": "https://files.pythonhosted.org/packages/fc/f7/7ab7d87b07c09198d57c2ea5492b047755ba6876bb2933e09c13ec48094c/zemberek_grpc-0.16.0.tar.gz" } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "391986d6995ba3d7d292cb80a6d18766", "sha256": "6dee76201a45fecf8d94ef052eb53dae578ca92032e4a461bb8066dd78ff071f" }, "downloads": -1, "filename": "zemberek_grpc-0.16.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "391986d6995ba3d7d292cb80a6d18766", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13118, "upload_time": "2019-03-21T14:56:59", "url": "https://files.pythonhosted.org/packages/12/5b/d0deebc56c4586e26c50a0b63697caa713045ed843b39b608fc46a182889/zemberek_grpc-0.16.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d545474318e3b2172fc1e71f6ed84d9", "sha256": "d0a46b1999009cc94465ee360497586d152984cdd25005428d64eb4448b669e3" }, "downloads": -1, "filename": "zemberek_grpc-0.16.1.tar.gz", "has_sig": false, "md5_digest": "6d545474318e3b2172fc1e71f6ed84d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9226, "upload_time": "2019-03-21T14:57:01", "url": "https://files.pythonhosted.org/packages/d2/f1/98cde4f1beee119e811a93c795576d9244a303ffb5922ca7667aa688f1da/zemberek_grpc-0.16.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "391986d6995ba3d7d292cb80a6d18766", "sha256": "6dee76201a45fecf8d94ef052eb53dae578ca92032e4a461bb8066dd78ff071f" }, "downloads": -1, "filename": "zemberek_grpc-0.16.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "391986d6995ba3d7d292cb80a6d18766", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13118, "upload_time": "2019-03-21T14:56:59", "url": "https://files.pythonhosted.org/packages/12/5b/d0deebc56c4586e26c50a0b63697caa713045ed843b39b608fc46a182889/zemberek_grpc-0.16.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d545474318e3b2172fc1e71f6ed84d9", "sha256": "d0a46b1999009cc94465ee360497586d152984cdd25005428d64eb4448b669e3" }, "downloads": -1, "filename": "zemberek_grpc-0.16.1.tar.gz", "has_sig": false, "md5_digest": "6d545474318e3b2172fc1e71f6ed84d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9226, "upload_time": "2019-03-21T14:57:01", "url": "https://files.pythonhosted.org/packages/d2/f1/98cde4f1beee119e811a93c795576d9244a303ffb5922ca7667aa688f1da/zemberek_grpc-0.16.1.tar.gz" } ] }