{ "info": { "author": "Ben West", "author_email": "bewest+openaps@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Programming Language :: Python", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries" ], "description": "# openaps utility belt\n\nThese are the [core utilities][proposal] needed to develop an open source\nartificial pancreas.\n\nThis is part of a series of tools to support a self-driven DIY\nimplementation based on the OpenAPS reference design. The tools may be\ncategorized as *monitor* (collecting data about environment, and\noperational status of devices and/or aggregating as much data as is\nrelevant into one place), *predict* (make predictions about what should\nhappen next), or *control* (enacting changes, and feeding more data back\ninto the *monitor*). \n\nBy proceeding using these tools or any piece within, you agree to the\ncopyright (see LICENSE.txt for more information) and release any\ncontributors from liability. \n\nCheck out [the openaps docs][the openaps docs] to help get you started.\n\n*Note:* This is intended to be a set of tools to support a self-driven DIY\nimplementation and any person choosing to use these tools is solely\nresponsible for testing and implement these tools independently or\ntogether as a system. The [DIY part of OpenAPS is important]\n(http://bit.ly/1NBbZtO). While formal training or experience as an\nengineer or a developer is not required, what *is* required is a growth\nmindset to learn what are essentially \"building blocks\" to implement an\nOpenAPS instance. This is not a \"set and forget\" system; it requires\ndiligent and consistent testing and monitoring to ensure each piece of\nthe system is monitoring, predicting, and performing as desired. The\nperformance and quality of your system lies solely with you.\n\nAdditionally, this community of contributors believes in \"paying it\nforward\", and individuals who are implementing these tools are asked to\ncontribute by asking questions, helping improve documentation, and\ncontribute in other ways.\n\n[GettingStarted]: https://github.com/openaps/openaps/wiki/GettingStarted\n[wiki]: https://github.com/openaps/openaps/wiki\n[proposal]: https://gist.github.com/bewest/a690eaf35c69be898711\n[the openaps docs]: https://github.com/openaps/docs\n\n![openaps loop hardware](https://cloud.githubusercontent.com/assets/394179/9372378/c2023bc2-4692-11e5-8254-fe940f847536.png)\n\nThis is not an artificial pancreas, but rather tools which independently allow:\n\n* monitor - Collect data about environment, and operational status of devices.\n Aggregate as much data relevant to therapy as possible into one place.\n We propose a tool, `openaps-use` as a proof of concept.\n\n* predict - Can make predictions about what should happen next.\n\n* control - Can enact changes in the world: emails, placing phone calls, SMS,\n issuing commands to pumps.\n\n\n## Install\n\nThere are two ways to install openaps, from source, and as a python package via\nsetuptools.\n\nThe following apt-get dependencies are required (they can be installed through\nvariety of means, in debian/ubuntu and apt based systems the following packages\nare recommended/required:\n\n sudo apt-get install python python-dev python-setuptools python-software-properties python-numpy\n\n\n#### From source\n\nSee [GettingStarted][GettingStarted] for more important information\nabout versions of software dependencies, but to install from source\nclone this repo, and issue:\n\n sudo python setup.py develop\n\n#### From pypi\n\nTo [install from pypi](https://pypi.python.org/pypi/openaps):\n\n sudo pip install -U openaps\n\nThis installs `openaps` system wide.\nDo not use `openaps` commands in the the openaps repo. Only use the\n`openaps` directory for hacking on the core library, or for managing\nupgrades through git. Running `openaps` inside of the openaps\nsource directory will error in the best case, and mess up your\n`openaps` install in the worst case.\n\n##### Updating\n\n sudo easy_install -ZU openaps\n\n### Usage\n\n usage: openaps [-h] [-c C C] [-C CONFIG] [--version] [command] ...\n\n#### openaps - openaps: a toolkit for DIY artificial pancreas system\n\n##### positional arguments:\n * command\n * args\n\noptional arguments:\n\n -h, --help show this help message and exit\n -c C C\n -C CONFIG, --config CONFIG\n --version show program's version number and exit\n\n Utilities for developing an artificial pancreas system.\n openaps helps you manage and structure reports for various devices.\n\n\nAll of the `device` and `report` `add` and `show` commands modify\n`openaps.ini` in the current working directory, which is assumed to be\na git repo explicitily dedicated to helping develop and configure a\n`DIY` artificial pancreas system. This means `openaps` is an SDK for\nan artificial pancreas system, not an artificial pancreas system.\n\nSee `openaps init` for setting up a brand new instance of your own\n`openaps`, or see the notes below for details on how to convert an\nexisting git repo into an instance of `openaps`.\n\n## Common workflows:\n\n openaps init\n openaps device \n \n Device commands allow you to match a device driver, with a name\n and a configuration.\n \n add - add device config to `openaps.ini`\n remove - remove device from `openaps.ini`\n show - print device uri, list all by default\n\n openaps use [--format ]\n [--output ]\n \n \n [use-args...]\n\n For each device registered, the vendor implementation provides a\n number of uses. This allows users to experiment with reports.\n\n openaps report \n\n Reports match a device use to a format and filename.\n\n add - add report config to `openaps.ini`\n remove - remove report from `openaps.ini`\n show - print report uri, list all by default\n invoke - run and save report in file\n\n### Init new openaps environment\n\nDo not use `openaps` commands in the the openaps repo. Only use the\n`openaps` directory for hacking on the core library, or for managing\nupgrades through git. Instead change to a new directory, not managed\nby git: `cd ~/Documents`.\n\nSetup of new instance: \n\n openaps init myopenaps - this creates an instance of openaps in a new\n directory, called myopenaps\n \n\n cd myopenaps - change directory to root of new repo\n\nA valid instance of openaps is a git repo with a file called\n`openaps.ini` present.\n\n`openaps` will track configuration and some status information inside of\n`openaps.ini`.\n\n### Init existing git repo as openaps-environment \n\nIf you already have a git repo which you would like to\nbecome a valid openaps environent, in the root of your repo, run:\n\n touch openaps.ini\n git add openaps.ini\n git commit -avm 'init openaps'\n\nNow, wth a valid `openaps` environment, you can register **device**s for\nuse. A **device** is implemented by a **vendor**. `openaps` provides a\nmodular, language and process independent environment for creating\nvendors and devices.\n\n### Managing devices\n\nTo register devices for use, see `openaps device` commands:\n\n openaps device -h\n openaps device add [opts...]\n eg:\n # register a medtronic device named pump\n openaps device add pump medtronic 665455\n # register a dexcom device named cgm\n openaps device add cgm dexcom\n\n### Using devices\nNow that devices are known, and we have a variety of commands\navailable. We can explore how to produce reports by using devices\nwith the `openaps use` command:\n\n openaps use [opts]\n\n`openaps use` commands can only be used after devices have been added to\nthe `openaps.ini` config using `openaps device add`.\nEg:\n\n openaps use pump -h - show available commands for the\n device known as \"pump\"\n openaps use pump iter_pump 100 - get last 100 pump history records\n from the device called pump\n openaps use cgm -h - show available commands for the\n device known as \"cgm\"\n openaps use cgm glucose\n\n### Save reports\nAfter experimenting with `openaps use` commands, users can save reports\nusing the `openaps report` commands.\n`openaps report` commands map `openaps use` commands to filenames:\n\n#### `openaps report add`\n\nAdding a report means configuring a `use` command with a format and a\noutput, most commonly, a filename is used as the output.\n\n openaps report add [opts]\n\n # add a report, saved in a file called pump-history.json, which is\n # JSON format, from device pump using use iter_pump.\n openaps report add pump-history.json JSON pump iter_pump 100\n\n # add a report, saved in a file called glucose.json, which is\n # JSON format, from device cgm using use glucose.\n openaps report add glucose.json JSON cgm glucose\n\n### `invoke` reports to run and save the results of the `use`\n\n#### `openaps report invoke`\n\nInvoking a report means running a `use` command according to it's\nconfiguration.\n\n # invoke the report to create glucose.json\n openaps report invoke glucose.json\n\n # invoke the report to create pump-history.json\n openaps report invoke pump-history.json\n\nAll commands support tab completion, and -h help options to help\nexplore the live help system.\n\n\n### Sample `use` commands\n\n#### `medtronic`\n\nAssuming device is named `pump`:\n\n usage: openaps-use pump [-h]\n {Session, bolus, iter_glucose, iter_pump,\n model, mytest, read_basal_profile_A,\n read_basal_profile_B,\n read_basal_profile_std, read_carb_ratios,\n read_clock, read_current_glucose_pages,\n read_current_history_pages,\n read_glucose_data, read_history_data,\n read_selected_basal_profile,\n read_settings, read_status,\n read_temp_basal, reservoir, resume_pump,\n scan, set_temp_basal, settings, status,\n suspend_pump}\n ...\n\n positional arguments:\n {Session, bolus, iter_glucose, iter_pump, model, mytest,\n read_basal_profile_A, read_basal_profile_B,\n read_basal_profile_std, read_carb_ratios, read_clock,\n read_current_glucose_pages, read_current_history_pages,\n read_glucose_data, read_history_data,\n read_selected_basal_profile, read_settings, read_status,\n read_temp_basal, reservoir, resume_pump, scan, set_temp_basal,\n settings, status, suspend_pump}\n Operation\n Session session for pump\n bolus Send bolus.\n iter_glucose Read latest 100 glucose records\n iter_pump Read latest 100 pump records\n model Get model number\n mytest Testing read_settings\n read_basal_profile_A\n Read basal profile A.\n read_basal_profile_B\n Read basal profile B.\n read_basal_profile_std\n Read default basal profile.\n read_carb_ratios Read carb_ratios.\n read_clock Read date/time of pump\n read_current_glucose_pages\n Read current glucose pages.\n read_current_history_pages\n Read current history pages.\n read_glucose_data Read pump glucose page\n read_history_data Read pump history page\n read_selected_basal_profile\n Fetch the currently selected basal profile.\n read_settings Read settings.\n read_status Get pump status\n read_temp_basal Read temporary basal rates.\n reservoir Get pump remaining insulin\n resume_pump resume pumping.\n scan scan for usb stick\n set_temp_basal Set temporary basal rates.\n settings Get pump settings\n status Get pump status (alias for read_status)\n suspend_pump Suspend pumping.\n\n optional arguments:\n -h, --help show this help message and exit\n\nSome commands like `read_glucose_data`, `read_history_data` take a\n`page` parameter, describing which page to fetch.\n\nSome commands like `bolus`, `set_temp_basal`, take an `input`\nparameter which may be `-` for `stdin` or a filename containing a json\ndata structure which represents the request.\n\nAll commands support `-h` and `--help` output.\n\n#### `dexcom`\n\n\n usage: openaps-use cgm [-h] {glucose,iter_glucose,scan} ...\n\n positional arguments:\n {glucose,iter_glucose,scan}\n Operation\n glucose glucose (will pull all records)\n iter_glucose glucose ('n' for the number of records you want)\n scan scan for usb stick\n\n optional arguments:\n -h, --help show this help message and exit\n\n## License\nMIT License\n\nCopyright (c) 2016 Ben West\nCopyright (c) 2015 Ben West\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://openaps.org/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "openaps", "package_url": "https://pypi.org/project/openaps/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/openaps/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://openaps.org/" }, "release_url": "https://pypi.org/project/openaps/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "DIY Open Source Artificial Pancreas System.", "version": "0.1.5" }, "last_serial": 2141815, "releases": { "0.0.0": [ { "comment_text": "built for Linux-3.16.0-30-generic-x86_64-with-glibc2.4", "digests": { "md5": "cc06d2aaa6e768c217cb74655a5c2401", "sha256": "87813e536bf3f650a140e69b370ebca7add17f97366cddb4762d769831d82def" }, "downloads": -1, "filename": "openaps-0.0.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "cc06d2aaa6e768c217cb74655a5c2401", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 39104, "upload_time": "2015-05-11T00:39:05", "url": "https://files.pythonhosted.org/packages/e9/a6/8de774a5af985b793df057da0445675c324fbf44b0e0c7fafe309b992f7c/openaps-0.0.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "62b8ba1f79040dff0d115e80c6eaa97d", "sha256": "9586e543e12e83007c8ec0588c1ffcd1ef5b461157108ca2b5854666cbebc99d" }, "downloads": -1, "filename": "openaps-0.0.0.tar.gz", "has_sig": false, "md5_digest": "62b8ba1f79040dff0d115e80c6eaa97d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22412, "upload_time": "2015-05-11T00:39:01", "url": "https://files.pythonhosted.org/packages/e3/56/55cb772cf65db45a1f085359538737ff3299b38b40091f95f7fce4bcc530/openaps-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "aef5d4f816184922836a47537f87129a", "sha256": "95f66b5edb7c27f70aea73131f108d1f0fab944fa3d0ff0b277399f77bd4bb1e" }, "downloads": -1, "filename": "openaps-0.0.1-py2.7.egg", "has_sig": false, "md5_digest": "aef5d4f816184922836a47537f87129a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 69472, "upload_time": "2015-05-19T05:42:04", "url": "https://files.pythonhosted.org/packages/74/61/0d28a774bf5b139e5542df289f01e56c7fbf00bfdbaa3b1f683744790348/openaps-0.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "67396196650ab2e9243db4f60abbaed4", "sha256": "a724cdab7862c9410f1fff73cdb2a222f12377c2d5af7cb50eae38df54f39af1" }, "downloads": -1, "filename": "openaps-0.0.1.tar.gz", "has_sig": false, "md5_digest": "67396196650ab2e9243db4f60abbaed4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24400, "upload_time": "2015-05-19T05:41:56", "url": "https://files.pythonhosted.org/packages/6a/30/776b84d79898eb8ccf972fa225eabcc65b15995161d0e0705c1577e9146a/openaps-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "a4036f2eafb4a0a38701c6cb4ed1b5fe", "sha256": "af1de2b904f048c1df11edd1eba25ec910125a07e718c476e8c702faf035da23" }, "downloads": -1, "filename": "openaps-0.0.10-py2.7.egg", "has_sig": false, "md5_digest": "a4036f2eafb4a0a38701c6cb4ed1b5fe", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 100709, "upload_time": "2016-02-06T18:53:00", "url": "https://files.pythonhosted.org/packages/bc/3f/0ab751dc202f29a095b08b2058e35ec54736c29b4b4dd42ce819cf548879/openaps-0.0.10-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "31353750108d125ad0ec7cc24d15097d", "sha256": "f349a1f6d1adc79a8cc410fd4b57b42df3170cf9b17b32612b57864e2f34ecd6" }, "downloads": -1, "filename": "openaps-0.0.10.tar.gz", "has_sig": false, "md5_digest": "31353750108d125ad0ec7cc24d15097d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30097, "upload_time": "2016-02-06T18:52:54", "url": "https://files.pythonhosted.org/packages/36/3f/a8dd64b6ffad4cc64f17fb84101c13baef1abc42d53e5814199eb32062b8/openaps-0.0.10.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "91db4bf59cfd3493848c5f3ebd18cc4d", "sha256": "c74f5084dd6e85ed5e8a4ddb11f654a8ffa1c611b6042a1b3fc39c6d99d9605d" }, "downloads": -1, "filename": "openaps-0.0.2-py2.7.egg", "has_sig": false, "md5_digest": "91db4bf59cfd3493848c5f3ebd18cc4d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 69670, "upload_time": "2015-06-16T02:42:27", "url": "https://files.pythonhosted.org/packages/aa/d5/bab149bc5e7ed2d224ae62b61dd995e2e8789a3828ba448e209497c02a2d/openaps-0.0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "6c6d5045ded15dce1810b0cb862acba5", "sha256": "9590350764df1e5604c263510ccc6465eae3728eb879126783783dd0506c3b07" }, "downloads": -1, "filename": "openaps-0.0.2.tar.gz", "has_sig": false, "md5_digest": "6c6d5045ded15dce1810b0cb862acba5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24821, "upload_time": "2015-06-16T02:42:23", "url": "https://files.pythonhosted.org/packages/bf/d1/db42acf19f77990ca08516df58ebb1d4ef17af68abed86700c79b7e03829/openaps-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "2fbf7d2223d8d9ea0b933ff5cf91469a", "sha256": "2ee4436cc26266f2e5e1a165cf147338942f8687ddab6823f82846e7224c7d3f" }, "downloads": -1, "filename": "openaps-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2fbf7d2223d8d9ea0b933ff5cf91469a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25384, "upload_time": "2015-06-22T21:10:59", "url": "https://files.pythonhosted.org/packages/9a/8f/325550a08cc9964835522de297f36a09b724c5fc799c52d659077f3bb33c/openaps-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "422304cfb9d31f7611f79140885e0ff4", "sha256": "0d84942a8984cd7be9bf8eee715910728fc99adae85a02a19609c03c42dc630d" }, "downloads": -1, "filename": "openaps-0.0.4-py2.7.egg", "has_sig": false, "md5_digest": "422304cfb9d31f7611f79140885e0ff4", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 77816, "upload_time": "2015-07-13T00:20:00", "url": "https://files.pythonhosted.org/packages/bc/25/4be434552f5618ffb90c298f6d35dec475887c77180b44d12fe3f533fdbe/openaps-0.0.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "fdee9674c2fc11c9e33b2b612ff1a12f", "sha256": "dee296d56360c9f2ec7ea08d5df704b0d50330a06c9619f6f0bf014d424c13f2" }, "downloads": -1, "filename": "openaps-0.0.4.tar.gz", "has_sig": false, "md5_digest": "fdee9674c2fc11c9e33b2b612ff1a12f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25798, "upload_time": "2015-07-13T00:19:56", "url": "https://files.pythonhosted.org/packages/94/d4/7c42a597620ce3ec0711e0fa3f5085b2ba3377e1dcd5820986d796b4d2d9/openaps-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "2310935d3cc4427a80a284520c2e6a70", "sha256": "66e4f33eb3a650e0f2a83cb893d7ccd1e0df13a7b02ea2879b435b2984a76df3" }, "downloads": -1, "filename": "openaps-0.0.5-py2.7.egg", "has_sig": false, "md5_digest": "2310935d3cc4427a80a284520c2e6a70", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 78598, "upload_time": "2015-08-20T00:11:18", "url": "https://files.pythonhosted.org/packages/ac/b4/06b928f046ab1d6f4b0603256996fc4fb864345e118e1b1c5238bceadf42/openaps-0.0.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f59557d0c30eec61e10bd5c329141843", "sha256": "68bc20f5330cd27a98226744831c977ac3c9a4469657d3b04e7473c525e99fa7" }, "downloads": -1, "filename": "openaps-0.0.5.tar.gz", "has_sig": false, "md5_digest": "f59557d0c30eec61e10bd5c329141843", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26182, "upload_time": "2015-08-20T00:11:14", "url": "https://files.pythonhosted.org/packages/7f/05/be35d47ada4afc43968856fd423e325d10e37041085d632989d6a18db228/openaps-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "c2014e7e9d93fc6bb7ef95989bade391", "sha256": "ec28fdcd3190db66f14782d881635eba536f2d917d527d9853ef6931fe89b46e" }, "downloads": -1, "filename": "openaps-0.0.6-py2.7.egg", "has_sig": false, "md5_digest": "c2014e7e9d93fc6bb7ef95989bade391", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 78597, "upload_time": "2015-08-20T00:12:31", "url": "https://files.pythonhosted.org/packages/b9/aa/33ee50568b28e45a48c188ff4d35557694bb6db447807364d600b9e5f561/openaps-0.0.6-py2.7.egg" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "101bc7304ab092378bfe469d12005782", "sha256": "b43388a7d9d200dedf6769cedfe8d9f48ee449669c917fae3e7c58ee50408d63" }, "downloads": -1, "filename": "openaps-0.0.7-py2.7.egg", "has_sig": false, "md5_digest": "101bc7304ab092378bfe469d12005782", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 93672, "upload_time": "2015-10-20T03:40:43", "url": "https://files.pythonhosted.org/packages/a1/a6/ac85ca7d69a43b8a90f0c0b2e615815d6e3aec297797b2305bbc650d66ec/openaps-0.0.7-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "6e8a569daf404f99b27829e386bd504c", "sha256": "af1ac7209de5d4e64808c6ba81e6a45f74c56b286a184ab490f9b3870a818518" }, "downloads": -1, "filename": "openaps-0.0.7.tar.gz", "has_sig": false, "md5_digest": "6e8a569daf404f99b27829e386bd504c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31479, "upload_time": "2015-10-20T03:40:38", "url": "https://files.pythonhosted.org/packages/1d/23/e33063c823f2f80e593c2040775485d04b07e53a83f3b7b1f7be9ea154b9/openaps-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "6daa8d3b3d39a6bcbe6d5ff995a23245", "sha256": "3cbcbf53be393ca8b7f6d43671cdd89ad200be1f943e9e4d30fa91e80095c807" }, "downloads": -1, "filename": "openaps-0.0.8-py2.7.egg", "has_sig": false, "md5_digest": "6daa8d3b3d39a6bcbe6d5ff995a23245", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 92456, "upload_time": "2015-12-15T18:19:26", "url": "https://files.pythonhosted.org/packages/57/9b/b8cae5066ceec6416f9ae6d8c8fbd880957eaad51442f783290cf9b7b285/openaps-0.0.8-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "494601bcf0229d095ba9b0da725d7119", "sha256": "07941ca7282c5ca6a07bcef1fb08e9cb772000d22d5c1a670a8103f0764a8a9a" }, "downloads": -1, "filename": "openaps-0.0.8.tar.gz", "has_sig": false, "md5_digest": "494601bcf0229d095ba9b0da725d7119", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27276, "upload_time": "2015-12-15T18:19:35", "url": "https://files.pythonhosted.org/packages/50/ce/6c3116fd7c818c89ba2b13044f5349402734224d189da75f8b734c833355/openaps-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "e354f88319cbb2d81196507a7c0e6738", "sha256": "29c0695c0ec60a040449d1c67ea28f6ef1aec44c0a967f8389f5ec7ac11cd9e2" }, "downloads": -1, "filename": "openaps-0.0.9-py2.7.egg", "has_sig": false, "md5_digest": "e354f88319cbb2d81196507a7c0e6738", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 93778, "upload_time": "2016-01-01T20:06:01", "url": "https://files.pythonhosted.org/packages/b1/61/46e70d41ec8038c414be902839e1a573644856ec4d1d30bfcb0768106b35/openaps-0.0.9-py2.7.egg" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "8be6e9e2bbbbc850d7d43ce82646918a", "sha256": "5ac86ed8e3e8176949f694f372830b02d673fbbd915665d66fb50dd55663a541" }, "downloads": -1, "filename": "openaps-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8be6e9e2bbbbc850d7d43ce82646918a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33774, "upload_time": "2016-04-28T03:47:05", "url": "https://files.pythonhosted.org/packages/be/f4/3470311dad060349bf747c537c4fcbf9b03649d3fdb5035956f0d85a89ee/openaps-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1468d91c762fffb388b47fa247a62c5b", "sha256": "41a7ff8941d00ec4413c4fb3141b31b1577376bfa2759d8512d6d694c1996653" }, "downloads": -1, "filename": "openaps-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "1468d91c762fffb388b47fa247a62c5b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 117113, "upload_time": "2016-05-29T06:43:32", "url": "https://files.pythonhosted.org/packages/99/27/0104c0cdec578cee36fcf7c1d118a52be11a3e3fbc7fc763905f158e85e4/openaps-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "4e181877761571e629b352af37618aec", "sha256": "198fbbeee6166d18d2ba65ea0a5b1964e97a4b02e3d0656296228dea5115145a" }, "downloads": -1, "filename": "openaps-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4e181877761571e629b352af37618aec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36513, "upload_time": "2016-05-29T06:43:37", "url": "https://files.pythonhosted.org/packages/76/3d/7cb853688a772fa7a6041207b13fce5f4fec0ca3966b0d928333a1e0b966/openaps-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "23d512977f219131871d43b4225f5943", "sha256": "1d222bb7e03d572c326dc235f2b936870bb9fe7ce0e95c3fcafa51aa704fdf1d" }, "downloads": -1, "filename": "openaps-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "23d512977f219131871d43b4225f5943", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 117288, "upload_time": "2016-05-29T22:14:09", "url": "https://files.pythonhosted.org/packages/69/fa/6cd35643542dc3604f7aac325a80103b1ebdc707a48d4b8e5240b6cb2594/openaps-0.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b4df14d36a7b933e74c569b75ab82fb7", "sha256": "90263b803fafdf25ec5c5602b927a29341a1c90fc5a85b95f9a148dc6c749319" }, "downloads": -1, "filename": "openaps-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b4df14d36a7b933e74c569b75ab82fb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36577, "upload_time": "2016-05-29T22:14:14", "url": "https://files.pythonhosted.org/packages/0e/f3/739391814501ad034ce6c12552a7d042e1c156d7473b63df5c9bde789911/openaps-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e626d156bc3d7009813c549deac25807", "sha256": "42fbace23377266a55b570a8eced32456d06fecf33a9aafaf2ddb02847e9fcda" }, "downloads": -1, "filename": "openaps-0.1.3-py2.7.egg", "has_sig": false, "md5_digest": "e626d156bc3d7009813c549deac25807", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 117466, "upload_time": "2016-05-30T20:01:01", "url": "https://files.pythonhosted.org/packages/5a/db/b9414965020e57219cb9d60a8238c68a45bbbb3683092b35c1a58dea196e/openaps-0.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "97844a52c274cc06615de42f8f321d4c", "sha256": "6bb606ff9f3d57fa058b34baf1ca4111caa9d27e67135d20c7ef9e4a517169ed" }, "downloads": -1, "filename": "openaps-0.1.3.tar.gz", "has_sig": false, "md5_digest": "97844a52c274cc06615de42f8f321d4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36713, "upload_time": "2016-05-30T20:01:35", "url": "https://files.pythonhosted.org/packages/d4/c1/9d5b14e91b5db337dc17444dcbd65cab8d3622c63f40c0541e43ffead251/openaps-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9b1203c84c708786b9fdf6b4fb982b6f", "sha256": "9b7b77c282b16f5a7b8073e8fa490c80ea52279aa72b5c31a6711562aae28e43" }, "downloads": -1, "filename": "openaps-0.1.4-py2.7.egg", "has_sig": false, "md5_digest": "9b1203c84c708786b9fdf6b4fb982b6f", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 117456, "upload_time": "2016-05-30T22:20:48", "url": "https://files.pythonhosted.org/packages/2e/36/da859acb5302bd1e177108d98dc8af986cdf43a34335c35fcb6073a4ea97/openaps-0.1.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "9c204b2f8495b04af693afde5b7683be", "sha256": "5e7dc1adde1323e208b5ac1003a8aecee230ceb93db93e2976def15cc33c3db2" }, "downloads": -1, "filename": "openaps-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9c204b2f8495b04af693afde5b7683be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36712, "upload_time": "2016-05-30T22:21:28", "url": "https://files.pythonhosted.org/packages/a6/f8/888198128913581ab6b0ab2c0317c923d691207122693deab44ba0d6d8d0/openaps-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "6de31eb735b4b27da179a30fdf48746d", "sha256": "95b0dcc576ce5b0a4d872d4bb66348ca2f747f3bed6d79ab83d4fba1a6240b44" }, "downloads": -1, "filename": "openaps-0.1.5-py2.7.egg", "has_sig": false, "md5_digest": "6de31eb735b4b27da179a30fdf48746d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 117657, "upload_time": "2016-05-31T03:12:10", "url": "https://files.pythonhosted.org/packages/a5/4b/e286078073a257633cfe5e82c0b44b3e95951ef324485fa865a20f01b8a4/openaps-0.1.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "d8fa03fd53f46ad1b5a332a21130af44", "sha256": "bdb48384dcc6463d424338e33f87faa5324f77bc50ee8924583d097363377cd4" }, "downloads": -1, "filename": "openaps-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d8fa03fd53f46ad1b5a332a21130af44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36807, "upload_time": "2016-05-31T03:13:16", "url": "https://files.pythonhosted.org/packages/fb/c5/bbbabaf067adb6da839a29dee46a03eddd72f2ce3a218bc0e0353485e629/openaps-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6de31eb735b4b27da179a30fdf48746d", "sha256": "95b0dcc576ce5b0a4d872d4bb66348ca2f747f3bed6d79ab83d4fba1a6240b44" }, "downloads": -1, "filename": "openaps-0.1.5-py2.7.egg", "has_sig": false, "md5_digest": "6de31eb735b4b27da179a30fdf48746d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 117657, "upload_time": "2016-05-31T03:12:10", "url": "https://files.pythonhosted.org/packages/a5/4b/e286078073a257633cfe5e82c0b44b3e95951ef324485fa865a20f01b8a4/openaps-0.1.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "d8fa03fd53f46ad1b5a332a21130af44", "sha256": "bdb48384dcc6463d424338e33f87faa5324f77bc50ee8924583d097363377cd4" }, "downloads": -1, "filename": "openaps-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d8fa03fd53f46ad1b5a332a21130af44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36807, "upload_time": "2016-05-31T03:13:16", "url": "https://files.pythonhosted.org/packages/fb/c5/bbbabaf067adb6da839a29dee46a03eddd72f2ce3a218bc0e0353485e629/openaps-0.1.5.tar.gz" } ] }