{ "info": { "author": "mklee", "author_email": "ramoi@daum.net", "bugtrack_url": null, "classifiers": [], "description": "# TOOBUK\nbeautifulsoup\uc744 \uc774\uc6a9\ud558\uc5ec \uc6f9 \ud06c\ub864\ub9c1\uc744 \uc27d\uac8c\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc640\uc8fc\ub294 \ubaa8\ub4c8\uc785\ub2c8\ub2e4.\n\n## \ucc28\ub840\n1. [\uc124\uce58](#\uc124\uce58)\n1. [\uac04\ub2e8\ud55c \uc124\uba85](#\uac04\ub2e8\ud55c-\uc124\uba85)\n1. [\uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \uc0ac\uc6a9\ubc95](#\uac00\uc7a5-\uae30\ubcf8\uc801\uc778-\uc0ac\uc6a9\ubc95)\n1. [output \uc124\uc815](#output-\uc124\uc815)\n 1. [output \uc870\uc815\ud558\uae30](#output-\uc870\uc815\ud558\uae30)\n 1. [output\uc774 \uc5ec\ub7ec\uac1c \uc124\uc815\ub41c \uacbd\uc6b0](#output\uc774-\uc5ec\ub7ec\uac1c-\uc124\uc815\ub41c-\uacbd\uc6b0)\n 1. [output\uc758 \ud2b9\uc815 \uadf8\ub8f9 \ud558\ub098 \uac00\uc838\uc624\uae30](#output\uc758-\ud2b9\uc815-\uadf8\ub8f9-\ud558\ub098-\uac00\uc838\uc624\uae30)\n 1. [output\uc758 \uc5ec\ub7ec \uadf8\ub8f9 \uac00\uc838\uc624\uae30](#output\uc758-\uc5ec\ub7ec-\uadf8\ub8f9-\uac00\uc838\uc624\uae30)\n 1. [output \uc804\uccb4 \uac00\uc838\uc624\uae30](#output-\uc804\uccb4-\uac00\uc838\uc624\uae30)\n1. [\uc7a5\uace0\uc5d0\uc11c \uc0ac\uc6a9\ud574\ubcf4\uae30](#\uc7a5\uace0\uc5d0\uc11c-\uc0ac\uc6a9\ud574\ubcf4\uae30)\n1. [\ub0a8\uc740 \uac83\ub4e4](#\ub0a8\uc740-\uac83\ub4e4)\n\n## \uac04\ub2e8\ud55c \uc124\uba85 \nbeautifulsoup\uc744 \uc774\uc6a9\ud558\uc5ec \uc6f9 \ud06c\ub864\ub9c1\uc744 \uc27d\uac8c\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc640\uc8fc\ub294 \ubaa8\ub4c8\uc785\ub2c8\ub2e4. \ntest/test.py\ub97c \uc2e4\ud589\ud558\uc2dc\uba74 \ucf58\uc194\uc744 \ud1b5\ud574 \uacb0\uacfc\uac12\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \n\n## \uc124\uce58\npython\uc744 \uc124\uce58\ud55c \ud6c4 \uc544\ub798 \uba85\ub839\uc73c\ub85c \uc124\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \npip install toobuk \n\nbeautifulsoup4\uac00 \uc124\uce58\ub418\uc9c0 \uc548\ud588\ub2e4\uba74 \uc124\uce58\ud574\uc8fc\uc2dc\uae38 \ubc14\ub78d\ub2c8\ub2e4. \npip install beautifulsoup4 \n\n\uc124\uce58 \uc5ec\ubd80 \ud655\uc778 \npip list \n\n\uc544\ub798 \uc124\uba85\ud558\ub294 \ubd80\ubd84\uc5d0\uc11c test.py\uc640 test.json\uc744 \ucc38\uace0\ud558\uc2dc\uba74\uc11c \ubcf4\uc2dc\uba74 \ub429\ub2c8\ub2e4. \n\uc608\uc81c\ub294 [\uc7a5\uace0\uc5d0\uc11c \uc0ac\uc6a9\ud574\ubcf4\uae30](#\uc7a5\uace0\uc5d0\uc11c-\uc0ac\uc6a9\ud574\ubcf4\uae30) \uc5d0\uc11c\ub3c4 \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n## \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \uc0ac\uc6a9\ubc95\n\uc544\ub798\uc640 \uac19\uc740 \ub0b4\uc6a9\uc774 \uc788\uc2b5\ub098\ub2e4. \ud06c\ub864\ub9c1\ud560 url\uacfc bs.typ\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 parser\uac00 \uc815\uc758\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \noutput\uc73c\ub85c list\ub97c \ubf51\uc544\ub0b4\ub294 \ub370, \ubf51\uc544\ub0b4\ub294 \ub370\uc774\ud0c0\ub294 selector\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \nselector\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc544\ub798 url\uc744 \ucc38\uace0 \ud558\uc138\uc694 \n\nhttps://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors \n\n {\n \"housetrade\" : {\n \"url\" : \"http://www.index.go.kr/potal/main/EachDtlPageDetail.do?idx_cd=1240\",\n \"bs.type\" : \"html.parser\",\n \"output\" : {\n \"date\" : { \"type\" : \"list\",\n \"pattern\" : [ \n {\n \"selector\" : \"#t_Table_124001 thead > tr:nth-of-type(1) > th\",\n \"name\" : \"DATE\"\n }\n ]\n }\n }\n }\n\n\uc77c\ub2e8 \uc704\uc758 \uc124\uc815 \ud30c\uc77c\uc744 test.json\uc73c\ub85c \uc800\uc7a5\ud569\ub2c8\ub2e4. \n\uadf8\ub9ac\uace0 test.json\uc774 \uc800\uc7a5\ub41c \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc5ed\uc2dc test.py\ub85c \uc544\ub798 \uc18c\uc2a4\ub97c \uc800\uc7a5\ud569\ub2c8\ub2e4. \n\n from toobuk.tb import Toobuk\n\n htb = Toobuk('test') #\uc124\uc815 \ud30c\uc77c test.json, .json\uc740 \uc0dd\ub7b5\n print( htb.get('housetrade') ) \n\n\uadf8\ub9ac\uace0 \ucf58\uc194\uc744 \uc5f4\uc5b4\uc11c \uc544\ub798 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.\n\n python test.py\n\n\uacb0\uacfc\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.\n\n [{'DATE': '\\xa0'}, {'DATE': '201802\uc6d4'}, {'DATE': '201803\uc6d4'}, {'DATE': '201804\uc6d4'}, {'DATE': '201805\uc6d4'}, {'DATE': '201806\uc6d4'}, {'DATE': '201807\uc6d4'}, {'DATE': '201808\uc6d4'}, {'DATE': '201809\uc6d4'}, {'DATE': '201810\uc6d4'}, {'DATE': '201811\uc6d4'}, {'DATE': '201812\uc6d4'}, {'DATE': '201901\uc6d4'}]\n\n## output \uc124\uc815\n\n### output \uc870\uc815\ud558\uae30\n\n\ubc30\uc5f4\uc758 \uccab\ubc88\uc9f8 \uac12\uc774 \uc774\uc0c1\ud569\ub2c8\ub2e4. \n\uc544\ub798 \uadf8\ub9bc\uc774 \uc704\uc5d0\uc11c url\ub85c \uc124\uc815\ud55c \uc0ac\uc774\ud2b8\ub97c \ucea1\uccd0\ud55c \ub0b4\uc6a9\uc785\ub2c8\ub2e4. \ud14c\uc774\ube14\uc758 \uccab\ubc88\uc9f8 th\uac12\uc774 \ube44\uc5b4\uc788\ub124\uc694 \uc800 th\uac12\uc744 \ube7c\uace0 \uac00\uc838\uc640\uc57c\ud560 \ub4ef \uc2f6\uc2b5\ub2c8\ub2e4. \n![\ucea1\uccd0\ud654\uba74](https://user-images.githubusercontent.com/31053133/52697530-fd315c00-2fb4-11e9-9f64-9eec4a5a5cab.PNG)\n\uadf8\ub9ac\uace0 \ub370\uc774\ud0c0 \ud615\uc2dd\uc73c\ub85c YYYY-MM\uc73c\ub85c \ub098\uc654\uc73c\uba74 \ud558\uad6c\uc694. \n\n {\n \"housetrade\" : {\n \"url\" : \"http://www.index.go.kr/potal/main/EachDtlPageDetail.do?idx_cd=1240\",\n \"bs.type\" : \"html.parser\",\n \"output\" : {\n \"date\" : { \"type\" : \"list\",\n \"pattern\" : [ \n {\n \"selector\" : \"#t_Table_124001 thead > tr:nth-of-type(1) > th\",\n \"name\" : \"DATE\",\n \"slice\" : {\"start\": 1 },\n \"regx\" : { \"pattern\" : \"(?P\\\\d{4})(?P\\\\d{2}).\" , \"replace\" : \"\\\\g-\\\\g\" }\n }\n ]\n }\n }\n }\n\n\n**slice**\uc18d\uc131\uc73c\ub85c \uccab\ubc88\uc9f8 th\ubd80\ubd84\uc744 \uc81c\uc678\ud588\uc73c\uba70, **regx** \uc18d\uc131\uc73c\ub85c \ud3ec\ub9f7\uc744 \uc6d0\ud558\ub294 \ud615\ud0dc\ub85c \ubc14\uafe8\uc2b5\ub2c8\ub2e4. \nregx\uc5d0\uc11c\ub294 \uc815\uaddc\ud45c\ud604\uc2dd\uc744 \uc0ac\uc6a9\ud558\ub294\ub370\uc694. \uc815\uaddc\ud45c\ud604\uc2dd \uad00\ub828 \ub0b4\uc6a9\uc740 \uc544\ub798 \uc0ac\uc774\ud2b8\uc5d0\uc11c \ud655\uc778\ud560\uc218 \uc788\uc2b5\ub2c8\ub2e4. \nhttps://regexr.com/ \n\ub354\ud574\uc11c python\uc5d0\uc11c\ub294 \ud558\uc704\ud45c\ud604\uc2dd\uc744 \ubb36\uc5b4\ub0b4\uba74\uc11c \uc774\ub984\ud45c\ub97c \ubd99\uc77c \uc218 \uc788\ub294\ub370\uc694. \uc608\uc81c\uc5d0\uc11c \ubcf4\uba70 **YYYY**, **MM**\uc774 \uadf8 \ub0b4\uc6a9\uc785\ub2c8\ub2e4. \uad00\ub828 \ub0b4\uc6a9\uc740 \uc544\ub798\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \nhttps://wikidocs.net/4309#_7\n\n {'date': [{'DATE': '2018-02'}, {'DATE': '2018-03'}, {'DATE': '2018-04'}, {'DATE': '2018-05'}, {'DATE': '2018-06'}, {'DATE': '2018-07'}, {'DATE': '2018-08'}, {'DATE': '2018-09'}, {'DATE': '2018-10'}, {'DATE': '2018-11'}, {'DATE': '2018-12'}, {'DATE': '2019-01'}]}\n\n\uadf8 \ubc16\uc5d0 \ud615\uc2dd\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc9c0\uae08\uc740 int\uc640 float\ub9cc \uc9c0\uc6d0\ub429\ub2c8\ub2e4. \n[output\uc774 \uc5ec\ub7ec\uac1c \uc124\uc815\ub41c \uacbd\uc6b0](#output\uc774-\uc5ec\ub7ec\uac1c-\uc124\uc815\ub41c-\uacbd\uc6b0)\uc5d0\uc11c \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n### output\uc774 \uc5ec\ub7ec\uac1c \uc124\uc815\ub41c \uacbd\uc6b0\n\uc6f9 \ud398\uc774\uc9c0\ub97c \uae01\uc5b4\uc628 \uacbd\uc6b0, \ub370\uc774\ud0c0\uac00 \uc5ec\ub7ec\uac1c \uc124\uc815\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. list\uac00 \ud558\ub098\uac00 \ub420 \uc218 \uc788\uace0, \ub450\uac1c\ub3c4 \ub420 \uc218 \uc788\uc8e0. \n\ub9ac\uc2a4\ud2b8\uac00 \uc544\ub2c8\ub77c \uc77c\ubc18 \ub2e8\uc77c \ud615\uc2dd\uc774 \ub610 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \ub2e8\uc77c\ud615\uc2dd\uc744 \ub610 \uc5ec\ub7ec\uac1c\ub85c \ub098\ub20c \uc218 \uc788\uc8e0. \noutput\uc5d0 \ucd94\uac00\ub9cc \ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4. \ubc11\uc5d0 \uc608\uc81c\uac00 \uc788\uc2b5\ub2c8\ub2e4.\n\n\n {\n \"housetrade\" : {\n \"url\" : \"http://www.index.go.kr/potal/main/EachDtlPageDetail.do?idx_cd=1240\",\n \"bs.type\" : \"html.parser\",\n \"output\" : {\n \"date\" : { \"type\" : \"list\",\n \"pattern\" : [ \n {\n \"selector\" : \"#t_Table_124001 thead > tr:nth-of-type(1) > th\",\n \"name\" : \"DATE\",\n \"slice\" : {\"start\": 1 },\n \"regx\" : { \"pattern\" : \"(?P\\\\d{4})(?P\\\\d{2}).\" , \"replace\" : \"\\\\g-\\\\g\" }\n }\n ]\n }, \n \"changeRate\" : { \"type\" : \"list\", \n \"join\" : { \"ref\" : \"housecharter/changeRate\", \"joinKey\" : [\"DATE\", \"DATE\"] },\n \"pattern\" : [\n {\n \"selector\" : \"#t_Table_124001 thead > tr:nth-of-type(1) > th\",\n \"name\" : \"DATE\",\n \"slice\" : {\"start\": 1 },\n \"regx\" : { \"pattern\" : \"(?P\\\\d{4})(?P\\\\d{2}).\" , \"replace\" : \"\\\\g\\\\g\" },\n \"type\" : \"int\"\n }, {\n \"selector\" : \"#t_Table_124001 tbody > tr:nth-of-type(1) > td\", \n \"name\" : \"COUNTRY\",\n \"type\" : \"float\"\n }, {\n \"selector\" : \"#t_Table_124001 tbody > tr:nth-of-type(2) > td\", \n \"name\" : \"CAPATIAL\",\n \"type\" : \"float\"\n }, {\n \"selector\" : \"#t_Table_124001 tbody > tr:nth-of-type(3) > td\", \n \"name\" : \"SEOUL\",\n \"type\" : \"float\"\n }, {\n \"selector\" : \"#t_Table_124001 tbody > tr:nth-of-type(4) > td\", \n \"name\" : \"SOUTH\",\n \"type\" : \"float\"\n }, {\n \"selector\" : \"#t_Table_124001 tbody > tr:nth-of-type(5) > td\", \n \"name\" : \"NORTH\",\n \"type\" : \"float\"\n }\n ]\n\n }\n }\n }\n }\n\n\uc704\uc5d0\uc11c\ub294 output\uc73c\ub85c date\ub9cc \uc788\uc5c8\ub294\ub370\uc694. changeRate\uac00 \ud558\ub098\ub354 \uc0dd\uacbc\uc2b5\ub2c8\ub2e4. python\ucf54\ub4dc\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.\n\n from toobuk.tb import Toobuk\n\n htb = Toobuk('test') #\uc124\uc815 \ud30c\uc77c test.json, .json\uc740 \uc0dd\ub7b5\n\n\uc544\ub798\ub294 \uacb0\uacfc\uc785\ub2c8\ub2e4. \uadf8\ub8f9\uba85(date, changeRate)\uc744 \uae30\uc900\uc73c\ub85c \ub370\uc774\ud0c0\uac00 \ub9cc\ub4e4\uc5b4\uc84c\uc2b5\ub2c8\ub2e4.\n\n {\n 'date': [{'DATE': '2018-02'}, {'DATE': '2018-03'}, {'DATE': '2018-04'}, {'DATE': '2018-05'}, {'DATE': '2018-06'}, {'DATE': '2018-07'}, {'DATE': '2018-08'}, {'DATE': '2018-09'}, {'DATE': '2018-10'}, {'DATE': '2018-11'}, {'DATE': '2018-12'}, {'DATE': '2019-01'}], \n\n 'changeRate': [{'DATE': 201802, 'COUNTRY': 0.2, 'CAPATIAL': 0.5, 'SEOUL': 0.9, 'SOUTH': 1.2, 'NORTH': 0.7}, {'DATE': 201803, 'COUNTRY': 0.1, 'CAPATIAL': 0.3, 'SEOUL': 0.6, 'SOUTH': 0.6, 'NORTH': 0.6}, {'DATE': 201804, 'COUNTRY': 0.1, 'CAPATIAL': 0.2, 'SEOUL': 0.3, 'SOUTH': 0.3, 'NORTH': 0.3}, {'DATE': 201805, 'COUNTRY': 0.0, 'CAPATIAL': 0.1, 'SEOUL': 0.2, 'SOUTH': 0.2, 'NORTH': 0.3}, {'DATE': 201806, 'COUNTRY': 0.0, 'CAPATIAL': 0.1, 'SEOUL': 0.2, 'SOUTH': 0.1, 'NORTH': 0.4}, {'DATE': 201807, 'COUNTRY': 0.0, 'CAPATIAL': 0.1, 'SEOUL': 0.3, 'SOUTH': 0.3, 'NORTH': 0.4}, {'DATE': 201808, 'COUNTRY': 0.0, 'CAPATIAL': 0.2, 'SEOUL': 0.6, 'SOUTH': 0.6, 'NORTH': 0.6}, {'DATE': 201809, 'COUNTRY': 0.3, 'CAPATIAL': 0.7, 'SEOUL': 1.3, 'SOUTH': 1.5, 'NORTH': 1.0}, {'DATE': 201810, 'COUNTRY': 0.2, 'CAPATIAL': 0.4, 'SEOUL': 0.5, 'SOUTH': 0.5, 'NORTH': 0.6}, {'DATE': 201811, 'COUNTRY': 0.1, 'CAPATIAL': 0.3, 'SEOUL': 0.2, 'SOUTH': 0.1, 'NORTH': 0.3}, {'DATE': 201812, 'COUNTRY': 0.0, 'CAPATIAL': 0.1, 'SEOUL': 0.0, 'SOUTH': -0.1, 'NORTH': 0.2}, {'DATE': 201901, 'COUNTRY': -0.1, 'CAPATIAL': -0.1, 'SEOUL': -0.2, 'SOUTH': -0.3, 'NORTH': -0.1}]\n }\n### output\uc758 \ud2b9\uc815 \uadf8\ub8f9 \ud558\ub098 \uac00\uc838\uc624\uae30\n #output\uc5d0\uc11c \uc124\uc815\ud55c \uac12 \uc911 date\ub9cc \uac00\uc838\uc635\ub2c8\ub2e4.\n print( htb.get('housetrade/date') ) \n\n### output\uc758 \uc5ec\ub7ec \uadf8\ub8f9 \uac00\uc838\uc624\uae30\noutput\uc5d0\uc11c \uc124\uc815\ud55c \uadf8\ub8f9\ub4e4\uc744 \uc5ec\ub7ec\uac1c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n #&\ub85c \uc5ee\uc5b4\uc11c \uac00\uc838\uc624\uba74 \ub429\ub2c8\ub2e4.\n print( htb.get('housetrade/date&changeRate') ) \n\n### output \uc804\uccb4 \uac00\uc838\uc624\uae30\n\n\n #output \uc804\uccb4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.\n print( htb.get('housetrade') ) \n\n## \uc7a5\uace0\uc5d0\uc11c \uc0ac\uc6a9\ud574\ubcf4\uae30\n\uc774\ub807\uac8c \ub418\ub2c8 \uae30\uc655 \ud55c \ubc88 \uc644\uc804\ud55c \ub188\uc73c\ub85c \ud55c \ubc88 \ub9cc\ub4e4\uc5b4 \ubcf4\uace0\ud508 \uc695\uc2ec\uc5d0 \uc7a5\uace0\uc640 \uc5f0\ub3d9\uc2dc\ucf1c\ubd24\uc2b5\ub2c8\ub2e4. \nhttps://github.com/ramoi/toobuk_vued3 \n\n\uc704 \ub0b4\uc6a9\uc740 \uc544\ub798 url\uc5d0\uc11c \ud655\uc778\ud560 \uc218\uc788\uc2b5\ub2c8\ub2e4. \nhttps://toobuk.heroku.com\n\n\uc2e4\uc81c \uc5c5\ubb34\uc5d0\uc11c\ub290 \uc774\ub807\uac8c \uc4f0\uc9c4 \uc54a\uaca0\uc9c0\uc694. \ube45\ub370\uc774\ud0c0\uc758 \ucd5c\uc804\ubc29 \ubcf4\uba85\uc73c\ub85c \uc4f0\ub358\uc9c0, \uc544\ub2c8\uba74 \ub370\uc774\ud0c0\ubca0\uc774\uc2a4\uc5d0 \uc800\uc7a5\ud558\uaca0\uc9c0\uc694. \n\uadf8\ub9ac\uace0 \ub354 \uc911\uc694\ud55c \uac83\uc740 \uc774 \ub188 \ubcf4\ub2e4 \ub354 \uc88b\uc740 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \ub9ce\uc744 \uac81\ub2c8\ub2e4. \uc81c\uac00 \uc790\ubc14\ub97c \uc8fc\ub825 \uc5b8\uc5b4\ub85c \uc0ac\uc6a9\ud574\uc11c \ud30c\uc774\uc36c \uc0dd\ud0dc\uacc4\ub97c \uc798 \ubaa8\ub974\uc9c0\ub9cc \npandas\uac00 \ub9ce\uc774 \uc4f0\uc774\ub294 \uac83 \uac19\ub124\uc694..\n\n## \ub0a8\uc740 \uac83\ub4e4\n\ucc98\uc74c\uc5d0\ub294 python\uc744 \uacf5\ubd80\ud558\uba74\uc11c, \ubb34\uc5b8\uac00\ub97c \ud558\ub098 \ub9cc\ub4e4\uc5b4\ubcf4\uba74\uc11c \ub2e4\uc9c0\ub824\ub294 \ub9c8\uc74c\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \n\uadf8\ub7f0\ub370 \uc5ec\uae30\uae4c\uc9c0 \uc654\ub124\uc694. \ud14c\uc2a4\ud2b8\ub3c4 \ubd80\uc871\ud569\ub2c8\ub2e4.\n\ud558\uc9c0\ub9cc \ub204\uad70\uac00\uc5d0\uac8c \uc870\uae08\uc774\ub77c\ub3c4 \ub3c4\uc6c0\uc774 \ub418\uc5c8\ub2e4\uba74 \ud558\ub294 \ubc14\ub7a8\uc785\ub2c8\ub2e4.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ramoi/toobuk", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "toobuk", "package_url": "https://pypi.org/project/toobuk/", "platform": "", "project_url": "https://pypi.org/project/toobuk/", "project_urls": { "Homepage": "https://github.com/ramoi/toobuk" }, "release_url": "https://pypi.org/project/toobuk/0.6/", "requires_dist": null, "requires_python": "", "summary": "\uc6f9\ud06c\ub864\ub9c1\uc744 \ub3c4\uc640\uc90d\ub2c8\ub2e4.", "version": "0.6" }, "last_serial": 5009343, "releases": { "0.6": [ { "comment_text": "", "digests": { "md5": "7612d8fcfaf5ff9b47c78c1db5c7262e", "sha256": "a656b7eab65bb6f1d19f1909f62fd1b679bd365f211b0f6edf12b672d20c71f8" }, "downloads": -1, "filename": "toobuk-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7612d8fcfaf5ff9b47c78c1db5c7262e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12547, "upload_time": "2019-03-31T12:48:36", "url": "https://files.pythonhosted.org/packages/e6/46/20279e32ba4eee62e3e341b294ef5d905bee670849a120370b6b5f2ff97a/toobuk-0.6-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7612d8fcfaf5ff9b47c78c1db5c7262e", "sha256": "a656b7eab65bb6f1d19f1909f62fd1b679bd365f211b0f6edf12b672d20c71f8" }, "downloads": -1, "filename": "toobuk-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7612d8fcfaf5ff9b47c78c1db5c7262e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12547, "upload_time": "2019-03-31T12:48:36", "url": "https://files.pythonhosted.org/packages/e6/46/20279e32ba4eee62e3e341b294ef5d905bee670849a120370b6b5f2ff97a/toobuk-0.6-py3-none-any.whl" } ] }