{"id":18624507,"url":"https://github.com/litsynp/flask-g2pk","last_synced_at":"2026-04-28T17:35:15.745Z","repository":{"id":47295246,"uuid":"516016776","full_name":"litsynp/flask-g2pk","owner":"litsynp","description":"Docker, Flask로 g2pk를 설치해 API로 제공하는 예제","archived":false,"fork":false,"pushed_at":"2022-07-20T14:39:08.000Z","size":6,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-17T07:07:08.470Z","etag":null,"topics":["docker","flask","g2pk","m1-mac"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/litsynp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-20T14:33:15.000Z","updated_at":"2022-07-20T16:42:52.000Z","dependencies_parsed_at":"2022-09-04T19:01:25.374Z","dependency_job_id":null,"html_url":"https://github.com/litsynp/flask-g2pk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/litsynp/flask-g2pk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litsynp%2Fflask-g2pk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litsynp%2Fflask-g2pk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litsynp%2Fflask-g2pk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litsynp%2Fflask-g2pk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/litsynp","download_url":"https://codeload.github.com/litsynp/flask-g2pk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litsynp%2Fflask-g2pk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32392300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","flask","g2pk","m1-mac"],"created_at":"2024-11-07T04:29:19.105Z","updated_at":"2026-04-28T17:35:15.729Z","avatar_url":"https://github.com/litsynp.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flask-g2pk\n\nFlask로 [`g2pk`](https://github.com/Kyubyong/g2pK) 설치해 API로 제공하는 예제입니다.\n\n## 특이사항\n\n- 테스트 환경은 Macbook Pro macOS Monterey 12.4 with **M1** 입니다.\n\n- M1 (ARM 기반)에서 mecab 등이 제대로 설치되지 않는 것 같아 `docker-compose.yml`에서 `platform`을 `AMD64`로 바꿨습니다.\n\n- `g2pk`의 의존성으로 추가된 모듈인 [`python-mecab-ko`](https://github.com/jonghwanhyeon/python-mecab-ko) 설치에서 매우 오래 걸립니다. (평균 13+분)\n\n- Dockerfile에서 `alpine` 기반으로 Mecab 설치하는 예시를 찾지 못해 `apt get`으로 설치하는 이미지를 base로 했습니다.\n\n- `apt get` 및 Mecab 설치 스크립트를 통해 Mecab을 설치합니다.\n\n- `requirements.txt`로 모듈을 빼둘 수도 있었으나 특정 모듈은 그대로 남겨뒀습니다.\n\n- flask 관련 환경변수는 `python-dotenv`를 이용해 `.flaskenv`를 자동으로 읽는 방식입니다. 공식문서 참고 바랍니다.\n\n## 서버 실행\n\n`docker-compose up`, `docker-compose down`, `docker-compose up --build` 등을 적절히 활용하셔서 사용하면 됩니다.\n\n## API\n\n`http://localhost:8000`에서 열립니다.\n\n- `GET /`\n\n  - hello world를 반환합니다. 테스트용입니다.\n\n- `GET /mecab?q=\u003c한글입력\u003e`\n\n  - `Mecab` 예시입니다.\n\n  - 아무것도 입력 안하면 디폴트값이 들어갑니다.\n\n  - 출력 예시\n    ```json\n    {\n      \"morphs\": [\"영등포구청역\", \"에\", \"있\", \"는\", \"맛집\", \"좀\", \"알려\", \"주\", \"세요\", \".\"],\n      \"nouns\": [\"영등포구청역\", \"맛집\"],\n      \"pos\": [\n        [\"영등포구청역\", \"NNP\"],\n        [\"에\", \"JKB\"],\n        [\"있\", \"VV\"],\n        [\"는\", \"ETM\"],\n        [\"맛집\", \"NNG\"],\n        [\"좀\", \"MAG\"],\n        [\"알려\", \"VV+EC\"],\n        [\"주\", \"VX\"],\n        [\"세요\", \"EP+EF\"],\n        [\".\", \"SF\"]\n      ]\n    }\n    ```\n\n- `GET /g2pk?q=\u003c한글입력\u003e`\n\n  - `g2pk` 예시입니다.\n\n  - 아무것도 입력 안하면 디폴트값이 들어갑니다.\n\n  ```json\n  {\n    \"result\": \"시늘 신꼬 얼른 동사무소에 가서 호닌 신고 해라\"\n  }\n  ```\n\n## REF\n\n[Dockerfile 출처](https://somjang.tistory.com/entry/Docker-ubuntu1604-%EA%B8%B0%EB%B0%98%EC%97%90%EC%84%9C-mecab-ko-%ED%99%9C%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitsynp%2Fflask-g2pk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flitsynp%2Fflask-g2pk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitsynp%2Fflask-g2pk/lists"}