{ "info": { "author": "Maria Grigorieva", "author_email": "magsend@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# ClusterLog: Unsupervised Clusterization of Error Messages\n\n**Requirements:**\n```\nPython >= 3.6 < 3.8\n```\nThis package doesn't work currently with python 2.7 because of `kneed` library, and with python 3.8 because of `gensim`.\n\n```\neditdistance==0.5.3\ngensim==3.4.0\nkneed==0.4.1\nnltk==3.4.5\nnumpy==1.16.4\npandas==0.25.1\npyonmttok==1.10.1\nscikit-learn==0.21.2\n```\n\n**Input:**\n Pandas DataFrame with error log messages. DataFrame may have arbitrary columns and column names, but\n it must contain index column with IDs and column with text log messages. The name of log column is not\n fixed, but it must be specified explicitly in settings as 'target'.\n Possible structure of DataFrame is the following (in this example, `tagret='log_message'`):\n ```\n ID | log_message | timestamp\n -----------------------------------------------------------------------------------------------------\n 1 | No events to process: 16000 (skipEvents) >= 2343 (inputEvents of HITS | 2019-10-01T10:18:49\n 2 | AODtoDAOD got a SIGKILL signal (exit code 137) | 2019-10-01T09:01:57\n ...\n ```\nRequired input:\n- `df`\n- `target`\n\nOptional input:\n\n- clusterization_settings\n - `tokenizer` (default: 'nltk')\n - `w2v_size` (default: 'auto')\n - `w2v_window` (default: 7)\n - `min_samples` (default: 1)\n- `model_name` (path to a file with word2vec model)\n- `mode` ('create'(default) | 'update' | 'load')\n\n**Modes:**\n1) `create`\n - Create word2vec model based on large sample of error logs\n - Save it to file \u2018word2vec.model\u2019 on server for further usage\n2) `load`\n - Load word2vec model from file (without re-training the model)\n3) `update`\n - Load word2vec model from file and train (update) this model with new error logs\n - Save updated model in file\n\n\n**Clusterization of error log messages is implemented as a chain of methods:**\n\n1) `data_preparation` - cleaning initial log messages from unnecessary substrings (UUID, line numbers,...)\n2) `tokenization` - split each log message into tokens (`NLTK|pyonmttok`)\n3) `tokens_vectorization` - train word2vec model\n4) `sentence_vectorization` - convert word2vec to sent2vec model\n5) `kneighbors` - calculate k-neighbors\n6) `epsilon_search` - search epsilon for the DBSCAN algorithm\n7) `dbscan` - execute DBSCAN clusterization, returns cluster labels\n\n**Output:**\n\nThe output is available in different views:\n 1) `ALL` - DataFrame grouped by cluster numbers\n 2) `INDEX` - dictionary of lists of indexes for all clusters\n 3) `TARGET` - dictionary of lists of error messages for all clusters\n 4) `cluster labels` - array of cluster labels (as output of `DBSCAN -> fit_predict()`)\n\n\n**Clusters statistics:**\n\nClusters Statistics returns DataFrame or dictionary with statistic for all clusters:\n- `cluster_name` - name of a cluster\n- `cluster_size` - number of log messages in cluster\n- `pattern` - all common substrings in messages in the cluster\n- `vocab` - all tokens in error messasges\n- `vocab_length` - the length of cluster's vocabulary\n- `mean_length` - average length of log messages in cluster\n- `std_length` - standard deviation of length of log messages in cluster\n- `mean_similarity` - average similarity of log messages in cluster\n- `std_similarity` - standard deviation of similarity of log messages in cluster\n\n\n**Installation:**\n\n```\npip install clusterlogs\n```\n\n**Usage:**\n```\nfrom clusterlogs import pipeline, cluster_output\n```\n\nDetailed usage of this library is described at\n[clusterlogs_notebook.ipynb](https://github.com/maria-grigorieva/ClusterLog/blob/master/clusterlogs_notebook.ipynb).\n\n\n**Author:**\nmaria.grigorieva@cern.ch (Maria Grigorieva)\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/maria-grigorieva/ClusterLog.git", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "clusterlogs", "package_url": "https://pypi.org/project/clusterlogs/", "platform": "", "project_url": "https://pypi.org/project/clusterlogs/", "project_urls": { "Homepage": "https://github.com/maria-grigorieva/ClusterLog.git" }, "release_url": "https://pypi.org/project/clusterlogs/1.1.0/", "requires_dist": [ "editdistance", "gensim", "kneed", "nltk", "numpy", "pandas", "pyonmttok", "scikit-learn" ], "requires_python": ">=3.6, != 3.8.*", "summary": "Unsupervized Error Logs Clusterization", "version": "1.1.0", "yanked": false, "yanked_reason": null }, "last_serial": 6244334, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "9c78a4611113df8bf83710e393b2dfb0", "sha256": "42d74b3740f16a49cd17667eb652955472a86a48e22af00249c246bccba12cc0" }, "downloads": -1, "filename": "clusterlogs-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9c78a4611113df8bf83710e393b2dfb0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6978, "upload_time": "2019-11-05T21:22:14", "upload_time_iso_8601": "2019-11-05T21:22:14.645563Z", "url": "https://files.pythonhosted.org/packages/c7/74/03640632a4a182bbde5a3ce20233d033ca1ea15dd63bd066fbaaf06fc840/clusterlogs-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "291757edcd6e334662a38ace127594d9", "sha256": "9049f31224f9b71380fd975eaf6653991ae0bb28ba3e4630fa52cd058c1fdffe" }, "downloads": -1, "filename": "ClusterLogs-1.0.0.tar.gz", "has_sig": false, "md5_digest": "291757edcd6e334662a38ace127594d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5655, "upload_time": "2019-11-05T17:43:16", "upload_time_iso_8601": "2019-11-05T17:43:16.424118Z", "url": "https://files.pythonhosted.org/packages/78/29/d49e1ed657b6860dc725d956b07cb98a2a06f401050a7cacc979910ca43e/ClusterLogs-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "27066321d59e04abed9923bb12d83c69", "sha256": "334efc7352484c62ec8ca8b4bf3d44505d45bb2df7ae4bff7fd6fbe5bbf398d8" }, "downloads": -1, "filename": "clusterlogs-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "27066321d59e04abed9923bb12d83c69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6976, "upload_time": "2019-11-05T21:23:19", "upload_time_iso_8601": "2019-11-05T21:23:19.629332Z", "url": "https://files.pythonhosted.org/packages/5c/46/a980437f7781742c1c4e14c86f8e8ab20429c66a9fe0f38ce12e9a2e2f04/clusterlogs-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9ab4da64bf7419476cc21ee558395e96", "sha256": "2c075cace984453bf1d3a406c141e52a8156e0089f868dc96c3d7a7a869fecc6" }, "downloads": -1, "filename": "clusterlogs-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9ab4da64bf7419476cc21ee558395e96", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6039, "upload_time": "2019-11-05T21:23:21", "upload_time_iso_8601": "2019-11-05T21:23:21.252795Z", "url": "https://files.pythonhosted.org/packages/ca/55/8eb2634f0140b36d2a30396c92463585625cc11fb1e6eb70c924f9ff3274/clusterlogs-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7fd5f9abf36e5d1067e4758dc2b13cc6", "sha256": "3664f096b79d9742b4e6084aeef49c8ab2d54a9430cc4ea53ee686622490784f" }, "downloads": -1, "filename": "clusterlogs-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7fd5f9abf36e5d1067e4758dc2b13cc6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7095, "upload_time": "2019-11-06T09:22:33", "upload_time_iso_8601": "2019-11-06T09:22:33.057254Z", "url": "https://files.pythonhosted.org/packages/24/53/6b6a623b07575ed266c6208d30534442501f11a7a44322b72be260489542/clusterlogs-1.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5a064b01ee7e5a3986bec58f00dd233d", "sha256": "0185b0811dfd4338cfe351f0512cef3dc3747f4f77ab94699356abf971088310" }, "downloads": -1, "filename": "clusterlogs-1.0.2.tar.gz", "has_sig": false, "md5_digest": "5a064b01ee7e5a3986bec58f00dd233d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6245, "upload_time": "2019-11-06T09:22:34", "upload_time_iso_8601": "2019-11-06T09:22:34.564804Z", "url": "https://files.pythonhosted.org/packages/6d/20/be7d3e91ff2231bd6dc08872bbe14c46a2574642d7ba375d09c140bc2464/clusterlogs-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0042d74f1e0658c16432d7be0570800b", "sha256": "948012120266d8aecf033e66e40dc2b4f473a93453694d1fcbeb15f6249b9670" }, "downloads": -1, "filename": "clusterlogs-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0042d74f1e0658c16432d7be0570800b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7133, "upload_time": "2019-11-06T09:37:50", "upload_time_iso_8601": "2019-11-06T09:37:50.842707Z", "url": "https://files.pythonhosted.org/packages/86/23/e5eb59be383d518161ec73c5cc065275517c4adc9743588ec8d1e5eb060e/clusterlogs-1.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f71131095711037b8a7303d469532c67", "sha256": "ebe3b633051ecc4d8a7c611fdbc83bcba5d86b357ff2b3031892bb74e91f0ef2" }, "downloads": -1, "filename": "clusterlogs-1.0.3.tar.gz", "has_sig": false, "md5_digest": "f71131095711037b8a7303d469532c67", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6333, "upload_time": "2019-11-06T09:37:52", "upload_time_iso_8601": "2019-11-06T09:37:52.172161Z", "url": "https://files.pythonhosted.org/packages/88/64/b1483cc1432c07b9d3c53b6304b6d5a9e35605c05492359ab720a98bc8e8/clusterlogs-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "13ade0951fcdcabd6c65f53de1098835", "sha256": "fb8cf358fa0ee7f5600dc7feaf02aae226784c9fe931dda84eea039f8f91308a" }, "downloads": -1, "filename": "clusterlogs-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "13ade0951fcdcabd6c65f53de1098835", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 7205, "upload_time": "2019-11-06T10:26:04", "upload_time_iso_8601": "2019-11-06T10:26:04.830175Z", "url": "https://files.pythonhosted.org/packages/a3/31/51b70b375b1a2c515fe6e7fddf4897b08196995b30226461f977cbf7853c/clusterlogs-1.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3dc199bdec88cd40a1d99fab34323e8c", "sha256": "df1f88b2378a46b02a7ce7ad801e487dd5792424d98da106ac7e072308525a87" }, "downloads": -1, "filename": "clusterlogs-1.0.4.tar.gz", "has_sig": false, "md5_digest": "3dc199bdec88cd40a1d99fab34323e8c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 6412, "upload_time": "2019-11-06T10:26:07", "upload_time_iso_8601": "2019-11-06T10:26:07.362778Z", "url": "https://files.pythonhosted.org/packages/87/57/eff22785abb1ecbde588487cd5999cc3cbe2f3852543227cbecf11ea0318/clusterlogs-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "370f94c3021200f0e1840dbbe1c93e6e", "sha256": "57ff927c621e29c3b31e9ba855796b3cd5711f3bf8a5adc08d068d5b71b9f926" }, "downloads": -1, "filename": "clusterlogs-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "370f94c3021200f0e1840dbbe1c93e6e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 6483, "upload_time": "2019-11-07T21:43:36", "upload_time_iso_8601": "2019-11-07T21:43:36.826418Z", "url": "https://files.pythonhosted.org/packages/7b/c7/0fb744d5c3d3bc1c5d3cf9ee35f569448d2bc9325b07310e3cf01dc7f334/clusterlogs-1.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "19900bf39ef6968315ca4247ca033034", "sha256": "708f2148c01c7704f173836b25bc1ecc8a0393c16a009da4846d52e7d822e136" }, "downloads": -1, "filename": "clusterlogs-1.0.5.tar.gz", "has_sig": false, "md5_digest": "19900bf39ef6968315ca4247ca033034", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 5658, "upload_time": "2019-11-07T21:43:40", "upload_time_iso_8601": "2019-11-07T21:43:40.037371Z", "url": "https://files.pythonhosted.org/packages/97/02/cae35d7fe980098d627a8fda63620c950f59e7560c407317661cd490ddc1/clusterlogs-1.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "b1fa93a8404e4883a6c35dfa75d5ae8f", "sha256": "66e8e83652cf10d56ea5bc5a506a90ab42d39772fb9abbf25d8340efc3fc3225" }, "downloads": -1, "filename": "clusterlogs-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b1fa93a8404e4883a6c35dfa75d5ae8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 6479, "upload_time": "2019-11-07T21:58:17", "upload_time_iso_8601": "2019-11-07T21:58:17.083508Z", "url": "https://files.pythonhosted.org/packages/80/4a/7a2792f4a7df61c40c0c6c2984144785c7a652a04fdd4a4542e36e61793a/clusterlogs-1.0.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9e4bd717c7e32345242b5487db21551b", "sha256": "6d4e11590c8d5c4f582e7028dfe5a7a3b37815f85c601d72d356e69bc4b57a48" }, "downloads": -1, "filename": "clusterlogs-1.0.6.tar.gz", "has_sig": false, "md5_digest": "9e4bd717c7e32345242b5487db21551b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 5658, "upload_time": "2019-11-07T21:58:21", "upload_time_iso_8601": "2019-11-07T21:58:21.724513Z", "url": "https://files.pythonhosted.org/packages/a0/1d/7e798bce0b153dc32731dacf8cd9106397a5d27766750c937449d680d17b/clusterlogs-1.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "53dcbc8c113d81135c1ae70b25ff30fd", "sha256": "459c401045b52def0359634a738fce98b10d065d2b1faaf1afe182a9e33a16bf" }, "downloads": -1, "filename": "clusterlogs-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "53dcbc8c113d81135c1ae70b25ff30fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 8484, "upload_time": "2019-11-30T10:04:05", "upload_time_iso_8601": "2019-11-30T10:04:05.710781Z", "url": "https://files.pythonhosted.org/packages/81/e0/79fa955b97286b741da03966d39f6591146a9319fc44aa73ef588d188f64/clusterlogs-1.0.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c055909aff4e909ae0a1289983f6b2b2", "sha256": "72e07f3dd728a5cc265828c92381cd5bdfed489e5988bc8aca36cb9bd3a645ee" }, "downloads": -1, "filename": "clusterlogs-1.0.7.tar.gz", "has_sig": false, "md5_digest": "c055909aff4e909ae0a1289983f6b2b2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 6972, "upload_time": "2019-11-30T10:04:10", "upload_time_iso_8601": "2019-11-30T10:04:10.515165Z", "url": "https://files.pythonhosted.org/packages/df/7a/cc44d55398c5271c868d691381eacd133ecf05f0a83708c4a94639bc8208/clusterlogs-1.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "145ffdddc9c5924f617817871c436580", "sha256": "4db64c6fc6fcf1ba12dbbc06d88df447a945a01393f889f0f43de32bf5b7b74d" }, "downloads": -1, "filename": "clusterlogs-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "145ffdddc9c5924f617817871c436580", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 8736, "upload_time": "2019-11-30T10:39:23", "upload_time_iso_8601": "2019-11-30T10:39:23.294063Z", "url": "https://files.pythonhosted.org/packages/ee/de/01073dae0aff671b2cda62d5946152bc3cfefc0fa66fd10900703520c34b/clusterlogs-1.0.8-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4298dde1fc8825346a9f548e2435d276", "sha256": "22d3575df2c62b5941fb39ac27bd5a6539cbb66fad3d0f31594d464271671b08" }, "downloads": -1, "filename": "clusterlogs-1.0.8.tar.gz", "has_sig": false, "md5_digest": "4298dde1fc8825346a9f548e2435d276", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 7259, "upload_time": "2019-11-30T10:39:28", "upload_time_iso_8601": "2019-11-30T10:39:28.004689Z", "url": "https://files.pythonhosted.org/packages/e6/36/3ddbfc8beb3c01321bc56cd5db8890c2f22f33b3b78e8640fa0d0f32cca3/clusterlogs-1.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "cf8095f26e11b913864fbd2b8815e2eb", "sha256": "7fe0a077c90b1b9fefdab118323dc2681283103f936add7f9e97f37a3e6280f6" }, "downloads": -1, "filename": "clusterlogs-1.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "cf8095f26e11b913864fbd2b8815e2eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 9113, "upload_time": "2019-12-04T13:56:04", "upload_time_iso_8601": "2019-12-04T13:56:04.149637Z", "url": "https://files.pythonhosted.org/packages/9b/dd/98fd9cfdde7e971bf230d2644649b52f9310f176ff72124fc5bb8e9f7eb6/clusterlogs-1.0.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cf5b6eca61ae940870143dee449744de", "sha256": "8b9a5ffecf217763bdd72d5d9d73a3a62ada38b785c443090a9a92ad9027de52" }, "downloads": -1, "filename": "clusterlogs-1.0.9.tar.gz", "has_sig": false, "md5_digest": "cf5b6eca61ae940870143dee449744de", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 7627, "upload_time": "2019-12-04T13:56:09", "upload_time_iso_8601": "2019-12-04T13:56:09.881790Z", "url": "https://files.pythonhosted.org/packages/d1/85/3e75e2acc3cd3d31249dc95e18d97274f36e915ffe06c2c543e508de219f/clusterlogs-1.0.9.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "a2a87acf3cf86bcee4d7b445a0bb6910", "sha256": "000246e42d9eb0e3c15f65a3ed7fcdd9aae7fe195646ce99fb37690ef54df7fe" }, "downloads": -1, "filename": "clusterlogs-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a2a87acf3cf86bcee4d7b445a0bb6910", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 10034, "upload_time": "2019-12-04T23:32:17", "upload_time_iso_8601": "2019-12-04T23:32:17.119342Z", "url": "https://files.pythonhosted.org/packages/44/75/a7635fcd69e2925678e63a85734441a6b03f96002bab54e3b99254eba72f/clusterlogs-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2411251c625cdfb0cda85687a4fa0cd0", "sha256": "fd8dd27426c7c7f72c5a00ac2dee67a41b912fbf32973ea8bab9e0170579f127" }, "downloads": -1, "filename": "clusterlogs-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2411251c625cdfb0cda85687a4fa0cd0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 7907, "upload_time": "2019-12-04T23:32:23", "upload_time_iso_8601": "2019-12-04T23:32:23.351130Z", "url": "https://files.pythonhosted.org/packages/7a/23/6f7413b21767942d1f3251fbe491cbbca6c4b1cca321b8067b80476bcec5/clusterlogs-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a2a87acf3cf86bcee4d7b445a0bb6910", "sha256": "000246e42d9eb0e3c15f65a3ed7fcdd9aae7fe195646ce99fb37690ef54df7fe" }, "downloads": -1, "filename": "clusterlogs-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a2a87acf3cf86bcee4d7b445a0bb6910", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, != 3.8.*", "size": 10034, "upload_time": "2019-12-04T23:32:17", "upload_time_iso_8601": "2019-12-04T23:32:17.119342Z", "url": "https://files.pythonhosted.org/packages/44/75/a7635fcd69e2925678e63a85734441a6b03f96002bab54e3b99254eba72f/clusterlogs-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2411251c625cdfb0cda85687a4fa0cd0", "sha256": "fd8dd27426c7c7f72c5a00ac2dee67a41b912fbf32973ea8bab9e0170579f127" }, "downloads": -1, "filename": "clusterlogs-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2411251c625cdfb0cda85687a4fa0cd0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, != 3.8.*", "size": 7907, "upload_time": "2019-12-04T23:32:23", "upload_time_iso_8601": "2019-12-04T23:32:23.351130Z", "url": "https://files.pythonhosted.org/packages/7a/23/6f7413b21767942d1f3251fbe491cbbca6c4b1cca321b8067b80476bcec5/clusterlogs-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ] }