{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: System :: Distributed Computing" ], "description": "An asynchronous job scheduler for `Adaptive `_\n============================================================================================\n\n|PyPI| |Conda| |Downloads| |Build Status| |Documentation Status|\n\nRun many ``adaptive.Learner``\\ s on many cores (>10k) using `mpi4py.futures`, `ipyparallel`, or `dask.distributed`.\n\nWhat is this?\n-------------\n\nThe Adaptive scheduler solves the following problem, you need to run more learners than you can run with a single runner and/or can use >1k cores.\n\u00a0\n`ipyparallel` and `dask.distributed` provide very powerful engines for interactive sessions. However, when you want to connect to >1k cores it starts to struggle. Besides that, on a shared cluster there is often the problem of starting an interactive session with ample space available.\n\nOur approach is to schedule a different job for each ``adaptive.Learner``. The creation and running of these jobs are managed by ``adaptive-scheduler``. This means that your calculation will definitely run, even though the cluster might be fully occupied at the moment. Because of this approach, there is almost no limit to how many cores you want to use. You can either use 10 nodes for 1 job (\\ ``learner``\\ ) or 1 core for 1 job (\\ ``learner``\\ ) while scheduling hundreds of jobs.\n\nEverything is written such that the computation is maximally local. This means that is one of the jobs crashes, there is no problem and it will automatically schedule a new one and continue the calculation where it left off (because of Adaptive's periodic saving functionality). Even if the central \"job manager\" dies, the jobs will continue to run (although no new jobs will be scheduled.)\n\n\nDesign goals\n------------\n\n#. Needs to be able to run on efficiently >30k cores\n#. Works seamlessly with the Adaptive package\n#. Minimal load on the file system\n#. Removes all boilerplate of working with a scheduler\n\n #. writes job script\n #. (re)submits job scripts\n\n#. Handles random crashes (or node evictions) with minimal data loss\n#. Preserves Python kernel and variables inside a job (in contrast to submitting jobs for every parameter)\n#. Separates the simulation definition code from the code that runs the simulation\n#. Maximizes computation locality, jobs continue to run when the main process dies\n\nHow does it work?\n-----------------\n\nYou create a file where you define a bunch of ``learners`` and corresponding ``fnames`` such that they can be imported, like:\n\n.. code-block:: python\n\n # learners_file.py\n import adaptive\n from functools import partial\n\n def h(x, pow, a):\n return a * x**pow\n\n combos = adaptive.utils.named_product(\n pow=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n a=[0.1, 0.5],\n ) # returns list of dicts, cartesian product of all values\n\n learners = [adaptive.Learner1D(partial(h, **combo),\n bounds=(-1, 1)) for combo in combos]\n fnames = [f\"data/{combo}\" for combo in combos]\n\n\nThen you start a process that creates and submits as many job-scripts as there are learners. Like:\n\n.. code-block:: python\n\n import adaptive_scheduler\n\n def goal(learner):\n return learner.npoints > 200\n\n scheduler = adaptive_scheduler.scheduler.SLURM(cores=10) # every learner get this many cores\n\n run_manager = adaptive_scheduler.server_support.RunManager(\n scheduler=scheduler,\n learners_file=\"learners_file.py\",\n goal=goal,\n log_interval=30, # write info such as npoints, cpu_usage, time, etc. to the job log file\n save_interval=300, # save the data every 300 seconds\n )\n run_manager.start()\n\n\nThat's it! You can run ``run_manager.info()`` which will display an interactive ``ipywidget`` that shows the amount of running, pending, and finished jobs, buttons to cancel your job, and other useful information.\n\n.. image:: http://files.nijho.lt/info.gif\n :target: http://files.nijho.lt/info.gif\n :alt: Widget demo\n\n\n\nBut how does it *really* work?\n------------------------------\n\nThe `~adaptive_scheduler.server_support.RunManager` basically does the following.\nSo, *you* need to create a ``learners_file.py`` that defines ``N`` ``learners`` and ``fnames`` (like in the section above).\nThen a \"job manager\" writes and submits ``max(N, max_simultaneous_jobs)`` job scripts but *doesn't know* which learner it is going to run!\nThis is the responsibility of the \"database manager\", which keeps a database of ``job_id <--> learner``.\nThe job script starts a Python file ``run_learner.py`` in which the learner is run.\n\n\nIn a Jupyter notebook we can start the \"job manager\" and the \"database manager\", and create the ``run_learner.py`` like:\n\n.. code-block:: python\n\n import adaptive_scheduler\n from adaptive_scheduler import server_support\n from learners_file import learners, fnames\n\n # create a scheduler\n scheduler = adaptive_scheduler.scheduler.PBS(\n cores=10,\n run_script=\"run_learner.py\",\n )\n\n # create a new database that keeps track of job <-> learner\n db_fname = \"running.json\"\n url = server_support.get_allowed_url() # get a url where we can run the database_manager\n database_manager = server_support.DatabaseManager(url, scheduler, db_fname, fnames)\n database_manager.start()\n\n # create the Python script that runs a learner (run_learner.py)\n server_support._make_default_run_script(\n url=url,\n learners_file=\"learners_file.py\",\n save_interval=300,\n log_interval=30,\n goal=None,\n executor_type=scheduler.executor_type,\n run_script_fname=scheduler.run_script,\n )\n\n # create unique names for the jobs\n n_jobs = len(learners)\n job_names = [f\"test-job-{i}\" for i in range(n_jobs)]\n\n job_manager = server_support.JobManager(\n job_names,\n database_manager,\n scheduler,\n )\n job_manager.start()\n\n\nThen when the job have been running for a while you can check ``server_support.parse_log_files(job_names, database_manager, scheduler)``.\n\nYou don't actually ever have to leave the Jupter notebook, take a look at the `example notebook `_.\n\nJupyter notebook example\n------------------------\n\nSee `example.ipynb `_.\n\nInstallation\n------------\n\n**WARNING:** This is still the pre-alpha development stage.\n\nInstall the **latest stable** version from conda with (recommended)\n\n.. code-block:: bash\n\n conda install adaptive-scheduler\n\n\nor from PyPI with\n\n.. code-block:: bash\n\n pip install adaptive_scheduler\n\n\nor install **master** with\n\n.. code-block:: bash\n\n pip install -U https://github.com/basnijholt/adaptive-scheduler/archive/master.zip\n\n\nor clone the repository and do a dev install (recommended for dev)\n\n.. code-block:: bash\n\n git clone git@github.com:basnijholt/adaptive-scheduler.git\n cd adaptive-scheduler\n pip install -e .\n\n\nDevelopment\n-----------\n\nIn order to not pollute the history with the output of the notebooks, please setup the git filter by executing\n\n.. code-block:: bash\n\n python ipynb_filter.py\n\n\nin the repository.\n\nWe also use `pre-commit `_\\ , so ``pip install pre_commit`` and run\n\n.. code-block:: bash\n\n pre-commit install\n\n\nin the repository.\n\nLimitations\n-----------\n\nRight now ``adaptive_scheduler`` is only working for SLURM and PBS, however only a class like `adaptive_scheduler/scheduler.py `_ would have to be implemented for another type of scheduler.\nAlso there are **no tests** at all!\n\n.. references-start\n.. |PyPI| image:: https://img.shields.io/pypi/v/adaptive-scheduler.svg\n :target: https://pypi.python.org/pypi/adaptive-scheduler\n :alt: PyPI\n.. |Conda| image:: https://anaconda.org/conda-forge/adaptive-scheduler/badges/installer/conda.svg\n :target: https://anaconda.org/conda-forge/adaptive-scheduler\n :alt: Conda\n.. |Downloads| image:: https://anaconda.org/conda-forge/adaptive-scheduler/badges/downloads.svg\n :target: https://anaconda.org/conda-forge/adaptive-scheduler\n :alt: Downloads\n.. |Build Status| image:: https://dev.azure.com/basnijholt/adaptive-scheduler/_apis/build/status/basnijholt.adaptive-scheduler?branchName=master\n :target: https://dev.azure.com/basnijholt/adaptive-scheduler/_build/latest?definitionId=1&branchName=master\n :alt: Build Status\n.. |Documentation Status| image:: https://readthedocs.org/projects/adaptive-scheduler/badge/?version=latest\n :target: https://adaptive-scheduler.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n.. references-end\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "https://pypi.python.org/pypi/adaptive_scheduler", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/basnijholt/adaptive-scheduler", "keywords": "", "license": "BSD-3", "maintainer": "Bas Nijholt", "maintainer_email": "bas@nijho.lt", "name": "adaptive-scheduler", "package_url": "https://pypi.org/project/adaptive-scheduler/", "platform": "", "project_url": "https://pypi.org/project/adaptive-scheduler/", "project_urls": { "Download": "https://pypi.python.org/pypi/adaptive_scheduler", "Homepage": "https://github.com/basnijholt/adaptive-scheduler" }, "release_url": "https://pypi.org/project/adaptive-scheduler/0.5.4/", "requires_dist": [ "adaptive", "dill", "ipyparallel", "mpi4py", "pandas", "psutil", "pyzmq", "structlog", "tinydb", "toolz", "tqdm", "dask-mpi ; extra == 'all'" ], "requires_python": ">=3.7", "summary": "Run many `adaptive.Learner`s on many cores (>10k) using `mpi4py.futures`, `ipyparallel`, or `dask-mpi`.", "version": "0.5.4" }, "last_serial": 5791656, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "ec0e1e87f54b446a491560525445d4e4", "sha256": "34614822f6d3ccfe1f088dc82a97320f2e8b11077a98d89de2bf901835421627" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "ec0e1e87f54b446a491560525445d4e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 15373, "upload_time": "2019-05-23T17:15:25", "url": "https://files.pythonhosted.org/packages/ee/fd/de0abac39c7563e725c6b2811096e4451044571ce523a088728099ed1fa5/adaptive_scheduler-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8fe1448f5a1717e2f56a724432a05ea", "sha256": "ebedf6139b10dd2d6a21b122f7753351c8ead9d8d2d44fe4076d850d00617d98" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.10.tar.gz", "has_sig": false, "md5_digest": "a8fe1448f5a1717e2f56a724432a05ea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 13740, "upload_time": "2019-05-23T17:15:27", "url": "https://files.pythonhosted.org/packages/08/42/442dadb09ef4f21dd0a68ad47cb98654d66dacadfd92bf62c9a98e2459ab/adaptive_scheduler-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "e00269847bcdc2a45fea1f7c099cbae7", "sha256": "e0e804204a5f1e4e3eccf2a9d8ed7f5476de10fc330b9e594214736a699d7e00" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "e00269847bcdc2a45fea1f7c099cbae7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 15830, "upload_time": "2019-05-29T18:24:05", "url": "https://files.pythonhosted.org/packages/0b/e6/dd6fc4b055ebabb5c7a413b0a3ba6d25cbed0edbda6b589614bdcb296055/adaptive_scheduler-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dbde16f604ab5fe41bcbfe371db3f37", "sha256": "ac25096e1fa8bb74e369b4e8367acd2b3f0473cb43e6f2147bcf0bb6bab74784" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.11.tar.gz", "has_sig": false, "md5_digest": "7dbde16f604ab5fe41bcbfe371db3f37", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14216, "upload_time": "2019-05-29T18:24:07", "url": "https://files.pythonhosted.org/packages/2a/de/119f781931ccc23a827e15ae7651ba9cbaa010269f633ec5cd4f64cb2de8/adaptive_scheduler-0.1.11.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "57094c448a3b0c2c741e74f1c9879cf4", "sha256": "cd0384bdc4aa8dc37faa2246d72747f243bf7328adb2494bb885f330f1184438" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.2.zip", "has_sig": false, "md5_digest": "57094c448a3b0c2c741e74f1c9879cf4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13534, "upload_time": "2019-05-08T20:07:43", "url": "https://files.pythonhosted.org/packages/6f/ff/46d1317e9f5719971e76028630d8d8f70ec2f2f2ea7f2d6c800f3529f219/adaptive_scheduler-0.1.2.zip" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "b27ac1a1b2af84d80c85ac8fb83d8926", "sha256": "01f275901a1b34c5ca9a7dd175d59c927a0a3cbf0ee0f612855e73c4b3e8efdd" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b27ac1a1b2af84d80c85ac8fb83d8926", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9243, "upload_time": "2019-05-08T22:03:43", "url": "https://files.pythonhosted.org/packages/af/38/7be25ec68f19f5eaa42d557406da90bc798155be7d43141b0634dfc69564/adaptive_scheduler-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "acb8357a5f5a0cca93fd9877b912025d", "sha256": "fd9710e793ced71489ca150461f897c86907fa50278ea4ba322f1e91222464c1" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.3.tar.gz", "has_sig": false, "md5_digest": "acb8357a5f5a0cca93fd9877b912025d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9404, "upload_time": "2019-05-08T22:03:45", "url": "https://files.pythonhosted.org/packages/a9/3a/301cadc2de8bacf0c5fc0ac5165563dc2807d6574d212fb50623dad10cef/adaptive_scheduler-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d5fb1f62f37ed4fcb2ce68c7fd111251", "sha256": "a1ddf9fff874cbef75c41a274d29aa4d06a9436cf4a2df6ea5262df8e7bf11ee" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d5fb1f62f37ed4fcb2ce68c7fd111251", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9292, "upload_time": "2019-05-09T18:59:11", "url": "https://files.pythonhosted.org/packages/8b/19/cc865ad6af772b18c83176d3418fe9f3324ebec5052d2d5f0fdb06a8e675/adaptive_scheduler-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdadef09f2fb955fa7cb59f044608c35", "sha256": "2f6227cffb62fd37ddc7554a8b406576d82cadca93963730ced8e422b99b6f46" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.4.tar.gz", "has_sig": false, "md5_digest": "bdadef09f2fb955fa7cb59f044608c35", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9534, "upload_time": "2019-05-09T18:59:13", "url": "https://files.pythonhosted.org/packages/96/65/4fd425511229152119339faab1e43ebaaebdf2d75afcf40245bf5abdddf6/adaptive_scheduler-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "ba4dde217534fc4eb4c19ba6ad1dea56", "sha256": "82ea02dce93c94905bc84aa6c6d4287f175dd237ea73aada63724525b6f994c2" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ba4dde217534fc4eb4c19ba6ad1dea56", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10805, "upload_time": "2019-05-14T00:28:33", "url": "https://files.pythonhosted.org/packages/2c/2a/9118b1432262bd28d19285528b6f06511e2ece3e82883d1d7746355605d1/adaptive_scheduler-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cbb6fc62ac7e7bc65528425b799829ff", "sha256": "9c4f52a44f888a91596e212af8220ff962891d5a9bbccffa3cb527d8fa5151d0" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.5.tar.gz", "has_sig": false, "md5_digest": "cbb6fc62ac7e7bc65528425b799829ff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 10211, "upload_time": "2019-05-14T00:28:35", "url": "https://files.pythonhosted.org/packages/7d/f5/9bf5fcb574d77a8c8861d3276df6f5655c283ef0cdc13f8bd0c967d0b4a9/adaptive_scheduler-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "47cdce4a4f9fbf4b9ed13a5470ecd1d7", "sha256": "04bf0b208ba3434e76d560adbb05cec43c5df7814c14670d9a01eb4404ed3c7c" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "47cdce4a4f9fbf4b9ed13a5470ecd1d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11906, "upload_time": "2019-05-15T21:52:05", "url": "https://files.pythonhosted.org/packages/69/dd/6b0ea1214c290da6b0e52487fcd1038b22e3becd875366f6fbfcb20666cd/adaptive_scheduler-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f5ebc3ecb33494f9da901818f8410a1", "sha256": "cf104c865f12b94b1d00c165b828a983bc1d925c80abef1615302e51b79c489a" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.6.tar.gz", "has_sig": false, "md5_digest": "8f5ebc3ecb33494f9da901818f8410a1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 11406, "upload_time": "2019-05-15T21:52:06", "url": "https://files.pythonhosted.org/packages/fd/7b/fcf0b370f630e80ef8d3f8402c310bcf1828d8c1272bf3b108ca2e495fc1/adaptive_scheduler-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "77e7355bf30e5e3a641bfe39d718c10a", "sha256": "a9a08b23e6fb3d71f763821f784a80096357ec73da95f7418154c2c7e721aa88" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "77e7355bf30e5e3a641bfe39d718c10a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11952, "upload_time": "2019-05-15T22:46:35", "url": "https://files.pythonhosted.org/packages/98/04/69341a718eae78ddd2db201b3d7380d6c4d0aed88aa4e9792a960f03a8d1/adaptive_scheduler-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77a4ad6e597871005d3c4f07d8a76b34", "sha256": "89db9853b698499fb7ad4afb7bad3d914e106f536d97158418b6392dcba2fce0" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.7.tar.gz", "has_sig": false, "md5_digest": "77a4ad6e597871005d3c4f07d8a76b34", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 11577, "upload_time": "2019-05-15T22:46:37", "url": "https://files.pythonhosted.org/packages/c5/dc/9a38e3bb7243b5b6562385495460e3b938342e414e128649b333f31f4ea0/adaptive_scheduler-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "50ca99ad7c39b685fc53db3527ad6c2e", "sha256": "a7959f065d1b5398f89438f9240832b20d7d0cadbf8dceddbea7a924b44fc2a7" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "50ca99ad7c39b685fc53db3527ad6c2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 14996, "upload_time": "2019-05-22T04:21:18", "url": "https://files.pythonhosted.org/packages/cb/16/87fb59f103ba1a3cfc214f3d72ea11b05a8941269674e4b0f275bbfdaa48/adaptive_scheduler-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2b69caec1b2506a00f2e965fb7819a1", "sha256": "aba290308b8ca8dd5ea480f50196562f94603126e51337421cb00204c21b3db8" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.8.tar.gz", "has_sig": false, "md5_digest": "a2b69caec1b2506a00f2e965fb7819a1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 13461, "upload_time": "2019-05-22T04:21:20", "url": "https://files.pythonhosted.org/packages/46/f6/77861fea3f55870ce38901052ed2711d6af079c7604f6526dd65240ebf9d/adaptive_scheduler-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "af1d7b2c8f118a989afcd81f8e747cde", "sha256": "5347f13b8bb7060760044bade79c38b76fa501e2bb0f36b7ae3809eb5391af4d" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "af1d7b2c8f118a989afcd81f8e747cde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 15005, "upload_time": "2019-05-22T23:57:23", "url": "https://files.pythonhosted.org/packages/62/8e/a9bc7b30031cf56f38af3420ef7d2e2cd0e74ce0ce108a7dfa41f6e4d87d/adaptive_scheduler-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b920e84572a9c5c28407e9b7c4e7720c", "sha256": "eeae1373b4c5293b9048a4ec586c800f8ebf7b5dd24f2a16a9d34ced5f368981" }, "downloads": -1, "filename": "adaptive_scheduler-0.1.9.tar.gz", "has_sig": false, "md5_digest": "b920e84572a9c5c28407e9b7c4e7720c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 13455, "upload_time": "2019-05-22T23:57:24", "url": "https://files.pythonhosted.org/packages/4f/85/49e54e32f74540ea1a06bdff45feb7d488abed4299545cb3843f743e0cb6/adaptive_scheduler-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a4590f9859df7e67c8b2e75bb659f7b9", "sha256": "9dfb92b47a23aa6ee9dc328962c888e54ad006b314aa91ee7efa6fdc43a0f26d" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a4590f9859df7e67c8b2e75bb659f7b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 15822, "upload_time": "2019-05-29T21:19:54", "url": "https://files.pythonhosted.org/packages/27/1a/ced3af07945c19a6a15dd0df915fbac7924c9d90bc4c8098e38b8fbf2fe2/adaptive_scheduler-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ae51bb1243aa0ee5cb17b4e9e21832c", "sha256": "af5af2947ad497ad8c143e3212d4b0bcbaeb693ba5b6180c06d8a9a7cbbc5b7f" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.0.tar.gz", "has_sig": false, "md5_digest": "7ae51bb1243aa0ee5cb17b4e9e21832c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14229, "upload_time": "2019-05-29T21:19:55", "url": "https://files.pythonhosted.org/packages/a5/ae/bd480fc36620dfc1a1415ec30d6e5cd4c6ecc849e617c9b1323eae5b0687/adaptive_scheduler-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "dc2d363003aad1f6e39b9430698d9036", "sha256": "1929b093bde1c7aa3db2e0e18b1a7e7e525afe967cf68d356dba2c2d66b06845" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dc2d363003aad1f6e39b9430698d9036", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 21563, "upload_time": "2019-06-05T19:38:43", "url": "https://files.pythonhosted.org/packages/f0/d9/411fc42e5950dd0839fb07b05da25280d29aa40fd90fea8330c2cc9d14e9/adaptive_scheduler-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0044d0513162f14105df72861c6e6d04", "sha256": "d394fac26f97fb25adb2f7850184f7d7854f3c919fc49ea967df7521a3ceeb0e" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0044d0513162f14105df72861c6e6d04", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 19274, "upload_time": "2019-06-05T19:38:46", "url": "https://files.pythonhosted.org/packages/df/ea/4e876d7511e664d191d35d6731be231cdd3ddc3618f73823513d9b9b7b70/adaptive_scheduler-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "83f8e68053b7d79daf4893c7936551e0", "sha256": "f82334b35c26742cd130f95173cdc0bf934c5232d128d8256a301db993b3cd55" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.10-py3-none-any.whl", "has_sig": false, "md5_digest": "83f8e68053b7d79daf4893c7936551e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 32206, "upload_time": "2019-06-19T20:07:09", "url": "https://files.pythonhosted.org/packages/69/45/45278ebe213b14fff0dc229a74abad33d618c1b702f75eee257c38fe1a53/adaptive_scheduler-0.2.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "136248e2135b8b1037ef9cbd991278ee", "sha256": "6e80339e7f73e89da29c5f73367d979c582f62057f8137910a1e8cf349854589" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.10.tar.gz", "has_sig": false, "md5_digest": "136248e2135b8b1037ef9cbd991278ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 31303, "upload_time": "2019-06-19T20:07:11", "url": "https://files.pythonhosted.org/packages/16/3a/a5f9ce86f3ed9f772c2d8fac25a15b13a180ea37cc03faf7ac6dbd9a4a30/adaptive_scheduler-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "a72be6baab73640e6c5a08d084d5a3f1", "sha256": "db245be638db99aa1d56e15fcd315935d49c86da09831caaaf569fd614257eb5" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.11-py3-none-any.whl", "has_sig": false, "md5_digest": "a72be6baab73640e6c5a08d084d5a3f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 32719, "upload_time": "2019-06-25T07:16:49", "url": "https://files.pythonhosted.org/packages/a2/54/33696f1f6d4f62758c9b9ede3999893e99bcd2e319f61d61cfd7bb090cf6/adaptive_scheduler-0.2.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bca0bfa2213407767575a01bde58d0d1", "sha256": "755f5332ce5850a71af7afb6411e94c57e118d51d6755140702df0f19b0184a5" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.11.tar.gz", "has_sig": false, "md5_digest": "bca0bfa2213407767575a01bde58d0d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 31759, "upload_time": "2019-06-25T07:16:51", "url": "https://files.pythonhosted.org/packages/0f/d7/34d856062715ba8453faaa271465bbb5bf40261dee8ec9502b6a1a941971/adaptive_scheduler-0.2.11.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "58acd08d057e9593876f56c95d94ae4c", "sha256": "6ed2e938c85a4daf70028b1e82657dd539bdb418b29b33f9a4a49780e9867c2c" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "58acd08d057e9593876f56c95d94ae4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 21747, "upload_time": "2019-06-05T21:58:52", "url": "https://files.pythonhosted.org/packages/c2/07/8c0a616ea625f871763434de5a3f45617c7d8b80f70850d7ce3b24dbe8a6/adaptive_scheduler-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92fad64813478174f2469aadf5addf6f", "sha256": "7a03a323fab7b7874c2dddbc1e629f039b89aa68630a57c961b540469b777bdf" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.2.tar.gz", "has_sig": false, "md5_digest": "92fad64813478174f2469aadf5addf6f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 19444, "upload_time": "2019-06-05T21:58:56", "url": "https://files.pythonhosted.org/packages/41/35/857d9b840781ee40b51c093a83989e31e91ae397f2552f8715df28b60168/adaptive_scheduler-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "e8f4695e4965ecd01ae9d77463d7d472", "sha256": "a1d8d1c66f80d8910f3dd19d089ef4bb7eb16bc0502e31dd519baedd0f9dc8f1" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e8f4695e4965ecd01ae9d77463d7d472", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 24365, "upload_time": "2019-06-07T21:58:11", "url": "https://files.pythonhosted.org/packages/af/79/451fba7b37c1ac71f5e345ad592db1c7708790485c5eaa12655555a2fc2d/adaptive_scheduler-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72f9b406b08b2323ca2554a590cd7105", "sha256": "02be623e5d6ff7d2629db38b30e434d1504e4b0f509cb06ce6007ba99973879d" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.3.tar.gz", "has_sig": false, "md5_digest": "72f9b406b08b2323ca2554a590cd7105", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 22369, "upload_time": "2019-06-07T21:58:13", "url": "https://files.pythonhosted.org/packages/85/91/7dbe43d66ba4aedb5b6fd52257f984e61163fad9cea5791d4c59e9576c85/adaptive_scheduler-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "cdc9111a6cee72e55e65247ad2ce93af", "sha256": "23e1ec72aa39a6bb9e5d97a6ed228085910fd9c994ccbe1f9138f4c150e17ae0" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "cdc9111a6cee72e55e65247ad2ce93af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 27144, "upload_time": "2019-06-10T21:11:33", "url": "https://files.pythonhosted.org/packages/10/16/13a6cdfedbec66dbb165056e30e3cae76db11b69491261e52b9e7decd8e9/adaptive_scheduler-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3801e14af0f06dda2c12bd12e64882a4", "sha256": "7bfe11793409d3c743333b3f9d58df3a6fcef9cc22dc561f5bbdaa21471aa1eb" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.4.tar.gz", "has_sig": false, "md5_digest": "3801e14af0f06dda2c12bd12e64882a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 25759, "upload_time": "2019-06-10T21:11:35", "url": "https://files.pythonhosted.org/packages/c9/18/3ffc71898effd56a4046e2e132a0e09dc7e0171548b7047acf21d2bf5d12/adaptive_scheduler-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "09aab777784d55e59764589611ce8394", "sha256": "22ef07fcab99eb3f44086e181d09d192a0264eedfc533530714389083dfc9b1a" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "09aab777784d55e59764589611ce8394", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 28496, "upload_time": "2019-06-12T22:09:18", "url": "https://files.pythonhosted.org/packages/cd/df/d23687d75790e842c1545dbdbf0d2d45efff5927971c86dd3b3a07e4c87b/adaptive_scheduler-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f1a3238bf08b9db72cd50f97837b440", "sha256": "b320c689f6d355267a107189d433811ae0cf94141be62614cd10bb0cf1c6816b" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.5.tar.gz", "has_sig": false, "md5_digest": "6f1a3238bf08b9db72cd50f97837b440", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 27050, "upload_time": "2019-06-12T22:09:19", "url": "https://files.pythonhosted.org/packages/f6/53/d5efe81e8d9cf23bf003cef20171c2a5b3bfab220c2e02a27f4c5d4cdce9/adaptive_scheduler-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "3a31f92e0b24481d7f1cd7b72350361d", "sha256": "31ff3e2f066eb4ea6bcaf8a23868fec0903ccd06b183065336a4051d3e6a695b" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3a31f92e0b24481d7f1cd7b72350361d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 29160, "upload_time": "2019-06-13T02:55:36", "url": "https://files.pythonhosted.org/packages/e2/e4/8c6cf67e3259cb9b39602e849d53dd739ef7dbf1b966f84bfc584ed39f28/adaptive_scheduler-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0513af751890ff48ba495a8263bc7fc3", "sha256": "2c7eb2edf6330aa572447ce1d6c94fe2a406912e9272411dfc38868a3d7047b3" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.6.tar.gz", "has_sig": false, "md5_digest": "0513af751890ff48ba495a8263bc7fc3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 28316, "upload_time": "2019-06-13T02:55:38", "url": "https://files.pythonhosted.org/packages/98/20/8195da6592805fa059c7da948151bc691427f84d258d24ce0e2d04e242b8/adaptive_scheduler-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "0ac2ee324e912e5736f0f6673986338d", "sha256": "9d2f99cc019dfdf8c48219d043af10bdb2856a9cca8255a32bedcf2dfd14e13d" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "0ac2ee324e912e5736f0f6673986338d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 29742, "upload_time": "2019-06-13T20:32:53", "url": "https://files.pythonhosted.org/packages/84/31/3e906e45d696bb78893145460a8995bddc185947a3443de8951e4c008165/adaptive_scheduler-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dce57d1d6094654d30621107188fbf7a", "sha256": "6192e2e26d687e901e1006d4fccff515578633e8e8b642388a9c9975c08e2db3" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.7.tar.gz", "has_sig": false, "md5_digest": "dce57d1d6094654d30621107188fbf7a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 28952, "upload_time": "2019-06-13T20:32:55", "url": "https://files.pythonhosted.org/packages/cb/8a/74e6bcebc53d38149ae3aad9fee0a17b53fe856bda7333677bb2373571a9/adaptive_scheduler-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "2e73c34c032d1f585d6863ed13808ee7", "sha256": "c36521caf3b32e5f074bd6d4402827fe5445b78c74dd60e5166697219b3e05dc" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "2e73c34c032d1f585d6863ed13808ee7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 30633, "upload_time": "2019-06-14T21:14:15", "url": "https://files.pythonhosted.org/packages/f6/d4/5b4e66a195b408b49fedaba87af4d6feac988d0e4c23ca48067dc3879abf/adaptive_scheduler-0.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0069967f271fd90bd1be24a6cc9ce8f7", "sha256": "197d2e919b883845c0855c1fff356d708d3345e38cf165bd25967979928e012e" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.8.tar.gz", "has_sig": false, "md5_digest": "0069967f271fd90bd1be24a6cc9ce8f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 29681, "upload_time": "2019-06-14T21:14:17", "url": "https://files.pythonhosted.org/packages/74/65/f188d90484da0ff8f1cc3dc1782c67afb3d64159bb8bba159e400f56f3b2/adaptive_scheduler-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "781ad1eea5c39ce0ab0cadcfdca46e53", "sha256": "a21e499e10111dcc8d3ec69b3598598f8aed70cada6c8cd5bc3bf49e5f724e3b" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.9-py3-none-any.whl", "has_sig": false, "md5_digest": "781ad1eea5c39ce0ab0cadcfdca46e53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 32105, "upload_time": "2019-06-19T18:18:37", "url": "https://files.pythonhosted.org/packages/9d/14/e99bae7395abc9f86294b0bfaeb665634e1a1b2c6f2e2fe0270913311de8/adaptive_scheduler-0.2.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37036c686c8ebe3fda7f4c444dc7d576", "sha256": "62faf818cf1ca2adc378a49b9f360207071ec1e0604d908381be54d5b8b97fb8" }, "downloads": -1, "filename": "adaptive_scheduler-0.2.9.tar.gz", "has_sig": false, "md5_digest": "37036c686c8ebe3fda7f4c444dc7d576", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 31233, "upload_time": "2019-06-19T18:18:39", "url": "https://files.pythonhosted.org/packages/4c/c8/6e5f9fb1338ac0e70483fac79e9e1664b4914f5738cb6b106ce0a7d7e9e3/adaptive_scheduler-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "67e6e8037531acb57778607005b7fda2", "sha256": "716f448ba616e5566cd5c8843d77ed0674c6e59d6547110d2fb1e1ef7e778b80" }, "downloads": -1, "filename": "adaptive_scheduler-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "67e6e8037531acb57778607005b7fda2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 33472, "upload_time": "2019-06-29T01:44:00", "url": "https://files.pythonhosted.org/packages/7a/61/550ca90e4750accb90a0d16244a9f7c3c03c9406eaa347a3c9c45778f55c/adaptive_scheduler-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b2423b6d631bf09b478832e12932bfb", "sha256": "0708a9f7f21a946cb97a8d7328cd520f278401bf08679a838bb62eaf572e846b" }, "downloads": -1, "filename": "adaptive_scheduler-0.3.0.tar.gz", "has_sig": false, "md5_digest": "1b2423b6d631bf09b478832e12932bfb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 32777, "upload_time": "2019-06-29T01:44:02", "url": "https://files.pythonhosted.org/packages/66/c2/5c06f71132869339881bf7e1e442ac69791c80425d125a2110d46ae41632/adaptive_scheduler-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e98d82d6ca179c0a98ba49ae3fa869cb", "sha256": "2ce6ca74d6227f19ccbb8601e98e67b1d10662fa1a64a63895a988eb1ce14346" }, "downloads": -1, "filename": "adaptive_scheduler-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e98d82d6ca179c0a98ba49ae3fa869cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 33665, "upload_time": "2019-07-08T18:23:52", "url": "https://files.pythonhosted.org/packages/81/cb/077e3932aff5e9a3a9f605800db29ce7b2338876f3b81bafbe910285d85d/adaptive_scheduler-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "232bb359dcfd3020e856f7f1b8808f62", "sha256": "efd535e1a9d36634defb69aa2a384141d6f51b95b7a56b4154116547d933951f" }, "downloads": -1, "filename": "adaptive_scheduler-0.3.1.tar.gz", "has_sig": false, "md5_digest": "232bb359dcfd3020e856f7f1b8808f62", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 32957, "upload_time": "2019-07-08T18:23:54", "url": "https://files.pythonhosted.org/packages/5b/67/d5dc4c7b7c67fb7caa4c7d51ea5ce3b8e7e5d235297a8f417c41f82e3933/adaptive_scheduler-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "29a46bb7ba923d13fa71c221c2ba791b", "sha256": "62e31aa2827f8d37f5abca2d87304d6bdaa751fe28fe09d39ef81195de06e74f" }, "downloads": -1, "filename": "adaptive_scheduler-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "29a46bb7ba923d13fa71c221c2ba791b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 33694, "upload_time": "2019-09-02T13:08:17", "url": "https://files.pythonhosted.org/packages/cd/2c/7d44e514904d0ef404eb7cf3ac66a20574903166f39f42834cc12620ec01/adaptive_scheduler-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3454e77fee6179f2022b268d0aa38290", "sha256": "2a765838ba474590c54823b8f6f2e46e1d72a14e0348aa5cc316e410d6ca54a5" }, "downloads": -1, "filename": "adaptive_scheduler-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3454e77fee6179f2022b268d0aa38290", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 33647, "upload_time": "2019-09-02T13:08:19", "url": "https://files.pythonhosted.org/packages/31/3e/1bc0d0503281eb3c20453064223cfcda6144bc10319e251304bd83fd15a1/adaptive_scheduler-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "4b3c8f64c870e6b0fb9b9e270f3c1bda", "sha256": "421a78ca265acea0816101d530703696a49b7c7b43db6a907a334d0fbf3dbe9d" }, "downloads": -1, "filename": "adaptive_scheduler-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4b3c8f64c870e6b0fb9b9e270f3c1bda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 33746, "upload_time": "2019-09-02T14:23:42", "url": "https://files.pythonhosted.org/packages/80/90/f52b2000d838412582e3ec881d13a722184f1cc3a2fadea00c8e08b906c6/adaptive_scheduler-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3fb83050ab068c520ecb2eace68df3e1", "sha256": "642a35ec232d2e9ebaf61508cdb2383b0781ade974bcd1efac37cf4d3b647111" }, "downloads": -1, "filename": "adaptive_scheduler-0.4.1.tar.gz", "has_sig": false, "md5_digest": "3fb83050ab068c520ecb2eace68df3e1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 33650, "upload_time": "2019-09-02T14:23:44", "url": "https://files.pythonhosted.org/packages/32/5f/0998a051659d0a66842134754fa1c7db0b11ba5cf817ea408b168026521d/adaptive_scheduler-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "efbfb10dd4d953efb9d4f5b4fab7ae83", "sha256": "4ada96e7d489908940a36b0672020577e4b183e741b2e3f57d2ec764b73688b0" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "efbfb10dd4d953efb9d4f5b4fab7ae83", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 34049, "upload_time": "2019-09-03T14:22:39", "url": "https://files.pythonhosted.org/packages/d4/3c/074eab68facbcaf21c3988450d58783d7ebb66db70ef3ee31e80d772b184/adaptive_scheduler-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e6b4583a6534f78cb7bdadfa4f11dc99", "sha256": "6ae43a7033ea84638ea7c9ba4a723f7572e6b205752eb5e32e8b96ff0dbc23cd" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.0.tar.gz", "has_sig": false, "md5_digest": "e6b4583a6534f78cb7bdadfa4f11dc99", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 33885, "upload_time": "2019-09-03T14:22:40", "url": "https://files.pythonhosted.org/packages/6d/16/7cce8b1dfe7c2c6180100f1e99bdbfb2f05235ea2b3f50aaeaf23a8ca48b/adaptive_scheduler-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "faf6fffc4074daf2f58b8e20886a8d42", "sha256": "96a727561588109def26cd17467c55049bcce2f487647a66598c8933f3ad0210" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "faf6fffc4074daf2f58b8e20886a8d42", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 34105, "upload_time": "2019-09-03T14:57:11", "url": "https://files.pythonhosted.org/packages/b0/91/7d3de1c67b97227c56dbf8f07881cbda2366e76fbb22333ff876e8d129c9/adaptive_scheduler-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db6058b08a565246e78dcf280a4054ba", "sha256": "cf8280ae5e967c61afe2c9fe16949efae13f1b3e3f36e3eac6cbb5422cfdbc3e" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.1.tar.gz", "has_sig": false, "md5_digest": "db6058b08a565246e78dcf280a4054ba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 33930, "upload_time": "2019-09-03T14:57:13", "url": "https://files.pythonhosted.org/packages/22/06/d9d53fc2f512d38dc9489436b86dd5faf0a723914bde0f23d77c2850aa1a/adaptive_scheduler-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "19a3fce05aab648ee597b737c81dcc27", "sha256": "cf846f6d6bb4a9cebd41272b6a948f8410984bcf48c18856e89fe04443078030" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "19a3fce05aab648ee597b737c81dcc27", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 34066, "upload_time": "2019-09-04T07:38:04", "url": "https://files.pythonhosted.org/packages/b3/1a/ccd8fd94fd488dc271ec15142c09d47cb7118adeb5fb23ae09f046b46594/adaptive_scheduler-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23b4470886d179afc0e62c7584805071", "sha256": "60891784053df7420e96ac3c643c262b6ff2bc5c832950ae4ace7d66d1a48c04" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.2.tar.gz", "has_sig": false, "md5_digest": "23b4470886d179afc0e62c7584805071", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 33872, "upload_time": "2019-09-04T07:38:06", "url": "https://files.pythonhosted.org/packages/22/54/2e94dd822bb4977d348d78c630d9c04beaf8e3a42fbad365c4c25c03ff3d/adaptive_scheduler-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "f2bb1c5fd26a0e80c993ddc8d6235c29", "sha256": "23affa1a3160cc8ce32e6c96d56290b7583e3b761505dca33aea4163b3ee3358" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f2bb1c5fd26a0e80c993ddc8d6235c29", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 34363, "upload_time": "2019-09-04T15:02:30", "url": "https://files.pythonhosted.org/packages/99/eb/1f268b6aef079894b3986b147c6c1c2575143bb8cac7144dfd4359625264/adaptive_scheduler-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c00b80a689b7dade630e0ca6b4732888", "sha256": "70d3322c962259681b61ce198034697609074a1f3c1c3942a04f0d490b707d56" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.3.tar.gz", "has_sig": false, "md5_digest": "c00b80a689b7dade630e0ca6b4732888", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34135, "upload_time": "2019-09-04T15:02:32", "url": "https://files.pythonhosted.org/packages/98/35/8af05cab3104fa35c382e328e38021f8dab937d7719b97d24e3e78ae8b40/adaptive_scheduler-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "f049ad331fe2b565cc389d59dccaf26c", "sha256": "2170430f2c771dac20a99515b1003a8172c78336ede65fcf7b287db805c447d1" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f049ad331fe2b565cc389d59dccaf26c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 34371, "upload_time": "2019-09-06T11:15:11", "url": "https://files.pythonhosted.org/packages/e4/ed/b20467c40881cd738303cbf6e20677d4e9bd155ed1fbaadc18ae4d5a4a5f/adaptive_scheduler-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2f0b81bdfd48ea54a877f1fb431ae0f", "sha256": "6c5eada7f23252a856ec822e908d2aceb59633f14929e5aaa821c3c8c40d1447" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.4.tar.gz", "has_sig": false, "md5_digest": "a2f0b81bdfd48ea54a877f1fb431ae0f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34157, "upload_time": "2019-09-06T11:15:13", "url": "https://files.pythonhosted.org/packages/70/55/ebfa1c00aec8a78aa4a97541182d5f4cb9dd7dcf84d80ca9c533c4c2f5a6/adaptive_scheduler-0.5.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f049ad331fe2b565cc389d59dccaf26c", "sha256": "2170430f2c771dac20a99515b1003a8172c78336ede65fcf7b287db805c447d1" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f049ad331fe2b565cc389d59dccaf26c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 34371, "upload_time": "2019-09-06T11:15:11", "url": "https://files.pythonhosted.org/packages/e4/ed/b20467c40881cd738303cbf6e20677d4e9bd155ed1fbaadc18ae4d5a4a5f/adaptive_scheduler-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2f0b81bdfd48ea54a877f1fb431ae0f", "sha256": "6c5eada7f23252a856ec822e908d2aceb59633f14929e5aaa821c3c8c40d1447" }, "downloads": -1, "filename": "adaptive_scheduler-0.5.4.tar.gz", "has_sig": false, "md5_digest": "a2f0b81bdfd48ea54a877f1fb431ae0f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34157, "upload_time": "2019-09-06T11:15:13", "url": "https://files.pythonhosted.org/packages/70/55/ebfa1c00aec8a78aa4a97541182d5f4cb9dd7dcf84d80ca9c533c4c2f5a6/adaptive_scheduler-0.5.4.tar.gz" } ] }