{ "info": { "author": "Stas Bekman", "author_email": "stas@stason.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "\n[![pypi ipyexperiments version](https://img.shields.io/pypi/v/ipyexperiments.svg)](https://pypi.python.org/pypi/ipyexperiments)\n[![Conda ipyexperiments version](https://img.shields.io/conda/v/stason/ipyexperiments.svg)](https://anaconda.org/stason/ipyexperiments)\n[![Anaconda-Server Badge](https://anaconda.org/stason/ipyexperiments/badges/platforms.svg)](https://anaconda.org/stason/ipyexperiments)\n[![ipyexperiments python compatibility](https://img.shields.io/pypi/pyversions/ipyexperiments.svg)](https://pypi.python.org/pypi/ipyexperiments)\n[![ipyexperiments license](https://img.shields.io/pypi/l/ipyexperiments.svg)](https://pypi.python.org/pypi/ipyexperiments)\n\n# ipyexperiments\n\njupyter/ipython experiment containers and utils for profiling and reclaiming GPU and general RAM, and detecting memory leaks.\n\n## About\n\nThis module's main purpose is to help calibrate hyper parameters in deep learning notebooks to fit the available GPU and General RAM, but, of course, it can be useful for any other use where memory limits is a constant issue. It is also useful for detecting memory leaks in your code.\n\nThis package is slowly evolving into a suite of different helper modules that are designed to help diagnose issues with memory leakages and make the debug of these easy.\n\nCurrently the package contains several modules:\n\n1. `IpyExperiments` - a smart container for ipython/jupyter experiments ([documentation](https://github.com/stas00/ipyexperiments/blob/master/docs/ipyexperiments.md))\n2. `CellLogger` - per cell memory profiler ([documentation](https://github.com/stas00/ipyexperiments/blob/master/docs/cell_logger.md))\n3. `ipython` utils - workarounds for ipython memory leakage on exception ([documentation](https://github.com/stas00/ipyexperiments/blob/master/docs/utils_ipython.md))\n4. `mem` debug/profiling utils ([documentation](https://github.com/stas00/ipyexperiments/blob/master/docs/utils_mem.md))\n\n\nUsing this framework you can run multiple consequent experiments without needing to restart the kernel all the time, especially when you run out of GPU memory - the familiar to all \"cuda: out of memory\" error. When this happens you just go back to the notebook cell where you started the experiment, change the hyper parameters, and re-run the updated experiment until it fits the available memory. This is much more efficient and less error-prone then constantly restarting the kernel, and re-running the whole notebook.\n\nAs an extra bonus you get access to the memory consumption data, so you can use it to automate the discovery of the hyper parameters to suit your hardware's unique memory limits.\n\nThe idea behind this module is very simple - it implements a python function-like functionality, where its local variables get destroyed at the end of its run, giving us memory back, except it'll work across multiple jupyter notebook cells (or ipython). In addition it also runs `gc.collect()` to immediately release badly behaved variables with circular references, and reclaim general and GPU RAM. It also helps to discover memory leaks, and performs various other useful things behind the scenes.\n\nIf you need a more fine-grained memory profiling, the `CellLogger` sub-system reports RAM usage on a per cell-level when used with jupyter or per line of code in ipython. You get the resource usage report automatically as soon as a command or a cell finished executing.\n\nCurrently this sub-system logs GPU RAM, general RAM and execution time. But it can be expanded to track other important things. While there are various similar loggers out there, the main focus of this implementation is to help track GPU, whose main scarce resource is GPU RAM.\n\n![Usage demo](https://raw.githubusercontent.com/stas00/ipyexperiments/master/docs/images/usage1.png)\n\n## Installation\n\n* pypi:\n\n ```\n pip install ipyexperiments\n ```\n* conda:\n\n ```\n conda install -c fastai -c stason ipyexperiments\n ```\n\n* dev:\n\n ```\n pip install git+https://github.com/stas00/ipyexperiments.git\n ```\n\n## Usage\n\nHere is an example with using code from the [`fastai`](https://github.com/fastai/fastai) library.\n\nPlease, note, that I added a visual leading space to demonstrate the idea, but, of course, it won't be a valid python code.\n\n```\ncell 1: exp1 = IPyExperimentsPytorch()\ncell 2: learn1 = language_model_learner(data_lm, bptt=60, drop_mult=0.25, pretrained_model=URLs.WT103)\ncell 3: learn1.lr_find()\ncell 4: del exp1\ncell 5: exp2 = IPyExperimentsPytorch()\ncell 6: learn2 = language_model_learner(data_lm, bptt=70, drop_mult=0.3, pretrained_model=URLs.WT103)\ncell 7: learn2.lr_find()\ncell 8: del exp2\n```\n\n## Demo\n\nSee [this demo notebook](https://github.com/stas00/ipyexperiments/blob/master/demo.ipynb), to see how this system works.\n\n\n## Documentation\n\n1. [IPyExperiments](https://github.com/stas00/ipyexperiments/blob/master/docs/ipyexperiments.md).\n2. [CellLogger sub-system](https://github.com/stas00/ipyexperiments/blob/master/docs/cell_logger.md)\n3. [ipython utils](https://github.com/stas00/ipyexperiments/blob/master/docs/utils_ipython.md)\n4. [mem debug/profiling utils](https://github.com/stas00/ipyexperiments/blob/master/docs/utils_mem.md)\n\n\n## Contributing and Testing\n\nPlease see [CONTRIBUTING.md](https://github.com/stas00/ipyexperiments/blob/master/CONTRIBUTING.md).\n\n## History\n\nA detailed history of changes can be found [here](https://github.com/stas00/ipyexperiments/blob/master/CHANGES.md).\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/stas00/ipyexperiments", "keywords": "ipyexperiments,jupyter,ipython,memory,gpu", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "ipyexperiments", "package_url": "https://pypi.org/project/ipyexperiments/", "platform": "", "project_url": "https://pypi.org/project/ipyexperiments/", "project_urls": { "Homepage": "https://github.com/stas00/ipyexperiments" }, "release_url": "https://pypi.org/project/ipyexperiments/0.1.16/", "requires_dist": [ "ipython", "nvidia-ml-py3", "psutil", "pynvx (>=1.0.0) ; platform_system == \"Darwin\"" ], "requires_python": ">=3.6", "summary": "jupyter/ipython experiment containers for GPU and general RAM re-use and memory leaks detection.", "version": "0.1.16" }, "last_serial": 4931354, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "5d4613a7fcb172f824b72c382dc34ab7", "sha256": "07e8b3cf8404ee0493966cc2a9527a58669ff1d8d57e81390bec1ea464403e30" }, "downloads": -1, "filename": "ipyexperiments-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5d4613a7fcb172f824b72c382dc34ab7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8626, "upload_time": "2018-12-19T07:28:15", "url": "https://files.pythonhosted.org/packages/35/4f/62e066beaab9724c21b5d1a20aa0f9d4499eec52b08ebf51264de65bb65f/ipyexperiments-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3b697bb5acc8aad67aefc0bd80cdf98", "sha256": "df707ecb550864235a93a85291b2555d7a7a0d1b85037b98adb7ab9a2adb067a" }, "downloads": -1, "filename": "ipyexperiments-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c3b697bb5acc8aad67aefc0bd80cdf98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9614, "upload_time": "2018-12-19T07:28:17", "url": "https://files.pythonhosted.org/packages/69/8d/3e7eeb6e89d5617e1cd5311cc40c7bc002c491786e3ccfaa4dd2c373c85e/ipyexperiments-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "eae131504d8f8b0c105887a3c40a86cd", "sha256": "f200ad35787d539a7f449db7daf0931693b6da2d100187cc165e39e9f4db22d9" }, "downloads": -1, "filename": "ipyexperiments-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "eae131504d8f8b0c105887a3c40a86cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11142, "upload_time": "2019-01-19T05:11:27", "url": "https://files.pythonhosted.org/packages/d7/8e/a5394823849b27fa12ebd6141abb0d46a6cf67d6d3b338ca607ca394665d/ipyexperiments-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b09c1cbc06c964ef94e0b44dcf8509cf", "sha256": "466b8891436f5d2e79c9a21e84fc52b557b3b20c1c81726e539e684291db2ddc" }, "downloads": -1, "filename": "ipyexperiments-0.1.10.tar.gz", "has_sig": false, "md5_digest": "b09c1cbc06c964ef94e0b44dcf8509cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 76595, "upload_time": "2019-01-19T05:11:29", "url": "https://files.pythonhosted.org/packages/05/f5/2d67bfd6776a156dd8ea3e106e7d365a4d2e75b51f4ec869b0a80b9b5bff/ipyexperiments-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "345f3020fe356cbb24034ccf5f6d2461", "sha256": "180d43dc8f374e8280909574277c591fc6a1749ba24f6558ccfc6214e9a06823" }, "downloads": -1, "filename": "ipyexperiments-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "345f3020fe356cbb24034ccf5f6d2461", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11376, "upload_time": "2019-01-26T03:41:21", "url": "https://files.pythonhosted.org/packages/4f/b3/fb986e4a451a65f4a4b67251d6920e19140dd63cdb575a3def28b3c41789/ipyexperiments-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b1d0da3b6a1a8cfd9f428cd5d8f72e0", "sha256": "98625995df411da84d29d3a6bfeda8ebc400119408aa49808632e523cdccb263" }, "downloads": -1, "filename": "ipyexperiments-0.1.11.tar.gz", "has_sig": false, "md5_digest": "4b1d0da3b6a1a8cfd9f428cd5d8f72e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 79216, "upload_time": "2019-01-26T03:41:23", "url": "https://files.pythonhosted.org/packages/60/50/d88eebad30a1c6d0b25c432f0be16ea693d00fb7082e574c6b05ed8aa459/ipyexperiments-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "a13c67bd040184f5f2a2ccca39317b38", "sha256": "46561956533e018d0b5b148a72dca399c064ca3d5a2abfaf78ef7f204dc71a22" }, "downloads": -1, "filename": "ipyexperiments-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "a13c67bd040184f5f2a2ccca39317b38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11636, "upload_time": "2019-02-23T01:59:38", "url": "https://files.pythonhosted.org/packages/22/2c/0f3dc106854a2056bc29a6aee309a92d7ef7c52c683f71beaf563a7c763b/ipyexperiments-0.1.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2542e67cb1ed5bb14570baa8690d5c7b", "sha256": "9d124b24943ce42cc4a1831da2f12751ef3fa2a6e0afc503ada333d02d37f773" }, "downloads": -1, "filename": "ipyexperiments-0.1.12.tar.gz", "has_sig": false, "md5_digest": "2542e67cb1ed5bb14570baa8690d5c7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 80168, "upload_time": "2019-02-23T01:59:39", "url": "https://files.pythonhosted.org/packages/34/29/999274bba79fb557c9cbc0d114ed85bac05bb9f1764116c52d32a1b2c41a/ipyexperiments-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "48576a90e45bea5a99827927c6048eb3", "sha256": "c70f1d69000afbcb6e37b2ed3770ee295ae969c44c1d103bd1bea8258334fd8f" }, "downloads": -1, "filename": "ipyexperiments-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "48576a90e45bea5a99827927c6048eb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15524, "upload_time": "2019-02-23T03:31:38", "url": "https://files.pythonhosted.org/packages/a9/12/7f52f9fa1ff8f58ef337d646e2361cefe1170bb0112511d20a566f78be84/ipyexperiments-0.1.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80da6ef763d9a52b1627af7b93f1381c", "sha256": "c66e86260aa13f87e19b7f24cd2a370ef01846b0c177d77c71853737864d98bb" }, "downloads": -1, "filename": "ipyexperiments-0.1.13.tar.gz", "has_sig": false, "md5_digest": "80da6ef763d9a52b1627af7b93f1381c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67781, "upload_time": "2019-02-23T03:31:40", "url": "https://files.pythonhosted.org/packages/77/c0/853dcc73d219204db14ab5cd0f9db57c5153282660d96445e3d80d27f7f6/ipyexperiments-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "c53989390eb0dd34eeb92796adab045d", "sha256": "7e55cd2ac046f1589c9f56070c31e07af9d220d369dd573d3d6c59c726126658" }, "downloads": -1, "filename": "ipyexperiments-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "c53989390eb0dd34eeb92796adab045d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15195, "upload_time": "2019-02-24T22:45:36", "url": "https://files.pythonhosted.org/packages/9d/c1/d52f381e3161151fb2e0edce51290fc0e4089368da27f8acb723b1a474a2/ipyexperiments-0.1.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5a1133a2d19b1063d7f7b360b699fb6", "sha256": "698ac12c1be2e8355b4fd03630ebe6cc13a165db9e967b05531652017cdd5487" }, "downloads": -1, "filename": "ipyexperiments-0.1.14.tar.gz", "has_sig": false, "md5_digest": "f5a1133a2d19b1063d7f7b360b699fb6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67910, "upload_time": "2019-02-24T22:45:38", "url": "https://files.pythonhosted.org/packages/40/64/734bafc6ef9a019172a7842b8382f4902ee7c0d79e8d8718a8d29ec35ce2/ipyexperiments-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "7602d1eb6f78de73913e334a10b296d0", "sha256": "e611a1bbf562297029924488cc4571af64b142ac6aaf80edd44fff7dcf4e2f81" }, "downloads": -1, "filename": "ipyexperiments-0.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "7602d1eb6f78de73913e334a10b296d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15519, "upload_time": "2019-02-25T03:27:09", "url": "https://files.pythonhosted.org/packages/ba/0b/d2659e37036b0c5b22b314f16e20524c50ff8bd23b6e5350f16a17348539/ipyexperiments-0.1.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "daf8074f91883644fe401a1d5252284f", "sha256": "1ee857dd411270cd6700f08c401466e5d20672bbae9b46bdb3f3db5662349b92" }, "downloads": -1, "filename": "ipyexperiments-0.1.15.tar.gz", "has_sig": false, "md5_digest": "daf8074f91883644fe401a1d5252284f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 68250, "upload_time": "2019-02-25T03:27:10", "url": "https://files.pythonhosted.org/packages/e7/20/80e6e1559c112d4e2c8e32af138f779bdf482bb66338ad075bb06f726d26/ipyexperiments-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "55d54be68cf6f162d28f3b565c5076cb", "sha256": "68040a235f4c2f0f4723e4d93fa6daac16f9b4ded9a25d775f443c8ed6f00c25" }, "downloads": -1, "filename": "ipyexperiments-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "55d54be68cf6f162d28f3b565c5076cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15720, "upload_time": "2019-03-12T18:19:46", "url": "https://files.pythonhosted.org/packages/7f/f4/390edf3862692cabc3901b6c94a708b73bd20a66a2aa294fd3a248cfb37c/ipyexperiments-0.1.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8db03693c279162a6cdadf94d6834240", "sha256": "6680a4566cce90153a535050f04d5056a9f48a1580a0fef46681f50f0e974b88" }, "downloads": -1, "filename": "ipyexperiments-0.1.16.tar.gz", "has_sig": false, "md5_digest": "8db03693c279162a6cdadf94d6834240", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 68519, "upload_time": "2019-03-12T18:19:47", "url": "https://files.pythonhosted.org/packages/0a/1a/561565bf769addd3e09fb9a6c5270d3801b4a7bcd8722f2be134060eca8c/ipyexperiments-0.1.16.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "95a33e2cf536aa97fb848c8e291eb032", "sha256": "99bdac0bf2af270bcb8ccfab2882033780358361ae642df671c90579f31e521f" }, "downloads": -1, "filename": "ipyexperiments-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "95a33e2cf536aa97fb848c8e291eb032", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8560, "upload_time": "2018-12-20T00:36:53", "url": "https://files.pythonhosted.org/packages/81/53/cbb6f5bd166cfeab76b9239bc542d12fe8986e245edea0ea8d38d5853c63/ipyexperiments-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28b36fea1db74d56a9e5b795a37c749c", "sha256": "1e93c8283615d5a1b09adedcaffd161f9eba12ec8061fa48af35cc4a66751ba3" }, "downloads": -1, "filename": "ipyexperiments-0.1.2.tar.gz", "has_sig": false, "md5_digest": "28b36fea1db74d56a9e5b795a37c749c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 14815, "upload_time": "2018-12-20T00:36:54", "url": "https://files.pythonhosted.org/packages/d8/f4/4c8dbbf92af676319b35e0b1eaceca44eb9350f9016067e8334492a3fec9/ipyexperiments-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "65c162fdf948d861809e20322037c6ed", "sha256": "b10bed197183fd184b4133ece0511ddd6c4175acbd4c74abfe325d660cd19370" }, "downloads": -1, "filename": "ipyexperiments-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "65c162fdf948d861809e20322037c6ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8582, "upload_time": "2018-12-20T00:54:29", "url": "https://files.pythonhosted.org/packages/2f/20/4836c276623c87df07ee642bf9309aba17404c4f0b28f1dfe57ee58f114c/ipyexperiments-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cee99ad8b3e42812805327638f2deba8", "sha256": "4bb94c0e07b5a746a0e938fe3faf654aa2bb2e7a223117c78496c9ed4bd12e17" }, "downloads": -1, "filename": "ipyexperiments-0.1.3.tar.gz", "has_sig": false, "md5_digest": "cee99ad8b3e42812805327638f2deba8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 14849, "upload_time": "2018-12-20T00:54:31", "url": "https://files.pythonhosted.org/packages/c1/b3/0836d195af78e69ce2eb84dcadf73f95e01ec88365d7cb104f6b951bfe85/ipyexperiments-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "37606fdae5fb2996576cf5b921166a6b", "sha256": "a6ae41997931a6211c444ce29408ec9ec67bca1f29b8c4593a8fefc3af8aec87" }, "downloads": -1, "filename": "ipyexperiments-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "37606fdae5fb2996576cf5b921166a6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9416, "upload_time": "2018-12-29T00:24:24", "url": "https://files.pythonhosted.org/packages/08/4d/896345032ac8a69a594baaadd5241d5b92e8fbbd361d9318c4989801045d/ipyexperiments-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fffc4740421a3e7a7245c37194358477", "sha256": "9e5258a573065a1cf9374c18785e0c7bd72d0261df330dc18086e42bae404a56" }, "downloads": -1, "filename": "ipyexperiments-0.1.4.tar.gz", "has_sig": false, "md5_digest": "fffc4740421a3e7a7245c37194358477", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16332, "upload_time": "2018-12-29T00:24:25", "url": "https://files.pythonhosted.org/packages/58/68/5ed09d84c3ab2f4f45e4425485f0bf56533b433d1a7599f2eb6a447da655/ipyexperiments-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "f36459263b11dfc77eef20ba8a58e849", "sha256": "4eb2b644c31f4bec37cea22874570d706241170dcec9deb6c0eb8a2f43bd33eb" }, "downloads": -1, "filename": "ipyexperiments-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f36459263b11dfc77eef20ba8a58e849", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10041, "upload_time": "2018-12-29T01:52:14", "url": "https://files.pythonhosted.org/packages/0e/76/65942c273ded3e50342de67e0b80a3f91f86ff4a8bdf1319ecfb8d1e0ed0/ipyexperiments-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff448254b8e25cf664f75da993b3c3b8", "sha256": "b51d58d8a33d7a8a1eeedfc64ab378f3533b4a7a61191cdb7e3f45c4999efe11" }, "downloads": -1, "filename": "ipyexperiments-0.1.5.tar.gz", "has_sig": false, "md5_digest": "ff448254b8e25cf664f75da993b3c3b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17312, "upload_time": "2018-12-29T01:52:16", "url": "https://files.pythonhosted.org/packages/94/5a/583e360d940efdb152e4bb805d07b4ab826adf30df8623578381317028d5/ipyexperiments-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "b2bfd6b0ef52428b8b3139ab4b6ab5b0", "sha256": "cdf1d21daf4e6126812525ddb3295a31f22725d2e8de5822a3caf3cec7a3ef98" }, "downloads": -1, "filename": "ipyexperiments-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b2bfd6b0ef52428b8b3139ab4b6ab5b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10865, "upload_time": "2019-01-04T08:21:29", "url": "https://files.pythonhosted.org/packages/1a/85/fc24f494306e321f06d2b1b547e128849d88868c033c708cbf90c14c6328/ipyexperiments-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15a53d55d7f07a06424f8da795adaee5", "sha256": "3090e31c10b37fba3553282a23227148b8649b6d46563245b7ea0d24dd4b0fd4" }, "downloads": -1, "filename": "ipyexperiments-0.1.6.tar.gz", "has_sig": false, "md5_digest": "15a53d55d7f07a06424f8da795adaee5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20828, "upload_time": "2019-01-04T08:21:31", "url": "https://files.pythonhosted.org/packages/38/62/96bc634d084cd261bd5a24719e10217f00176748ef66d183ee615c467373/ipyexperiments-0.1.6.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "62cb840f114d739c3a2e67fad29caf97", "sha256": "6bd1d37776ac5035ada15e9f74f2b5eed7859048cdd600578e8176dbbcc7f82a" }, "downloads": -1, "filename": "ipyexperiments-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "62cb840f114d739c3a2e67fad29caf97", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10893, "upload_time": "2019-01-05T18:27:30", "url": "https://files.pythonhosted.org/packages/80/94/908bf7d13ee2142320e729b8de07655e2f734ecff8f517f3f36a78717bee/ipyexperiments-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0367ca5d4e79c4683283d2d3a2ea4f8", "sha256": "9dd50f9a3c508320461a83e2a635eaaf8257140ddaf376e2f54c277ec7127953" }, "downloads": -1, "filename": "ipyexperiments-0.1.8.tar.gz", "has_sig": false, "md5_digest": "a0367ca5d4e79c4683283d2d3a2ea4f8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67934, "upload_time": "2019-01-05T18:27:32", "url": "https://files.pythonhosted.org/packages/d9/5c/f2651ed0b1a50039f011c314e757ee702c3011087f6a28d7d8ad62825e1a/ipyexperiments-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "e5bf44c8d1f0a592dd769c5e44caa9e6", "sha256": "e42dcbc6864021a57e28f49ceb12d75a5cb1cf25c3f0da018550c475521c93e6" }, "downloads": -1, "filename": "ipyexperiments-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "e5bf44c8d1f0a592dd769c5e44caa9e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10988, "upload_time": "2019-01-16T03:28:08", "url": "https://files.pythonhosted.org/packages/31/48/8000b2f22dcddf8b0c238d8d9bc3fe4f178cd5662ab47474043e290c0cfd/ipyexperiments-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95dc01739ff9d5638c7df8085d698ef3", "sha256": "432d141db2682789b9dd0c7f748b55247761f0984012bffd9f965213fce48413" }, "downloads": -1, "filename": "ipyexperiments-0.1.9.tar.gz", "has_sig": false, "md5_digest": "95dc01739ff9d5638c7df8085d698ef3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 75392, "upload_time": "2019-01-16T03:28:11", "url": "https://files.pythonhosted.org/packages/f9/e7/f2c1b05a60b2dd4c17e82ec0cf00f8b2d03a121c9f1fe7115badc76092e1/ipyexperiments-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "55d54be68cf6f162d28f3b565c5076cb", "sha256": "68040a235f4c2f0f4723e4d93fa6daac16f9b4ded9a25d775f443c8ed6f00c25" }, "downloads": -1, "filename": "ipyexperiments-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "55d54be68cf6f162d28f3b565c5076cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15720, "upload_time": "2019-03-12T18:19:46", "url": "https://files.pythonhosted.org/packages/7f/f4/390edf3862692cabc3901b6c94a708b73bd20a66a2aa294fd3a248cfb37c/ipyexperiments-0.1.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8db03693c279162a6cdadf94d6834240", "sha256": "6680a4566cce90153a535050f04d5056a9f48a1580a0fef46681f50f0e974b88" }, "downloads": -1, "filename": "ipyexperiments-0.1.16.tar.gz", "has_sig": false, "md5_digest": "8db03693c279162a6cdadf94d6834240", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 68519, "upload_time": "2019-03-12T18:19:47", "url": "https://files.pythonhosted.org/packages/0a/1a/561565bf769addd3e09fb9a6c5270d3801b4a7bcd8722f2be134060eca8c/ipyexperiments-0.1.16.tar.gz" } ] }