{ "info": { "author": "Lovit", "author_email": "soy.lovit@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# soyclustering: Python clustering algorithm library for document clustering\n\n\ubb38\uc11c \uad70\uc9d1\ud654\ub97c \uc704\ud574\uc11c\ub294 Euclidean distance \uac00 \uc544\ub2cc Cosine distance \ub97c \uc774\uc6a9\ud558\ub294 Spherical k-means \ub97c \uc774\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 scikit-learn \uc758 sklearn.cluster.KMeans \ub294 Spherical k-means \ub97c \uc81c\uacf5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubb38\uc11c \uad70\uc9d1\ud654 \uacb0\uacfc\ub97c \ud574\uc11d\ud558\uae30 \uc704\ud558\uc5ec \uac01 \ud074\ub7ec\uc2a4\ud130\uc758 \ub808\uc774\ube14\uc744 \ub2ec\uc544\uc57c \ud569\ub2c8\ub2e4. \n\nsoyclustering \uc740 \ubb38\uc11c \uad70\uc9d1\ud654\ub97c \uc704\ud55c spherical k-means \uc54c\uace0\ub9ac\uc998\uacfc centroid \uae30\ubc18 cluster labeling algorithm \uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\nSpherical k-means \ub294 bag-of-words model \uacfc \uac19\uc740 sparse vector \uc640 Doc2Vec \uacfc \uac19\uc740 distribted repsentation \ubaa8\ub450\uc5d0\uc11c \uc798 \uc791\ub3d9\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc, cluster labeling \uc740 sparse vector \ub85c \ud45c\ud604\ub41c centroid vectors \ub97c \uae30\uc900\uc73c\ub85c \uc791\ub3d9\ud569\ub2c8\ub2e4.\n\n\ub610\ud55c k-means \uacc4\uc5f4 \uad70\uc9d1\ud654 \uc54c\uace0\ub9ac\uc998\uc744 \uc774\uc6a9\ud560 \ub54c \uc0ac\uc6a9\uc790\ub294 \uc801\uc808\ud55c k \ub97c \uacb0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. Silhouette score \uc640 \uac19\uc740 \ubc29\ubc95\uc774 \uc788\uc9c0\ub9cc, \uc774\ub294 \uc800\ucc28\uc6d0 \ubca1\ud130 \uacf5\uac04\uc758 \uad70\uc9d1\ud654\uc5d0 \uc801\ud569\ud558\uba70, bag-of-words model \uc774\ub098 distributed representation \uacfc \uac19\uc740 \uace0\ucc28\uc6d0 \uacf5\uac04\uc5d0\uc11c\ub294 \uc801\ud569\ud55c \ubc29\ubc95\uc774 \uc544\ub2d9\ub2c8\ub2e4. Uniform effect \uc640 \uac19\uc740 \ud604\uc0c1\uc744 \ud53c\ud560 \uc218 \uc788\ub294 \ud604\uc2e4\uc801\uc778 \ubc29\ubc95\uc740 \uc608\uc0c1\ud558\ub294 \uac83\ubcf4\ub2e4 \ub354 \ub9ce\uc740 \uad70\uc9d1\uc758 \uc218\ub97c k \ub85c \uc124\uc815\ud55c \ub4a4, \ube44\uc2b7\ud55c \uad70\uc9d1\uc744 \ud558\ub098\uc758 \uad70\uc9d1\uc73c\ub85c \ud6c4\ucc98\ub9ac \uacfc\uc815\uc5d0\uc11c \ubb36\ub294 \uac83\uc785\ub2c8\ub2e4.\n\nsoyclustering \uc740 \uc774\ub97c \uc704\ud574 centroid vectors \uc758 pairwise distance matrix \ub97c \uc2dc\uac01\ud654 \ud568\uc73c\ub85c\uc368, \ud604\uc7ac \uad70\uc9d1\ud654\uc758 \uacb0\uacfc\uc5d0 \uc911\ubcf5 \uad70\uc9d1\uc740 \uc5c6\ub294\uc9c0 \uc0b4\ud3b4\ubcf4\uba70, \ube44\uc2b7\ud55c \uad70\uc9d1\ub4e4\uc744 \ud558\ub098\uc758 \uad70\uc9d1\uc73c\ub85c \ubb36\ub294 \ud6c4\ucc98\ub9ac \uacfc\uc815\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\n\uadf8\ub9ac\uace0 k-means \uc758 initializer \ub85c \uc774\uc6a9\ub418\ub294 k-means++ \uc740 \uc5ed\uc2dc \uc800\ucc28\uc6d0 \ubca1\ud130 \uacf5\uac04\uc5d0\uc11c \uc791\ub3d9\ud558\ub294 \uc54c\uace0\ub9ac\uc998\uc785\ub2c8\ub2e4. \uace0\ucc28\uc6d0 \uacf5\uac04\uc5d0\uc11c\ub294 \ub9e4\uc6b0 \ub290\ub9b0 initialization \uc131\ub2a5\uc744 \ubcf4\uc774\uae30 \ub54c\ubb38\uc5d0 soyclustering \uc740 \uc774\ub97c \uac1c\uc120\ud558\ub294 fast initializer \ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\n## Usage\n\n\ud1a0\ud06c\ub098\uc774\uc9d5\uc774 \ub418\uc5b4 \uc788\ub294 matrix market \ud615\uc2dd\uc758 \ud30c\uc77c\uc744 \uc77d\uc2b5\ub2c8\ub2e4. Doc2Vec \uacfc \uac19\uc740 distributed representation \uc5d0 \ub300\ud574\uc11c\ub3c4 spherical k-means \ub294 \uc791\ub3d9\ud558\uc9c0\ub9cc, cluster labeling algorithm \uc740 bag-of-words model \uc5d0\uc11c\ub9cc \uc791\ub3d9\ud569\ub2c8\ub2e4.\n\n```python\nfrom scipy.io import mmread\nx = mmread(mm_file).tocsr()\n```\n\n\uad6c\ud604\ub41c spherical k-means \ub294 \uc544\ub798\ucc98\ub7fc \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. init='similar_cut' \uc740 \uace0\ucc28\uc6d0 \ubca1\ud130\uc5d0\uc11c \ud6a8\uc728\uc801\uc73c\ub85c \uc791\ub3d9\ud558\ub294 initializer \uc785\ub2c8\ub2e4. \ub610\ud55c centroid \uc758 sparsity \ub97c \uc720\uc9c0\ud558\uae30 \uc704\ud574 minimum_df \ubc29\ubc95\uc744 \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc678\uc758 interface \ub294 scikit-learn \uc758 k-means \uc640 \ub3d9\uc77c\ud569\ub2c8\ub2e4. fit_predict \ub97c \ud1b5\ud558\uc5ec \uad70\uc9d1\ud654 \uacb0\uacfc\uc758 labels \ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n```python\nfrom soyclustering import SphericalKMeans\nspherical_kmeans = SphericalKMeans(\n n_clusters=1000,\n max_iter=10,\n verbose=1,\n init='similar_cut',\n sparsity='minimum_df', \n minimum_df_factor=0.05\n)\n\nlabels = spherical_kmeans.fit_predict(x)\n```\n\nVerbose mode \uc77c \ub54c\uc5d0\ub294 initialization \uacfc \ub9e4 iteration \uc5d0\uc11c\uc758 \uacc4\uc0b0 \uc2dc\uac04\uacfc centroid vectors \uc758 sparsity \uac00 \ucd9c\ub825\ub429\ub2c8\ub2e4.\n\n```\ninitialization_time=1.218108 sec, sparsity=0.00796\nn_iter=1, changed=29969, inertia=15323.440, iter_time=4.435 sec, sparsity=0.116\nn_iter=2, changed=5062, inertia=11127.620, iter_time=4.466 sec, sparsity=0.108\nn_iter=3, changed=2179, inertia=10675.314, iter_time=4.463 sec, sparsity=0.105\nn_iter=4, changed=1040, inertia=10491.637, iter_time=4.449 sec, sparsity=0.103\nn_iter=5, changed=487, inertia=10423.503, iter_time=4.437 sec, sparsity=0.103\nn_iter=6, changed=297, inertia=10392.490, iter_time=4.483 sec, sparsity=0.102\nn_iter=7, changed=178, inertia=10373.646, iter_time=4.442 sec, sparsity=0.102\nn_iter=8, changed=119, inertia=10362.625, iter_time=4.449 sec, sparsity=0.102\nn_iter=9, changed=78, inertia=10355.905, iter_time=4.438 sec, sparsity=0.102\nn_iter=10, changed=80, inertia=10350.703, iter_time=4.452 sec, sparsity=0.102\n```\n\n\uad70\uc9d1\ud654 \uacb0\uacfc\uc758 \ud574\uc11d\uc744 \uc704\ud558\uc5ec cluster labeling \uc744 \uc218\ud589\ud569\ub2c8\ub2e4. soyclustering \uc774 \uc81c\uacf5\ud558\ub294 proportion keywords \ud568\uc218\ub294 keyword extraction \ubc29\ubc95\uc5d0 \uae30\ubc18\ud558\uc5ec \uac01 \uad70\uc9d1\uc758 \ud0a4\uc6cc\ub4dc\ub97c \ucd94\ucd9c\ud569\ub2c8\ub2e4. input arguments \ub85c \uad70\uc9d1\ud654 \uacb0\uacfc \uc5bb\ub294 cluster centroid vectors \uc640 list of str \ud615\uc2dd\uc73c\ub85c \uc774\ub904\uc9c4 vocab list \uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \ub610\ud55c \uac01 \uad70\uc9d1\uc758 \ud06c\uae30\ub97c \uce21\uc815\ud560 \uc218 \uc788\ub294 labels \ub97c \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.\n\n```python\nfrom soyclustering import proportion_keywords\n\ncenters = spherical_kmeans.cluster_centers_\nidx2vocab = ['list', 'of', 'str', 'vocab']\nkeywords = proportion_keywords(centers, labels, index2word=idx2vocab)\n```\n\n1,226k \uac1c\uc758 \ubb38\uc11c\ub85c \uc774\ub904\uc9c4 IMDB reviews \uc5d0 \ub300\ud558\uc5ec k=1000 \uc73c\ub85c \uc124\uc815\ud558\uc5ec spherical k-means \ub97c \ud559\uc2b5\ud55c \ub4a4, \uc704\uc758 proportion keywords \ud568\uc218\ub97c \uc774\uc6a9\ud558\uc5ec \uad70\uc9d1 \ub808\uc774\ube14\uc744 \ucd94\ucd9c\ud558\uc600\uc2b5\ub2c8\ub2e4. \uc544\ub798\ub294 5 \uac1c \uad70\uc9d1\uc758 \uc608\uc2dc\uc785\ub2c8\ub2e4.\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\uad70\uc9d1\uc758 \uc758\ubbf8\ud0a4\uc6cc\ub4dc (\ub808\uc774\ube14)
\uc601\ud654 \u201c\ud0c0\uc774\ud0c0\ub2c9\u201d iceberg, zane, sinking, titanic, rose, winslet, camerons, 1997, leonardo, leo, ship, cameron, dicaprio, kate, tragedy, jack, di saster, james, romance, love, effects, special, story, people, best, ever, made
Marvle comics \uc758 heros (Avengers) zemo, chadwick, boseman, bucky, panther, holland, cap, infinity, mcu, russo, civil, bvs, antman, winter, ultron, airport, ave ngers, marvel, captain, superheroes, soldier, stark, evans, america, iron, spiderman, downey, tony, superhero, heroes
Cover-field, District 9 \ub4f1 \uc678\uacc4\uc778 \uad00\ub828 \uc601\ud654 skyline, jarrod, balfour, strause, invasion, independence, cloverfield, angeles, district, los, worlds, aliens, alien, la, budget, scifi, battle, cgi, day, effects, war, special, ending, bad, better, why, they, characters, their, people
\uc0b4\uc778\uc790\uac00 \ucd9c\uc5f0\ud558\ub294 \uacf5\ud3ec \uc601\ud654 gayheart, loretta, candyman, legends, urban, witt, campus, tara, reid, legend, alicia, englund, leto, rebecca, jared, scream, murders, slasher, helen, killer, student, college, students, teen, summer, cut, horror, final, sequel, scary
\uc601\ud654 \u201c\ub9e4\ud2b8\ub9ad\uc2a4\" neo, morpheus, neos, oracle, trinity, zion, architect, hacker, reloaded, revolutions, wachowski, fishburne, machines, agents, matrix, keanu, smith, reeves, agent, jesus, machine, computer, humans, fighting, fight, world, cool, real, special, effects
\n\n\uc608\uc0c1\ud558\ub294 \uac83\ubcf4\ub2e4 \ud070 k \ub97c \uc124\uc815\ud558\uba74 \uba87 \uac1c\uc758 \uad70\uc9d1\ub4e4\uc740 \ube44\uc2b7\ud55c centroid vectors \ub97c \uc9c0\ub2d9\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uad70\uc9d1\uc774 \uc874\uc7ac\ud558\ub294\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574\uc11c\ub294 pairwise distance matrix \ub97c \uc0b4\ud3b4\ubd10\uc57c \ud569\ub2c8\ub2e4.\n\n```python\nfrom soyclustering import visualize_pairwise_distance\n\n# visualize pairwise distance matrix\nfig = visualize_pairwise_distance(centers, max_dist=.7, sort=True)\n```\n\n\uadf8\ub9ac\uace0 \ube44\uc2b7\ud55c \uad70\uc9d1\ub4e4\uc774 \uc788\ub2e4\uba74 \uc774\ub97c \ud558\ub098\uc758 \uad70\uc9d1\uc73c\ub85c \ubb36\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n```python\nfrom soyclustering import merge_close_clusters\n\ngroup_centers, groups = merge_close_clusters(centers, labels, max_dist=.5)\nfig = visualize_pairwise_distance(group_centers, max_dist=.7, sort=True)\n```\n\n\uadf8 \ub4a4 \ub2e4\uc2dc groups \ub41c centroid vectors \ub97c \uc0b4\ud3b4\ubcf4\uba74 \uc544\ub798\uc758 \uadf8\ub9bc\uacfc \uac19\uc2b5\ub2c8\ub2e4. diagonal elements \ub9cc \uc9c4\ud55c \uc0c9\uc774 \ub748\ub2e4\uba74 \uac01\uac01\uc758 \uad70\uc9d1\uc774 \uc11c\ub85c \uc0c1\uc774\ud558\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4.\n\n![](https://github.com/lovit/clustering4docs/blob/master/assets/merge_similar_clusters.png)\n\nmerge_close_clusters \ud568\uc218\ub294 centroids \uac00 \uc8fc\uc5b4\uc9c0\uba74 Cosine distance \uac00 \ucd5c\ub300 max_dist \ub97c \ub118\uc9c0 \uc54a\ub294 \uad70\uc9d1\ub4e4\uc744 \ud558\ub098\uc758 \uadf8\ub8f9\uc73c\ub85c \ubb36\uc2b5\ub2c8\ub2e4. group centroid vectors \ub294 \uc6d0 \uad70\uc9d1\uc758 \ud06c\uae30 (labels) \uc5d0 \ube44\ub840\ud55c weighted average of centroids \ub85c \uacc4\uc0b0\ub429\ub2c8\ub2e4.\n\ngroups \ub294 \uac01 \uad70\uc9d1\uc774 \uc5b4\ub5a4 \uadf8\ub8f9\uc73c\ub85c \ubb36\uc600\ub294\uc9c0 nested list \ub85c \ud45c\ud604\ub429\ub2c8\ub2e4.\n\n```python\nfor group in groups:\n print(group)\n```\n\n```\n[0, 19, 57, 68, 88, 115, 202, 223, 229, 237]\n[1]\n[2]\n[3, 4, 5, 8, 12, 14, 16, 18, 20, 22, 26, 28, ...]\n[6, 25, 29, 32, 37, 43, 45, 48, 53, 56, 65, ...]\n[7, 17, 34, 41, 52, 59, 76, 79, 84, 87, 93, ...]\n[9, 15, 24, 47, 51, 97]\n[10, 100, 139]\n[11, 23, 251]\n...\n```\n\n## See more\n\npyLDAvis \ub97c \uc774\uc6a9\ud558\uba74 \uad70\uc9d1\ud654 \uacb0\uacfc\ub97c \uc2dc\uac01\uc801\uc73c\ub85c \ud574\uc11d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 \uad00\ub828\ud55c \ucf54\ub4dc\ub294 \ub2e4\uc74c\uc758 github \uc5d0\uc11c \uc81c\uacf5\ud569\ub2c8\ub2e4. [kmeans_to_pyLDAvis](https://github.com/lovit/kmeans_to_pyLDAvis)\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/lovit/clustering4docs", "keywords": "document clustering,clustering labeling", "license": "", "maintainer": "", "maintainer_email": "", "name": "soyclustering", "package_url": "https://pypi.org/project/soyclustering/", "platform": "", "project_url": "https://pypi.org/project/soyclustering/", "project_urls": { "Homepage": "https://github.com/lovit/clustering4docs" }, "release_url": "https://pypi.org/project/soyclustering/0.1.0/", "requires_dist": [ "numpy (>=1.1)" ], "requires_python": "", "summary": "Python library for document clustering", "version": "0.1.0" }, "last_serial": 5704725, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b440c5d9132c68f74f4e60a6af4bc3d3", "sha256": "3dda02c79401a4c33c675b11746ee31c4e9df5170bc30bdf719b62269a82245e" }, "downloads": -1, "filename": "soyclustering-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b440c5d9132c68f74f4e60a6af4bc3d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9765, "upload_time": "2018-05-25T07:23:36", "url": "https://files.pythonhosted.org/packages/f1/77/4ff0e8329f12e33b5f33b28b2f03cecd55e3f3d606caeb8a53f211b665c0/soyclustering-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13644de38b55f2c345702d257037536d", "sha256": "73daf4346f3a0bc90ee41e7784b22a07f5efcb06c81db86b95749086401d65f2" }, "downloads": -1, "filename": "soyclustering-0.0.1.tar.gz", "has_sig": false, "md5_digest": "13644de38b55f2c345702d257037536d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7917, "upload_time": "2018-05-25T07:23:37", "url": "https://files.pythonhosted.org/packages/c4/f1/ca3f2805e272f8c74bdb59322df6dacfe629c9814ec4779d089811737c8a/soyclustering-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a24e562202cacc434ba2f89e02576b90", "sha256": "a60a19abfa8df10a59d7b8ab2b3bcad66f97ba05a8b9dc54f599047d2b03f600" }, "downloads": -1, "filename": "soyclustering-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a24e562202cacc434ba2f89e02576b90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9792, "upload_time": "2018-05-25T07:25:41", "url": "https://files.pythonhosted.org/packages/2b/63/f1d94dc0644538f89402e3ac2f931cc669b4cc651924de09775ed368931c/soyclustering-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20fe891264349f29e13641b76d1f3c41", "sha256": "f4bab693c38c0d19e322b66452488f41cb1e1eb14e70448fb49eea11f783cde6" }, "downloads": -1, "filename": "soyclustering-0.0.2.tar.gz", "has_sig": false, "md5_digest": "20fe891264349f29e13641b76d1f3c41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7933, "upload_time": "2018-05-25T07:25:42", "url": "https://files.pythonhosted.org/packages/0e/72/d864d575d8e91de8e2b8d200b4c69f18c0c0ab03c825b2dcb1c1b28dc782/soyclustering-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "86c53fe5058e0050ff4c355c721c8f9c", "sha256": "f2a359e4c391ee4d3fa31a296f2b12bde6447d45e7447f29add8b10e83ae894b" }, "downloads": -1, "filename": "soyclustering-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "86c53fe5058e0050ff4c355c721c8f9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9694, "upload_time": "2018-05-25T07:28:28", "url": "https://files.pythonhosted.org/packages/9e/19/4e9390eef2ae60018fb6ff8ad0a7ca41359fb5c46c87f17473a05af3be9c/soyclustering-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdf58a06441a4b98e6e38404751ed207", "sha256": "1c3744ed7ecdac2b9f7d8ac760a05ed7eba9d0fafc02319a515a848324a4a101" }, "downloads": -1, "filename": "soyclustering-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cdf58a06441a4b98e6e38404751ed207", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7871, "upload_time": "2018-05-25T07:28:30", "url": "https://files.pythonhosted.org/packages/3a/16/047e316684a6df0fe5efed372481f17d84813371f8b228f62b5529dcf30a/soyclustering-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "f280757f281ee94ae70def7dc29708a4", "sha256": "456e29f33b3ccede17a12563dfe09111252c0d4bbdec28b0e68701ae7d9b43a4" }, "downloads": -1, "filename": "soyclustering-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f280757f281ee94ae70def7dc29708a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9754, "upload_time": "2018-05-25T07:32:07", "url": "https://files.pythonhosted.org/packages/97/c9/47941bf456d96fbc874dca02032d3106c8876734e5be305041b4551950fe/soyclustering-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc2fbf89b1d98ba34d829eddda5b862f", "sha256": "e4c120f66030819721bb48b57ef079c83cc924dcba37ca53262cdb5d2af2c585" }, "downloads": -1, "filename": "soyclustering-0.0.4.tar.gz", "has_sig": false, "md5_digest": "bc2fbf89b1d98ba34d829eddda5b862f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7907, "upload_time": "2018-05-25T07:32:08", "url": "https://files.pythonhosted.org/packages/8b/4f/84587dbe1f1fc2743db8a1ae5bf1eccd8a6a7aeb2da5ad346a1cd523f61f/soyclustering-0.0.4.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "0a5268ce7629e59e660e794539bec43f", "sha256": "276f68dd7858cb893622cf8f232de4085cb7953152196af20d8a160379801c7d" }, "downloads": -1, "filename": "soyclustering-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0a5268ce7629e59e660e794539bec43f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28435, "upload_time": "2019-08-20T17:49:13", "url": "https://files.pythonhosted.org/packages/dc/57/674a06e265fb3a90f060271d5e258a9c671890c01d7e99c7cd639d5d029a/soyclustering-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49bd86fad4c8df188508dc9e0b05d8d7", "sha256": "3e2d1e4672bc97827c3c5948ee16e7626211f43a19221ce4d193d791ba2d2351" }, "downloads": -1, "filename": "soyclustering-0.1.0.tar.gz", "has_sig": false, "md5_digest": "49bd86fad4c8df188508dc9e0b05d8d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17820, "upload_time": "2019-08-20T17:49:14", "url": "https://files.pythonhosted.org/packages/1f/79/a3a2ce7f00c7dabf179056d403337a6a5b96f2cb2d3fefc944e47333372a/soyclustering-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0a5268ce7629e59e660e794539bec43f", "sha256": "276f68dd7858cb893622cf8f232de4085cb7953152196af20d8a160379801c7d" }, "downloads": -1, "filename": "soyclustering-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0a5268ce7629e59e660e794539bec43f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28435, "upload_time": "2019-08-20T17:49:13", "url": "https://files.pythonhosted.org/packages/dc/57/674a06e265fb3a90f060271d5e258a9c671890c01d7e99c7cd639d5d029a/soyclustering-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49bd86fad4c8df188508dc9e0b05d8d7", "sha256": "3e2d1e4672bc97827c3c5948ee16e7626211f43a19221ce4d193d791ba2d2351" }, "downloads": -1, "filename": "soyclustering-0.1.0.tar.gz", "has_sig": false, "md5_digest": "49bd86fad4c8df188508dc9e0b05d8d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17820, "upload_time": "2019-08-20T17:49:14", "url": "https://files.pythonhosted.org/packages/1f/79/a3a2ce7f00c7dabf179056d403337a6a5b96f2cb2d3fefc944e47333372a/soyclustering-0.1.0.tar.gz" } ] }