{"id":22066433,"url":"https://github.com/minhoryang/konlpy-grpc","last_synced_at":"2025-05-13T01:55:35.800Z","repository":{"id":36467932,"uuid":"216368882","full_name":"minhoryang/KoNLPy-gRPC","owner":"minhoryang","description":"Redesigned KoNLPy (Wrapper) for Usability and Portability with gRPC. [EXPERIMENTAL]","archived":false,"fork":false,"pushed_at":"2023-03-07T03:14:23.000Z","size":350,"stargazers_count":13,"open_issues_count":12,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-13T01:55:29.641Z","etag":null,"topics":["grpc","grpc-python","konlpy","korean","korean-nlp","nlp","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/minhoryang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-20T13:47:28.000Z","updated_at":"2024-04-16T02:21:59.000Z","dependencies_parsed_at":"2024-06-19T22:50:45.038Z","dependency_job_id":"352f912c-a519-42dc-b6aa-b55654bf2b46","html_url":"https://github.com/minhoryang/KoNLPy-gRPC","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"307e8c68a62095603d3c34c4feb08b2c4e3a122e"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minhoryang%2FKoNLPy-gRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minhoryang%2FKoNLPy-gRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minhoryang%2FKoNLPy-gRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minhoryang%2FKoNLPy-gRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minhoryang","download_url":"https://codeload.github.com/minhoryang/KoNLPy-gRPC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253856639,"owners_count":21974577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grpc","grpc-python","konlpy","korean","korean-nlp","nlp","python3"],"created_at":"2024-11-30T19:28:05.624Z","updated_at":"2025-05-13T01:55:35.776Z","avatar_url":"https://github.com/minhoryang.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KoNLPy-gRPC\nRedesigned KoNLPy (Wrapper) for Usability and Portability with gRPC.\n\n## Try Now!\n[![Run on Ainize](https://ainize.ai/static/images/run_on_ainize_button.svg)](https://ainize.web.app/redirect?git_repo=github.com/minhoryang/KoNLPy-gRPC)\n\n## Requirements:\n```bash\npip install poetry\npip install -r $(python manage.py requirements.txt) -r $(python manage.py requirements-dev.txt)\n```\n\n## gRPC Compile needed!\n```bash\npython -m grpc_tools.protoc -I protos/ --python_out=konlpy_grpc/_generated/ --grpc_python_out=konlpy_grpc/_generated/ protos/*.proto\n```\n\n## Server\n```bash\npython -m pip install konlpy\n```\n\n```bash\npython -m konlpy_grpc server\npython -m konlpy_grpc hannanum_server\npython -m konlpy_grpc kkma_server\npython -m konlpy_grpc komoran_server\npython -m konlpy_grpc mecab_server\npython -m konlpy_grpc okt_server\n```\n\n## Tests\n```bash\npython -m pytest\npython -m pytest --grpc-fake-server\npython -m pytest --grpc-real-server=[::]:50051\npython -m pytest --konlpy-repo=../konlpy\n```\n\n## Release\n```bash\nrm -rf dist/\npoetry publish --build -r test\npoetry run twine upload --repository-url https://test.pypi.org/legacy/ dist/*\n```\n\n## TODO\n- [x] [P0] client.py will be a konlpy-alike module.\n  - [x] [P0] KoNLPy monkey-patcher\n- [x] [P1] Packaging with Poetry `pyproject.toml`.\n  - [x] PyPI Register\n  - [ ] Find lowerbound-version of requirements. \u003c!-- poetry debug:resolve --\u003e\n- [P1] gRPC Proto Compile\n- [P1] In-house tool: `manage.py`\n\u003c!--\n  - doit\n  - bazel\n  - bump2version\n  - poetry-dynamic-versioning\n  - pytest.ini to pyproject.toml\n--\u003e\n- [P1] KoNLPy Version Matching (set minimum) and Follow-up\n- [P1] gRPC retry/timeout/error_handling logic \u003c!-- google.api_core.* or grpc-retry-py --\u003e\n- [x] [P1] gRPC reflection\n- [P1] gRPC heartbeat\n- [x] [P1] gRPC Gateway (gRPC to JSON)\n- [x] [P2] Dockerize / Register\n  - k8s and istio?\n- [P2] CI\n- [x] [P3] Button for deploying this to AWS/GCS/Azure now! (and connect by README.)\n  - [x] [aizine](https://ainize.ai/deployment/minhoryang/konlpy-grpc)\n  - [ ] AWS/GCS/Azure\n- [P3] CustomDic?\n- [P3] Stream I/O\n- [P3] Redesign tests/ with grpc-testing\n- [P4] Java Edition for KoNLPy-gRPC-Server\n  - gRPC protos deploy/versioning\n\n## Additional Links\n- [KoNLPy/KoNLPy](https://github.com/konlpy/konlpy)\n- [Pruned KoNLPy v0.5.2-rc.1](https://github.com/minhoryang/konlpy)\n  - Currently, servers rely on KoNLPy v0.5.2 version.\n\n## License\nGNU GPLv3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminhoryang%2Fkonlpy-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminhoryang%2Fkonlpy-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminhoryang%2Fkonlpy-grpc/lists"}