{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": "# Snorkel MeTaL\n\n\n\n[![Build Status](https://travis-ci.com/HazyResearch/metal.svg?branch=master)](https://travis-ci.com/HazyResearch/metal)\n\n**v0.5.0**\n\n**ANNOUNCEMENT** (3/20): We are excited to have achieved a new state-of-the-art score on the [GLUE Benchmark](https://gluebenchmark.com/leaderboard) and four of its component tasks using Snorkel MeTaL. \nCheck out the corresponding [blog post](https://dawn.cs.stanford.edu/2019/03/22/glue/) for an overview of how we did it.\nThe code we used to accomplish this was part of a significant restructuring of multi-task end models in Snorkel MeTaL to make it as easy as possible to perform Massive Multi-Task Learning (MMTL) with supervision at varying levels of granularity and over an arbitrarily large number of tasks.\nThat [mmtl package](https://github.com/HazyResearch/metal/blob/master/metal/mmtl) has been released as a part of Snorkel MeTaL v0.5, along with a basic [tutorial](https://github.com/HazyResearch/metal/blob/mmtl_staging/tutorials/MMTL_Basics.ipynb). \nAdditional tutorials showing more advanced usage (e.g., using a pre-trained BERT network as a shared input module, using multiple label sets, supervising at the token and sentence level simultaneously, etc.) will be released in future minor version updates, though such functionality is already supported.\n\nStay tuned on other developments in the Snorkel ecosystem at our project landing page: [snorkel.stanford.edu](http://snorkel.stanford.edu).\n\n## Getting Started\n* Quickly [set up](#setup) your environment\n* Try out the [tutorials](tutorials/)\n* View the [developer guide](#developer-guidelines)\n\n## Motivation\nThis project builds on [Snorkel](snorkel.stanford.edu) in an attempt to understand how _massively multi-task supervision and learning_ changes the way people program.\n_Multitask learning (MTL)_ is an established technique that effectively pools samples by sharing representations across related _tasks_, leading to better performance with less training data (for a great primer of recent advances, see [this survey](https://arxiv.org/abs/1706.05098)).\nHowever, most existing multi-task systems rely on two or three fixed, hand-labeled training sets.\nInstead, weak supervision opens the floodgates, allowing users to add arbitrarily many _weakly-supervised_ tasks.\nWe call this setting _massively multitask learning_, and envision models with tens or hundreds of tasks with supervision of widely varying quality.\nOur goal with the Snorkel MeTaL project is to understand this new regime, and the programming model it entails.\n\nMore concretely, Snorkel MeTaL is a framework for using multi-task weak supervision (MTS), provided by users in the form of _labeling functions_ applied over unlabeled data, to train multi-task models.\nSnorkel MeTaL can use the output of labeling functions developed and executed in [Snorkel](snorkel.stanford.edu), or take in arbitrary _label matrices_ representing weak supervision from multiple sources of unknown quality, and then use this to train auto-compiled MTL networks.\n\nSnorkel MeTaL uses a new matrix approximation approach to learn the accuracies of diverse sources with unknown accuracies, arbitrary dependency structures, and structured multi-task outputs.\nThis makes it significantly more scalable than our previous approaches.\n\n## References\n* **Best Reference: [Training Complex Models with Multi-Task Weak Supervision](https://arxiv.org/abs/1810.02840) [AAAI 2019]**\n* [Snorkel MeTaL: Weak Supervision for Multi-Task Learning](https://ajratner.github.io/assets/papers/deem-metal-prototype.pdf) [SIGMOD DEEM 2018]\n* _[Snorkel: Rapid Training Data Creation with Weak Supervision](https://arxiv.org/abs/1711.10160) [VLDB 2018]_\n* _[Data Programming: Creating Large Training Sets, Quickly](https://arxiv.org/abs/1605.07723) [NeurIPS 2016]_\n\n## Blog Posts\n* [3/22/2019] [Massive Multi-Task Learning with Snorkel MeTaL: Bringing More Supervision to Bear](https://dawn.cs.stanford.edu/2019/03/22/glue/)\n* [2/4/2019] [Emerging Topics in Multi-Task Learning Systems](https://hazyresearch.github.io/snorkel/blog/mtl_systems.html)\n\n## Q&A\nIf you are looking for help regarding how to use a particular class or method, the best references are (in order):\n\n* The docstrings for that class\n* The [MeTaL Commandments](https://github.com/HazyResearch/metal/blob/master/docs/metal_commandments.md)\n* The corresponding unit tests in `tests/`\n* The Issues page (We tag issues that might be particularly helpful with the \"[reference question](https://github.com/HazyResearch/metal/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22reference+question%22)\" label)\n\n## Sample Usage\nThis sample is for a single-task problem. \nFor a multi-task example, see tutorials/Multitask.ipynb.\n\n```\n\"\"\"\nn = # data points\nm = # labeling functions\nk = cardinality of the classification task\n\nLoad for each split: \nL: an [n,m] scipy.sparse label matrix of noisy labels\nY: an n-dim numpy.ndarray of target labels\nX: an n-dim iterable (e.g., a list) of end model inputs\n\"\"\"\n\nfrom metal.label_model import LabelModel, EndModel\n\n# Train a label model and generate training labels\nlabel_model = LabelModel(k)\nlabel_model.train_model(L_train)\nY_train_probs = label_model.predict_proba(L_train)\n\n# Train a discriminative end model with the generated labels\nend_model = EndModel([1000,10,2])\nend_model.train_model(train_data=(X_train, Y_train_probs), valid_data=(X_dev, Y_dev))\n\n# Evaluate performance\nscore = end_model.score(data=(X_test, Y_test), metric=\"accuracy\")\n```\n\n**_Note for Snorkel users: Snorkel MeTaL, even in the single-task case, learns a slightly different label model than Snorkel does (e.g. here we learn class-conditional accuracies for each LF, etc.)---so expect slightly different (hopefully better!) results._**\n\n## Release Notes\n### Major changes in v0.5:\n* Introduction of Massive Multi-Task Learning (MMTL) package in `metal/mmtl/` with [tutorial](https://github.com/HazyResearch/metal/blob/mmtl_staging/tutorials/MMTL_Basics.ipynb).\n* Additional logging improvements from v0.4\n\n### Major changes in v0.4:\n* Upgrade to pytorch v1.0\n* Improved control over logging/checkpointing/validation\n * More modular code, separate Logger, Checkpointer, LogWriter classes\n * Support for user-defined metrics for validation/checkpointing\n * Logging frequency can now be based on seconds, examples, batches, or epochs\n* Naming convention change: hard (int) labels -> preds, soft (float) labels -> probs\n\n\n## Setup\n[1] Install anaconda: \nInstructions here: https://www.anaconda.com/download/\n\n[2] Clone the repository:\n```\ngit clone https://github.com/HazyResearch/metal.git\ncd metal\n```\n\n[3] Create virtual environment:\n```\nconda env create -f environment.yml\nsource activate metal\n```\n\n[4] Run unit tests:\n```\nnosetests\n```\nIf the tests run successfully, you should see 50+ dots followed by \"OK\". \nCheck out the [tutorials](tutorials/) to get familiar with the Snorkel MeTaL codebase!\n\nOr, to use Snorkel Metal in another project, install it with pip:\n```\npip install snorkel-metal\n```\n\n## Developer Guidelines\nFirst, read the [MeTaL Commandments](https://github.com/HazyResearch/metal/blob/master/docs/metal_commandments.md), which describe the major design principles, terminology, and style guidelines for Snorkel MeTaL.\n\nIf you are interested in contributing to Snorkel MeTaL (and we welcome whole-heartedly contributions via pull requests!), follow the [setup](#setup) guidelines above, then run the following additional command:\n```\nmake dev\n```\nThis will install a few additional tools that help to ensure that any commits or pull requests you submit conform with our established standards. We use the following packages:\n* [isort](https://github.com/timothycrosley/isort): import standardization\n* [black](https://github.com/ambv/black): automatic code formatting\n* [flake8](http://flake8.pycqa.org/en/latest/): PEP8 linting\n\nAfter running `make dev` to install the necessary tools, you can run `make check` to see if any changes you've made violate the repo standards and `make fix` to fix any related to isort/black. Fixes for flake8 violations will need to be made manually.\n\n### GPU Usage\nMeTaL supports GPU usage, but does not include this in automatically-run tests; to run these tests, first install the requirements in `tests/gpu/requirements.txt`, then run:\n```\nnosetests tests/gpu\n```\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/HazyResearch/metal", "keywords": "machine-learning ai information-extraction weak-supervision mtl multitask multi-task-learning", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "snorkel-metal", "package_url": "https://pypi.org/project/snorkel-metal/", "platform": "", "project_url": "https://pypi.org/project/snorkel-metal/", "project_urls": { "Bug Reports": "https://github.com/HazyResearch/metal/issues", "Citation": "https://arxiv.org/abs/1810.02840", "Homepage": "https://hazyresearch.github.io/snorkel/", "Source": "https://github.com/HazyResearch/metal/" }, "release_url": "https://pypi.org/project/snorkel-metal/0.5.0/", "requires_dist": [ "dill", "networkx (>=2.2)", "numpy", "pandas", "torch (>=1.0)", "scipy", "tqdm", "scikit-learn" ], "requires_python": ">=3.6", "summary": "A system for quickly generating training data with multi-task weak supervision", "version": "0.5.0" }, "last_serial": 5211624, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4ed5fc4e17d82cd3ea22ae866afdafb3", "sha256": "11cf7ff600fee1192a194d4d12d2d1d530063ab827fa7ddd9f3f53fd4349dbe9" }, "downloads": -1, "filename": "snorkel_metal-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ed5fc4e17d82cd3ea22ae866afdafb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 70825, "upload_time": "2018-08-19T06:34:16", "url": "https://files.pythonhosted.org/packages/62/a7/781dbf991763bfb56bf9a4ec19e6999a2d206feba4c78ce04bf176c70942/snorkel_metal-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64eccf7f921adce10f243c08af82b6be", "sha256": "a0317439bd7269d9275472a5f4b09b91d907ea4b3be7bc0858e1ec01c55421c4" }, "downloads": -1, "filename": "snorkel-metal-0.1.0.tar.gz", "has_sig": false, "md5_digest": "64eccf7f921adce10f243c08af82b6be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55715, "upload_time": "2018-08-19T06:34:17", "url": "https://files.pythonhosted.org/packages/a2/d5/1511ce740bfbbdd186c668cdf9b32f10882f9edcfa0a9cd7ff45f2382c7d/snorkel-metal-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cb67a5aeb7bda9b07d47671370c54a67", "sha256": "ca78aa8a0f0c55b9ffff2cf3181d8f18597fd648bb745c273a368ae97269fcff" }, "downloads": -1, "filename": "snorkel_metal-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cb67a5aeb7bda9b07d47671370c54a67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 71259, "upload_time": "2018-08-25T23:18:37", "url": "https://files.pythonhosted.org/packages/32/69/f919f2a9516fb30dd0bc6dac0d7bb2b5db0397a17da379f785b821febcd9/snorkel_metal-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca68ad473abbbbec374afc6ee1d4b636", "sha256": "c85baec457583bad0990eff48756b7179697563684d0045471dd36794180fc4d" }, "downloads": -1, "filename": "snorkel-metal-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ca68ad473abbbbec374afc6ee1d4b636", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 56489, "upload_time": "2018-08-25T23:18:39", "url": "https://files.pythonhosted.org/packages/55/ca/1bf3ea0e462e1baa7e14334524ba56ddc7b8f16b0724dab3b8f996f955b0/snorkel-metal-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5aecccfd531a97fac1376950b3b932c1", "sha256": "6f25b5ed4fddcc9f75e0fc35d0cfb1986bbba199eb92393829fd2dd9a4c22894" }, "downloads": -1, "filename": "snorkel_metal-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5aecccfd531a97fac1376950b3b932c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 74642, "upload_time": "2018-08-26T02:11:41", "url": "https://files.pythonhosted.org/packages/e9/e3/cd4471cdb528d0be2394c0a43892459f51c1abee19cf0094f6b339c5f5be/snorkel_metal-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92d6370a72980a6b7e82c74e52c9c1ad", "sha256": "be6501f31497cc9870d5c267cc37e5c2fba356ad3cb7c074e300bfe260607dfc" }, "downloads": -1, "filename": "snorkel-metal-0.1.2.tar.gz", "has_sig": false, "md5_digest": "92d6370a72980a6b7e82c74e52c9c1ad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 58416, "upload_time": "2018-08-26T02:11:43", "url": "https://files.pythonhosted.org/packages/e4/e2/305e68e2034030dd0933e3cdcac26126928ab7075d980e4627b33b2d13bc/snorkel-metal-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "fbf3b6c8ad60453818cac79f2a98f317", "sha256": "5df79d0c882e5aa0a7ab58124cb1c3fbb8d3b2e60fb693507d2992d7d55bd508" }, "downloads": -1, "filename": "snorkel_metal-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fbf3b6c8ad60453818cac79f2a98f317", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 78134, "upload_time": "2018-08-26T02:39:23", "url": "https://files.pythonhosted.org/packages/41/2b/6adcdf0c42af2fc93bb0ff22fd7ede42333fb9a84a30b2db78648f2143d7/snorkel_metal-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20b22a1ebf515586b6a96366632ffadb", "sha256": "30717a6306817cf67d1ba3b44ce7a54ebf94b938c9b50cd0af022782fdb0c0b4" }, "downloads": -1, "filename": "snorkel-metal-0.1.3.tar.gz", "has_sig": false, "md5_digest": "20b22a1ebf515586b6a96366632ffadb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 60875, "upload_time": "2018-08-26T02:39:30", "url": "https://files.pythonhosted.org/packages/fb/56/2a11e18a35929046156bb19f5f7818ea59e13a7466ec797643096e42853f/snorkel-metal-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "35da12ab0a9947836c230f2c2f818e98", "sha256": "c393dd57bc7523c3daaf48d998410014f6dbc69a79891c6662112529ef567bce" }, "downloads": -1, "filename": "snorkel_metal-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "35da12ab0a9947836c230f2c2f818e98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 77842, "upload_time": "2018-08-26T04:12:42", "url": "https://files.pythonhosted.org/packages/0d/4c/d46599865fc8a8878ec72a9d27bd199bfe3641c917b99b6c730aa54fb134/snorkel_metal-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8630bb86ec75ce782dd5ed2a3c212aee", "sha256": "6befbca2552141a85760c899b17076c6ccca259cf78bf1772056af1abc3bcf1e" }, "downloads": -1, "filename": "snorkel-metal-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8630bb86ec75ce782dd5ed2a3c212aee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 60745, "upload_time": "2018-08-26T04:12:45", "url": "https://files.pythonhosted.org/packages/ca/98/d3393a49cf929555857c1628503ee4a36c1d29d1111019f6ca04173efb5e/snorkel-metal-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "6ff60fa30560c67506a29a778063d64d", "sha256": "bbb3f40bea821fa15c918889f30792cbec1880ca3b482fe6c500b95496a6e1f7" }, "downloads": -1, "filename": "snorkel_metal-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "6ff60fa30560c67506a29a778063d64d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 77842, "upload_time": "2018-08-26T06:12:33", "url": "https://files.pythonhosted.org/packages/20/d8/6a4b2a454affa459bcf67096088ee18a3b640a6719e2495a5b05fcbbdfe3/snorkel_metal-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8093a7475158823fb5d7a0422f3395d", "sha256": "bb6bb22f2d1923130bc4111bde1ce7f2ec0d33b449b0194e825e8983b892e139" }, "downloads": -1, "filename": "snorkel-metal-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d8093a7475158823fb5d7a0422f3395d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 60767, "upload_time": "2018-08-26T06:12:38", "url": "https://files.pythonhosted.org/packages/6c/db/914fda1cc3ba9f454399ce07114e51c8204c807cc43c409eba53413b7725/snorkel-metal-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a32d27afd8205222badbde095be9a08e", "sha256": "7966c8c678c88e9a9ee39591281714e15b979dbdaf590f14298ea9fa1d6274ae" }, "downloads": -1, "filename": "snorkel_metal-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "a32d27afd8205222badbde095be9a08e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 78915, "upload_time": "2018-09-08T17:07:20", "url": "https://files.pythonhosted.org/packages/47/12/7dfb9ad724ae7812e5a95f440bdae102170fc4d13fe185b7fda93ae0ad05/snorkel_metal-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5deb41a1a9a0ba4409b4e263018df22f", "sha256": "50e84029f7dc36a8499c32417222d3d1bed06645f3385c4e5c6d32b62c6ed0ef" }, "downloads": -1, "filename": "snorkel-metal-0.1.6.tar.gz", "has_sig": false, "md5_digest": "5deb41a1a9a0ba4409b4e263018df22f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 59791, "upload_time": "2018-09-08T17:07:21", "url": "https://files.pythonhosted.org/packages/0a/26/ce8c71ea52d7f734ebc992ede259a3955dccd9882017c6b06d2ef97df5b4/snorkel-metal-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "81e632b4334ac52cda476e828ab05d29", "sha256": "cb8afa326bdc05f49a8c11f66941e3c71a9b63509fbfcaf9a2248bf3df6f1a50" }, "downloads": -1, "filename": "snorkel_metal-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "81e632b4334ac52cda476e828ab05d29", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 78915, "upload_time": "2018-09-08T21:22:14", "url": "https://files.pythonhosted.org/packages/ed/24/c5e832539d2bf39e5062c8db828541ac4f861b9cf46121998f9789fe6fac/snorkel_metal-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd879c030f0dc0f30277e80406f1296a", "sha256": "c8d3bbb002ff714a05ca3c811e269db19253bf4556782a8e321f03e6c8a9f881" }, "downloads": -1, "filename": "snorkel-metal-0.1.7.tar.gz", "has_sig": false, "md5_digest": "dd879c030f0dc0f30277e80406f1296a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61790, "upload_time": "2018-09-08T21:22:16", "url": "https://files.pythonhosted.org/packages/df/c7/7df10ca54c6f391e4a3afe930e4ec6b0eab37bd86b3cd18b99f60046702e/snorkel-metal-0.1.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6d41a536d6dd35c712e7f9b8988e9db6", "sha256": "cb2e6f65ed5d3f8d55dd2270914ed2ff188eecd1e2fdf45a4aea25db18f3b1c0" }, "downloads": -1, "filename": "snorkel_metal-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6d41a536d6dd35c712e7f9b8988e9db6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 80779, "upload_time": "2018-10-12T20:46:20", "url": "https://files.pythonhosted.org/packages/fa/e7/a95c627fbc1213c8a914293ec6eb9e516a779cd5c955868ded5ea31fb57b/snorkel_metal-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5504aacada28085c3c21ccdafba4f48d", "sha256": "df6d48863ec324049d101ea30f982c2d321b458ed7e5a6e5cf83fea256202d83" }, "downloads": -1, "filename": "snorkel-metal-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5504aacada28085c3c21ccdafba4f48d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61575, "upload_time": "2018-10-12T20:46:22", "url": "https://files.pythonhosted.org/packages/74/a3/b3ef8e232809e310b4bb1a4644c5d2f4b59c691fbb3409f7c6fb43591448/snorkel-metal-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1e97a09a6880fbbe03dc5fe843c474cb", "sha256": "66ef514da1005e13cd895e9378471e7f35b9636715a8c79beee8c253e82f854c" }, "downloads": -1, "filename": "snorkel_metal-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1e97a09a6880fbbe03dc5fe843c474cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 80434, "upload_time": "2018-10-12T22:28:00", "url": "https://files.pythonhosted.org/packages/c7/da/2f1853dc96755556410408f44a66810e7dd6a85cb9aaec87729f3c1e02c2/snorkel_metal-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a16ec33a8490630ebbe137dcdf41a7c", "sha256": "fcc5b89ebb2ccb55eec9839eed1ebfa292482d1cf3788525925a234524c90357" }, "downloads": -1, "filename": "snorkel-metal-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0a16ec33a8490630ebbe137dcdf41a7c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 63508, "upload_time": "2018-10-12T22:28:02", "url": "https://files.pythonhosted.org/packages/55/b9/876f2ca51b508ca5957c39f6ad4240516d77617965e939c465de16bc4d28/snorkel-metal-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "5ddc9a8465a021bd3d8d20c7015141eb", "sha256": "e03198fafa86ce7e35c35441a3d969f293370bfb143539bb114be10af7d74dc9" }, "downloads": -1, "filename": "snorkel_metal-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5ddc9a8465a021bd3d8d20c7015141eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 80440, "upload_time": "2018-10-12T22:36:53", "url": "https://files.pythonhosted.org/packages/b1/2a/1e71409a6e9815cc005f8775c243df51fe84b99484e91ad08123c25dbd40/snorkel_metal-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c5d31f491c5dd90ddc079701f2ec1d7", "sha256": "ed07db7b1540b3402d275922b0203ae8cdbd334260031963ee15c9af90e01470" }, "downloads": -1, "filename": "snorkel-metal-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2c5d31f491c5dd90ddc079701f2ec1d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 63525, "upload_time": "2018-10-12T22:36:55", "url": "https://files.pythonhosted.org/packages/e1/b0/9f43ff900489f685950c0f2719a1a749b490aade7ef1fe8ab6904efbb7c4/snorkel-metal-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "b493d2b4a427d792e3212714997f0239", "sha256": "b389e77ba5358301ce22b9ba83229c0c7619dc473f4c93a56841c3c8de2fd615" }, "downloads": -1, "filename": "snorkel_metal-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b493d2b4a427d792e3212714997f0239", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 80459, "upload_time": "2018-10-12T23:22:59", "url": "https://files.pythonhosted.org/packages/52/48/fe2a07180f78be0ce6f57366e01da251d45acd2be3cd707816403556805b/snorkel_metal-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2012fe18b1833fd944be2e2b3770ba6", "sha256": "aca582b8db6be0da0bb84b026c42f5c8fa42830cc861828523cf3b263f87438c" }, "downloads": -1, "filename": "snorkel-metal-0.2.3.tar.gz", "has_sig": false, "md5_digest": "f2012fe18b1833fd944be2e2b3770ba6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 63540, "upload_time": "2018-10-12T23:23:01", "url": "https://files.pythonhosted.org/packages/be/33/4cd962d4efd1e2a8e3b8df66d187ed5340f75e04d8920435d575b516b622/snorkel-metal-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "bec1b0c19578673170b3da53b1660132", "sha256": "dc0445f84ef06bed231e45cdb43bb9ce96b2c7acb3c432e2dfc1bf80c4305611" }, "downloads": -1, "filename": "snorkel_metal-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "bec1b0c19578673170b3da53b1660132", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 79500, "upload_time": "2018-10-16T21:04:38", "url": "https://files.pythonhosted.org/packages/b6/d9/a0f006566bf2c2da9c64ce554edde23c6de49cb77bd80932fab8a64d45a0/snorkel_metal-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0fbed050b8f3b79a74098d7f519c719e", "sha256": "a9720da0f92c880d00bd89542db5639aaec7d27894184879c97014e1b280ec07" }, "downloads": -1, "filename": "snorkel-metal-0.2.4.tar.gz", "has_sig": false, "md5_digest": "0fbed050b8f3b79a74098d7f519c719e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 62451, "upload_time": "2018-10-16T21:04:40", "url": "https://files.pythonhosted.org/packages/df/71/5aeaa6f08a8600ea126fb05d3c6e974d5be15099c885d6b9a24468daac75/snorkel-metal-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "03dce08f1bb5a116604a0712eb53aebe", "sha256": "37d60e4196b15665bcfcc429324a54c0521956864292f068388f6a763dc5eeea" }, "downloads": -1, "filename": "snorkel_metal-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "03dce08f1bb5a116604a0712eb53aebe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 82674, "upload_time": "2018-10-23T06:01:54", "url": "https://files.pythonhosted.org/packages/b0/32/8c0101567e5347c5ab69b42f42a2995bd2ca13427f6e2a2b99b4b91992e0/snorkel_metal-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c38023d52da816bd7dacf2a01e9a01e", "sha256": "a62323bb7d4602c6273f1d34f86e83970c33d6f10d4757f2e6917a20a68f8b45" }, "downloads": -1, "filename": "snorkel-metal-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0c38023d52da816bd7dacf2a01e9a01e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 63284, "upload_time": "2018-10-23T06:01:56", "url": "https://files.pythonhosted.org/packages/08/ec/b011151a8a25ca3a2bdbbf067611559c9146b5089c1f31f902c3f4546ae1/snorkel-metal-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "f8e3e93995ab770d685c0bf39c1d6088", "sha256": "19d08d6138d4bd83e55a43c698cddc8acb03e54bf83e617771b2576965b9e239" }, "downloads": -1, "filename": "snorkel_metal-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f8e3e93995ab770d685c0bf39c1d6088", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 83369, "upload_time": "2018-10-24T01:20:57", "url": "https://files.pythonhosted.org/packages/76/d3/5f726ddd4874f55690729ab695b82b5a200d4bf859035baeefefd6a53741/snorkel_metal-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "841b918ab60089bcb4fab110337f34a7", "sha256": "6a43459e0577d10e78e0ebc2fa09bb0927f88df8b664c9de17e64a9b41158410" }, "downloads": -1, "filename": "snorkel-metal-0.3.1.tar.gz", "has_sig": false, "md5_digest": "841b918ab60089bcb4fab110337f34a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 63842, "upload_time": "2018-10-24T01:20:59", "url": "https://files.pythonhosted.org/packages/4d/f5/17d2e2d9056c35a21ef27437e089f8a52892edff5bfd323a62634d92d295/snorkel-metal-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "295fea1a5edc5c761d7a92cc130345a1", "sha256": "851720b4f794bde7d0889b95712fd4237e4cf98fbd72fbf73ae86dd77cd5ce4d" }, "downloads": -1, "filename": "snorkel_metal-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "295fea1a5edc5c761d7a92cc130345a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 83483, "upload_time": "2018-10-30T18:52:08", "url": "https://files.pythonhosted.org/packages/02/cf/50aaca8b9cab6de86ead891a3a6122e9ee393333245038b4d79ff823edb1/snorkel_metal-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4ab43d5c4ceefc1c986c0129b6a2b1b", "sha256": "024cef8673f13e83790cfc620a0b3dfa5a433fadae48b555abf665a73d9431c6" }, "downloads": -1, "filename": "snorkel-metal-0.3.2.tar.gz", "has_sig": false, "md5_digest": "a4ab43d5c4ceefc1c986c0129b6a2b1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 64059, "upload_time": "2018-10-30T18:52:10", "url": "https://files.pythonhosted.org/packages/28/ae/db6e7a50aa315403b3b31cf92b0620a3b84a3e4b06278eeca7ff04e6e325/snorkel-metal-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "84c70acf4bb41c2ea0ab25c986726fc6", "sha256": "bc0a2068909276f5d9a08bd10210b3c754a7384248cd8e34735a09f02c546ef7" }, "downloads": -1, "filename": "snorkel_metal-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "84c70acf4bb41c2ea0ab25c986726fc6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 88858, "upload_time": "2018-12-03T18:53:46", "url": "https://files.pythonhosted.org/packages/5f/45/cda53b6850d9b922b88f6555a2f4b4d16f4d537a4c213963e7934f59d238/snorkel_metal-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9da1d1ba29625d02ad77dc36789f7b1", "sha256": "5421c1b77c6a58e4a69e5f6f68ba222d0caaec520c6f6a552c0e0b3e39c552b8" }, "downloads": -1, "filename": "snorkel-metal-0.3.3.tar.gz", "has_sig": false, "md5_digest": "f9da1d1ba29625d02ad77dc36789f7b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 68336, "upload_time": "2018-12-03T18:53:48", "url": "https://files.pythonhosted.org/packages/8b/7a/583fbf0f80b81878dd1367b878f0e5b676c7ad917ee1d7ca1fd3e8248bab/snorkel-metal-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b3d30f5a57d146dcc967afb9af2bbaa2", "sha256": "f7ccab51c754230b1d2e212e6b2d5606cd39d9045eddc1898e8e8d991d5a96b4" }, "downloads": -1, "filename": "snorkel_metal-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b3d30f5a57d146dcc967afb9af2bbaa2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 99886, "upload_time": "2019-02-05T19:04:54", "url": "https://files.pythonhosted.org/packages/16/b5/873027f745be9d8d1f298edc91047658ec0cb2628d5b22b03d9fc31d2964/snorkel_metal-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f3426d4b025a8ed02d93a59b1883426", "sha256": "7d74604be75c27ea995aa68b09f469360a25aee7bdd07a18ebbe411d4de83fd7" }, "downloads": -1, "filename": "snorkel-metal-0.4.0.tar.gz", "has_sig": false, "md5_digest": "9f3426d4b025a8ed02d93a59b1883426", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 79891, "upload_time": "2019-02-05T19:04:56", "url": "https://files.pythonhosted.org/packages/97/ef/de1672d64b9b3c55ba9841c0de6182515dcc7fab1545ee1beff2e03dd257/snorkel-metal-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "226dd0f74987208f7b0a6d3d7e3072ee", "sha256": "930af9c8b5374093d7413871d4b75ff6313da5b38391c5d86ca6254928876d14" }, "downloads": -1, "filename": "snorkel_metal-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "226dd0f74987208f7b0a6d3d7e3072ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 101458, "upload_time": "2019-02-08T09:14:00", "url": "https://files.pythonhosted.org/packages/c8/24/0eea04c66be860888761e1542d3f889aaedb6f8ba94c502c0e9e6c7a49d5/snorkel_metal-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5683ce2ecb9ee6eb30aba1046c2f3293", "sha256": "5676849838c405453381e03165346dd7f46b50b9f37b2b23703f5103b3881192" }, "downloads": -1, "filename": "snorkel-metal-0.4.1.tar.gz", "has_sig": false, "md5_digest": "5683ce2ecb9ee6eb30aba1046c2f3293", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 81057, "upload_time": "2019-02-08T09:14:02", "url": "https://files.pythonhosted.org/packages/ab/78/1f2127a10b0d1facbcb073b03dc2594420ed5729419578b009b05791e84d/snorkel-metal-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "df0783d4947963249a73aa6047e29021", "sha256": "f994bd74693fefaf604ba088dfdbb9acb1b545d26f9cc8b1ff2f4e7519de935b" }, "downloads": -1, "filename": "snorkel_metal-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "df0783d4947963249a73aa6047e29021", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 133552, "upload_time": "2019-05-01T06:34:59", "url": "https://files.pythonhosted.org/packages/1c/f4/8fdcdb895eb74cf417503b1713138f4667656ef01b40bed7e30cbebee88e/snorkel_metal-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36c440fcc1ff2a7a129b09694f2b0add", "sha256": "f8ebac88e2417b228a4a30d3456f2dc24a16a0cd15c957364863a300ee153e78" }, "downloads": -1, "filename": "snorkel-metal-0.5.0.tar.gz", "has_sig": false, "md5_digest": "36c440fcc1ff2a7a129b09694f2b0add", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 104651, "upload_time": "2019-05-01T06:35:00", "url": "https://files.pythonhosted.org/packages/ce/37/b7e8488e6b3ec6687cb4d432f14e5ffa99d1fab33405853454c2c545e0b9/snorkel-metal-0.5.0.tar.gz" } ], "0.5.0a0": [ { "comment_text": "", "digests": { "md5": "caddab41709a58eeffac2fc6cbb7af0f", "sha256": "d3bd2d14bdd54fb17fba499b95d09782f6f39e35706529897b31161d6215b8a1" }, "downloads": -1, "filename": "snorkel_metal-0.5.0a0-py3-none-any.whl", "has_sig": false, "md5_digest": "caddab41709a58eeffac2fc6cbb7af0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 133584, "upload_time": "2019-05-01T06:15:43", "url": "https://files.pythonhosted.org/packages/16/1f/64dc19ad98277c2a960de37996aba22aff3d163851cf713c5dbe3e585dce/snorkel_metal-0.5.0a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29fd1e909fde18b7934ab2548a2c3b81", "sha256": "17dbf22c2b2a1cc62eb0a1984baf2c364f38b0fdc839ffa8a80880ff7a41a391" }, "downloads": -1, "filename": "snorkel-metal-0.5.0a0.tar.gz", "has_sig": false, "md5_digest": "29fd1e909fde18b7934ab2548a2c3b81", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 104719, "upload_time": "2019-05-01T06:15:46", "url": "https://files.pythonhosted.org/packages/d3/af/d1673384d45487655fdc84f83966fa5838d4318880a97c0d256e07d66efd/snorkel-metal-0.5.0a0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "df0783d4947963249a73aa6047e29021", "sha256": "f994bd74693fefaf604ba088dfdbb9acb1b545d26f9cc8b1ff2f4e7519de935b" }, "downloads": -1, "filename": "snorkel_metal-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "df0783d4947963249a73aa6047e29021", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 133552, "upload_time": "2019-05-01T06:34:59", "url": "https://files.pythonhosted.org/packages/1c/f4/8fdcdb895eb74cf417503b1713138f4667656ef01b40bed7e30cbebee88e/snorkel_metal-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36c440fcc1ff2a7a129b09694f2b0add", "sha256": "f8ebac88e2417b228a4a30d3456f2dc24a16a0cd15c957364863a300ee153e78" }, "downloads": -1, "filename": "snorkel-metal-0.5.0.tar.gz", "has_sig": false, "md5_digest": "36c440fcc1ff2a7a129b09694f2b0add", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 104651, "upload_time": "2019-05-01T06:35:00", "url": "https://files.pythonhosted.org/packages/ce/37/b7e8488e6b3ec6687cb4d432f14e5ffa99d1fab33405853454c2c545e0b9/snorkel-metal-0.5.0.tar.gz" } ] }