{ "info": { "author": "CS207 Group 7", "author_email": "benrafetto@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Build Tools" ], "description": "# cs207-FinalProject\n### This is the cs207 final project repo for group 7\n[![Build Status](https://travis-ci.org/CS207G7/cs207-FinalProject.svg?branch=master)](https://travis-ci.org/CS207G7/cs207-FinalProject)\n[![Coverage Status](https://coveralls.io/repos/github/CS207G7/cs207-FinalProject/badge.svg?branch=master)](https://coveralls.io/github/CS207G7/cs207-FinalProject?branch=master)\n\n### `chemkin` -- Chemical Kinetics Computational toolkit\n\nThis `chemkin` is a collection of algorithms aimed at predicting the time evolution of species concentration, finding the rate of change of a chemical species and calculating the rate of change of a certain specie. For multiple elementary reactions the rate of change follows the form:\n\n\n\n`chemkin` is designed for flexibility, portability, easiness of use and easiness of extension. Its software design follows an object-oriented approach and its code is written on Python.\n\n\nInstallation\n------------\nInstall the package with `pip3 install cs207_g7`, and then `from kinetics import chemkin` and you can access any function you wish.\n\nHow to Run Tests\n------------\nIf you would like run tests, please use the following steps:\n1. Clone our github repository to your local computer\n2. Navigate into the cs207-FinalProject folder\n3. pytest kinetics \n\nMain Utilities\n------------\n### Parse raw reactions from XML\n\n```python\nparsed = chemkin.ReactionParser('path_to_reaction_xml')\n```\nparse the XML and obtain the following reaction details:\n\n1. species\n2. basic information, such as reaction id, reaction type, reaction equations, and etc.\n3. `v1` and `v2` for each reaction\n\n### Wrap parsed raw reactions into Reaction class\n```python\nreactions = chemkin.Reaction(parsed, T)\n```\nwrap the reactions information into a Reaction Class. Temperature T at this step.\n\n### Obtain reaction components for each reaction\n```python\nV1, V2 = reactions.reaction_components()\n```\nsince there could be multiple reactions inside a given reaction set, \nwe stack each `v1` into `V1`, and each `v2` to `V2`\n\n### Obtain reaction coeffs for each reaction\n```python\nk = reactions.reaction_coeff_params()\n```\nsince the coefficient type is implicity given in the XML file. If `Arrhenius` is found, we check if `b`\nis given to decide using modified or regular arr; if `Constant` is found, we use constant coeff. \nwe only need user to provide T of the current reaction set, and return the list of reaction coeffs. Notice that this function can handle both reversible and non-reversible reactions. If your reaction set contains both reversible and non-reversible reactions, no worries, the function can also handle them. We will show how we handle reversible actions later.\n\n### Obtain reaction rates for each reaction\n```python\nrr = chemkin.ChemKin.reaction_rate(V1, V2, X, k)\n```\nThe last thing we need user to provide is the `X`: concentration of species. With `V1`, `V2`, and `k` computed,\nuser can easily obtian reaction rate for each speicies.\n\nHow to Handle Reversible Reactions\n------------\n### NASA polynomial coeffs\nWe first build up a database contains the NASA polynomial coeffs for each species. We can easily obtain the NASA coeffs for any species by\n```python\nget_nasa_coeffs()\n```\nBased on the T given, the coefficients will be extracted correspondingly.\n### Enthalpy, H_over_RT\nThen, we calculate the Enthalpy using the coefficients for each specie and the reaction's temperature. To obtain the Enthaply we used the following method\n```python\nH_over_RT()\n```\nBased on the T given, the Entalphy will be calculated following the form:\n\n### Entropy, S_over_T\nAfter, we calculate the Entropy using the coefficients for each specie and the reaction's temperature. To obtain the Entropy we used the following method\n```python\nS_over_R()\n```\nBased on the T given, the Entropy will be calculated following the form:\n\n### Backward Reaction Coefficients\nThen, we calculated the backward reaction coefficients using the following method:\n```python\nbackward_coeffs()\n```\nBased on the forward reaction rates, the backwards reaction coefficients will be calculated following the form:\n\n### Reversible Reaction Rate\nFor reversible elementary reactions the rate of change follows the form:\n\n\nA Complete Example\n------------\nThe following code snippet shows an entire example that computes the reaction rate:\n\n```python\nfrom kinetics.chemkin import Reaction, ReactionParser, ChemKin\n\nT = 750\nX = [2, 1, 0.5, 1, 1 ,0.5, 0.5, 0.5]\nreactions = Reaction(ReactionParser('your_xml'), T)\nV1, V2 = reactions.reaction_components()\nk = reactions.reaction_coeff_params()\nrrs = ChemKin.reaction_rate(V1, V2, X, k)\nprint ( rrs )\n```\n\nNew Feature : Centralized History!\n------------\n### Introduction - Motivation and Feature Description\n\nFor too long, chemists around the world have had to run all their reaction rates individually, with no idea what others were running, and no way to easily share their work. In order to save on computational complexity and runtime, we have developed a feature that records all the details of any reaction set that is run.\n\nOur library will keep track of all elementary reactions computed by a user, and then store those in a central database for later access by not only the original user, but also anyone else around the world.\n\nIn order to make this accessible to everyone, we have developed a beautiful web interface allowing users to search based on specie, temperature, and reversible/non-reversible reactions.\n\nWe think that the feature will be really useful for scientists interested in building their own database of elementary reactions. Indeed, the devised feature allow the user to explore reactions without the need for computing again.\n\nOur feature ultimately allows the user to find quickly the information related to the reactions already computed.\n\n### Feature and Code Base\n\nAs the user continues to enjoy the benefits of chemkin for caulating reactions, our feature seamlessly uploads results to the central database each time chemkin is run. Our feature stores them in a database similar to the one used for NASA polynomials, but hosted on the cloud to be available for anyone. The website then allows the user to find reactions choosing among different element of interests.\n\n#### Module: History.py\n\nOur team has built a module `history.py`. It handles the results of each reactions computed by the user and It also stores them into a MySQL database. Thanks to the module History.py, the user is able to access the information contained in the database.\n\nTo access the history, please visit: http://52.91.33.182/app/\n\n### Methods\n\nThe user cannot access directely to the methods because they are performed \"under the hood\" from our Web App which handles the user's queries. If the users want to get access to methods, he must download the package and call the methods.\n\n### User's Experience\n\nThe user can query any information contained in the reactions that have been computed. For instance, the user can find all the reactions sort by elements of interest (e.g. type, species in the reactions, temperature of the reactions, etc). The feature allows for querying three different categories: species, reaction and temperature. After selecting the filters, and clicking the search button, the details of the reactions that match the query will be retrieved from the cloud database. The following screenshot shows the webpage.\n\n\n\nNote that for privacy consideration, you can compute reaction rate without uploading them to the central database, to do so, just follow the example showed in the above \"A Complete Example\" section. However, we also provide a easy API for you to compute and upload the results.\n\n```python\n\nfrom kinetics import chemkin\n\nT = 750\n\n# length of X should equal to the number of species\nX = [2, 1, 0.5, 1, 1 ,0.5, 0.5, 0.5] \n\n# this will compute the results and upload to the database automatically\nchemkin.compute('your/path/to/xml/file', T, X) \n\n```\n\n\n### External Dependencies\n\nThe history module depends primarily on a MySQL instance hosted on AWS, and a web interface built with Django and also hosted on AWS. All external libraries required for this addin at the user level (only pymysql) should be automatically installed along with cs207_g7.\n\n### How to Contribute!\n\nIf you like our work and would like to contribute to future development of ChemKin, please start by setting up a local fork of our repository, playing around with the code, and then email us at (brafetto at g.harvard.edu) with an idea of what you would like work on to request permission to contribute. A great place to start would be the list of open issues: https://github.com/CS207G7/cs207-FinalProject/issues\n\nIf you have never contributed to a github project before, feel free to look at this link for guidelines: https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/\n\nOr, if you'd like to contribute in other ways we also accept bitcoin \ud83d\ude0e.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/CS207G7/cs207-FinalProject", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cs207-g7", "package_url": "https://pypi.org/project/cs207-g7/", "platform": "", "project_url": "https://pypi.org/project/cs207-g7/", "project_urls": { "Homepage": "https://github.com/CS207G7/cs207-FinalProject" }, "release_url": "https://pypi.org/project/cs207-g7/1.1.5/", "requires_dist": [ "pymysql" ], "requires_python": "", "summary": "A simple chemical kinetics library", "version": "1.1.5" }, "last_serial": 3408170, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "001306f67b829a946f034603ba1e9da2", "sha256": "dacc1f8103a3bed1a6450b5a770e118a29f5a397b0c09e51388b6e82cabe3b4b" }, "downloads": -1, "filename": "cs207_g7-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "001306f67b829a946f034603ba1e9da2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16153, "upload_time": "2017-11-19T23:15:56", "url": "https://files.pythonhosted.org/packages/9d/99/014dd2666debec0d47a248892942c4d6a24ea949588055095c2e2acab9c5/cs207_g7-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a04f8a78564ce42014c5fc459983e143", "sha256": "319778ea23eb38eefeafd914775a69d0fc63ca4dcf686d8e507b83202b6cbd04" }, "downloads": -1, "filename": "cs207_g7-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a04f8a78564ce42014c5fc459983e143", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10285, "upload_time": "2017-11-19T23:15:58", "url": "https://files.pythonhosted.org/packages/0c/a4/a4332550ae9f0c81b15e344426de5b05b10561095b9f947872a06eaec767/cs207_g7-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0d440c04b39efa3f978c3084de1f8c8e", "sha256": "9c716f29d59a680c39edbcf9a86538f7386e6004267199fa62ee47ada0771ce6" }, "downloads": -1, "filename": "cs207_g7-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0d440c04b39efa3f978c3084de1f8c8e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16147, "upload_time": "2017-11-19T23:34:54", "url": "https://files.pythonhosted.org/packages/ac/e7/f1f638dd89c0387ec21e3e9669d68b38125251b79f7a630ad4aeb38ce20e/cs207_g7-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f9ae380b1f232f370cb7cdb81ec2adf", "sha256": "3e26d17a332a502e9d6b4c337e67fca11e8da5d5072950191cba1b031c7f4849" }, "downloads": -1, "filename": "cs207_g7-1.0.2.tar.gz", "has_sig": false, "md5_digest": "5f9ae380b1f232f370cb7cdb81ec2adf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10276, "upload_time": "2017-11-19T23:34:56", "url": "https://files.pythonhosted.org/packages/3e/68/123836e1aa7b7fbfe63a4837bc1a41746297e1bf3cda923279bc78def4b5/cs207_g7-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "ba1130597d45e7c03a0903a09a3fd076", "sha256": "6a7df639a4feff93c2518204050c70dd93d9fcb3c9d222a0d8e0852833ebe129" }, "downloads": -1, "filename": "cs207_g7-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ba1130597d45e7c03a0903a09a3fd076", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24747, "upload_time": "2017-11-20T00:25:44", "url": "https://files.pythonhosted.org/packages/e0/66/69ef9bdaf5534cfe9140c0649a775542e82a80106163effcfcb359702229/cs207_g7-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "638b1a75baca7513c1283f9efb3bb23f", "sha256": "94b9a973681efbf59fbfc531177724f776033653b88b47fdd8d0fe10fea83c99" }, "downloads": -1, "filename": "cs207_g7-1.0.3.tar.gz", "has_sig": false, "md5_digest": "638b1a75baca7513c1283f9efb3bb23f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12047, "upload_time": "2017-11-20T00:25:46", "url": "https://files.pythonhosted.org/packages/0e/43/8e82ea466c064e99ad40a3eb9b0bb84dac15fe6f9367dac4122fd3c612fb/cs207_g7-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "97fcd53c0623c1fdf945b58a0e707508", "sha256": "a8752686ab27dc66ee88577ec532d0f7370359410df67dc4723c3340e9704042" }, "downloads": -1, "filename": "cs207_g7-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "97fcd53c0623c1fdf945b58a0e707508", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24745, "upload_time": "2017-11-20T00:29:08", "url": "https://files.pythonhosted.org/packages/f0/54/f2440b396f5a283e63c14cde5040554c79d85edfd7acb0c316c7ef4d28ac/cs207_g7-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40a0dab141581a1a1ffd249c358e9601", "sha256": "a09b03b731c66b43ec03019f0dfb72f7e51995cc6f48c2caaa18f6b0d52ec590" }, "downloads": -1, "filename": "cs207_g7-1.0.4.tar.gz", "has_sig": false, "md5_digest": "40a0dab141581a1a1ffd249c358e9601", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12043, "upload_time": "2017-11-20T00:29:11", "url": "https://files.pythonhosted.org/packages/86/65/946c28a52c3a352943d9ee4bf0196de81a51b89e332dc3ac5843603693c6/cs207_g7-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "a22a1c79ef5aaea16accdc2e51f79bba", "sha256": "542ddc8da54a77cdec2a34c5a0190d27ea6d9eed09dca241ae3b17d315804c90" }, "downloads": -1, "filename": "cs207_g7-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a22a1c79ef5aaea16accdc2e51f79bba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26620, "upload_time": "2017-11-20T00:38:34", "url": "https://files.pythonhosted.org/packages/2c/03/8b09df404fa90e4df8ee7a83fe5a6ce05815aee1e41ea89de32110042f3f/cs207_g7-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd998dfa260b843bdb1e6f04e63c52f0", "sha256": "80056eb5dff41e8d8d8a949d7209a1c55e656c28d676ed8c9ec2ba4a590c69e2" }, "downloads": -1, "filename": "cs207_g7-1.0.5.tar.gz", "has_sig": false, "md5_digest": "dd998dfa260b843bdb1e6f04e63c52f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14702, "upload_time": "2017-11-20T00:38:35", "url": "https://files.pythonhosted.org/packages/3f/09/bb14bb2630ca7f9c3e58385cd352393dbc8c91f642dd097639dca8f28925/cs207_g7-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "db8e9d61fe9f8a52ce7899ac29c0e2fc", "sha256": "c372020c2c6b8e7f79ee8aa54120a84589173f0c39a63666a51255daddf06512" }, "downloads": -1, "filename": "cs207_g7-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "db8e9d61fe9f8a52ce7899ac29c0e2fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11796, "upload_time": "2017-11-20T00:43:29", "url": "https://files.pythonhosted.org/packages/85/66/124b3931f38e14bcd2c638fe51bd6fda2d6e6d129ae53873c19608dd3366/cs207_g7-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cea0022e1c45025e1d4c28c987d4520a", "sha256": "73f948366c5b767d367c64f2676260add16398e7f21ece3cc6f531ea0d4c55fb" }, "downloads": -1, "filename": "cs207_g7-1.0.6.tar.gz", "has_sig": false, "md5_digest": "cea0022e1c45025e1d4c28c987d4520a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11761, "upload_time": "2017-11-20T00:43:31", "url": "https://files.pythonhosted.org/packages/81/92/f0e9046541910eafdd8b85578b623fc9e6071d99a97cfa626ac35cbe0dc8/cs207_g7-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "6494f463ae10731de6f9a2e43b9e3de4", "sha256": "d69c0a4dc9b0447a8e7789027ffc0fc2c5c54cf975b083cee3c5837230e6fd6c" }, "downloads": -1, "filename": "cs207_g7-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "6494f463ae10731de6f9a2e43b9e3de4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11805, "upload_time": "2017-11-20T00:52:20", "url": "https://files.pythonhosted.org/packages/50/c7/8bfc44c3ed2009a9055c40250822369f4421cb5f4e9c29bf9c8fc6116bf1/cs207_g7-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88beff5c73e06d4869ac3f0daf013040", "sha256": "eaf70e4fb6059e39f111e6193b09b093e33fab46b702e1658a2f5d3f1eecb733" }, "downloads": -1, "filename": "cs207_g7-1.0.7.tar.gz", "has_sig": false, "md5_digest": "88beff5c73e06d4869ac3f0daf013040", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11814, "upload_time": "2017-11-20T00:52:21", "url": "https://files.pythonhosted.org/packages/fd/0b/c7bcc6850238732b6b79693b2e6d617f7335beb5304bea1140281a0b3b82/cs207_g7-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "ffdfe6b2a1a6a01ac27b6602a1da5f32", "sha256": "75177c37dd04b137d6a4f3e47aa6b6f03fb114d26f31b97a0bad1248071cb04f" }, "downloads": -1, "filename": "cs207_g7-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ffdfe6b2a1a6a01ac27b6602a1da5f32", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11843, "upload_time": "2017-11-20T01:16:47", "url": "https://files.pythonhosted.org/packages/c0/ab/d4a4d1301368c85e1f67a33347b124088788f2f54f8c27b075d84291f5f1/cs207_g7-1.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d622c632f62c5c398334e6c2e6097496", "sha256": "67dcb9e531417b33e22c7615ae4ed923db70c5befb9d1ed37b8bc73408583ca7" }, "downloads": -1, "filename": "cs207_g7-1.0.8.tar.gz", "has_sig": false, "md5_digest": "d622c632f62c5c398334e6c2e6097496", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11840, "upload_time": "2017-11-20T01:16:48", "url": "https://files.pythonhosted.org/packages/03/5e/024e4d399d10b2187a0d0e858b063a310aef0d22c9aee8fea0d7cc20697c/cs207_g7-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "d039bf1ada2c9d08f7428406f7d7caef", "sha256": "f18d7ff090a59c23d0d0d7a4a7d56f22ed76c5b82c4780048f43456d6a504f5b" }, "downloads": -1, "filename": "cs207_g7-1.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "d039bf1ada2c9d08f7428406f7d7caef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18829, "upload_time": "2017-11-20T02:03:37", "url": "https://files.pythonhosted.org/packages/2e/d5/8cd5bc505eefc0348fdbdf10349ec9c48d7c02e9dcaba926cc42ba04fecc/cs207_g7-1.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d32560ba9dd89e76fca41939a493ecd2", "sha256": "ba1198265ef761f9886364bc56748db741be6b329d2d58ea309d8ddbe7dcca64" }, "downloads": -1, "filename": "cs207_g7-1.0.9.tar.gz", "has_sig": false, "md5_digest": "d32560ba9dd89e76fca41939a493ecd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16752, "upload_time": "2017-11-20T02:03:38", "url": "https://files.pythonhosted.org/packages/12/e2/0d94e1530e4b719565f3cfd88b70b67f2ed2c0c1fea7ecaa8d4527cba7cc/cs207_g7-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "16d46484d277dca0d18ef75b86876cea", "sha256": "55aca788e96d500a90e4116b29793dba46c3a5df2da84fe24ad92e3587d618c6" }, "downloads": -1, "filename": "cs207_g7-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "16d46484d277dca0d18ef75b86876cea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24310, "upload_time": "2017-12-10T19:59:37", "url": "https://files.pythonhosted.org/packages/94/d3/40d7e1c55311de8a5f9d6d6fa4e5a1aa9f4e93ad45d68adfb0a8f4189340/cs207_g7-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "751d1e98805994c42cc5058c50719716", "sha256": "000b56e13b671c0f1ca1acd84d9d5a41828ad805b9db495694c7d9c6cdae6591" }, "downloads": -1, "filename": "cs207_g7-1.1.0.tar.gz", "has_sig": false, "md5_digest": "751d1e98805994c42cc5058c50719716", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19760, "upload_time": "2017-12-10T19:59:39", "url": "https://files.pythonhosted.org/packages/94/89/43cc72a5b0acc54003893730b3335bbec0ece58dedf0f3e34ab9976ee826/cs207_g7-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "26de309f893fadcac33a475471b6fde4", "sha256": "986eef8cc76ad9856fd7e6b247743fb9464db0ebc38a3c896274825c124aad8d" }, "downloads": -1, "filename": "cs207_g7-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "26de309f893fadcac33a475471b6fde4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24643, "upload_time": "2017-12-11T06:57:08", "url": "https://files.pythonhosted.org/packages/60/2b/efaf95dfa5635a00121b810b9ce48e81c622e49dea5854bcce4c53f4f32b/cs207_g7-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac62dd8f1ce3d3491fce55a19a1e3cbd", "sha256": "88feee9d58980ce9a18954e6307fca48b6db311ad2fcb80a52f4004d1427171c" }, "downloads": -1, "filename": "cs207_g7-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ac62dd8f1ce3d3491fce55a19a1e3cbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19551, "upload_time": "2017-12-11T06:57:10", "url": "https://files.pythonhosted.org/packages/37/63/8a4263a53d976caa952117223931c6aed38afcdb74c29288caa6856715e3/cs207_g7-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "68314dad71f988724055b7aa0537607c", "sha256": "3a6568e195511f6365effbe18fbcf045dac22ef1444f77e8c4e163a40f66c285" }, "downloads": -1, "filename": "cs207_g7-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "68314dad71f988724055b7aa0537607c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28962, "upload_time": "2017-12-11T07:06:16", "url": "https://files.pythonhosted.org/packages/96/54/103189d73a5fc2179104d3df58f4ffefda320bf8b15aafab8bf68014b038/cs207_g7-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a652a6e54fbe768c61fa1bef53033675", "sha256": "f2545df680cd006c765bccc98b45cce17dc3c2f3948af68c49793e8776974b68" }, "downloads": -1, "filename": "cs207_g7-1.1.2.tar.gz", "has_sig": false, "md5_digest": "a652a6e54fbe768c61fa1bef53033675", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21620, "upload_time": "2017-12-11T07:06:18", "url": "https://files.pythonhosted.org/packages/86/cd/ef1ba4c5076be7edbe494b0b4ee311e13ce8bc2c241cf7767eccac143c13/cs207_g7-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "1a3827c7daae594da37d54ed01b0fbde", "sha256": "bdc37fc7680a41654f505676a863efe66c0c102e22c8473194109d2ff188374a" }, "downloads": -1, "filename": "cs207_g7-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1a3827c7daae594da37d54ed01b0fbde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58772, "upload_time": "2017-12-11T14:44:36", "url": "https://files.pythonhosted.org/packages/f3/9d/a256e95de9bdb6488f886acd9e2559b22f2332b0b9ae1971c073eb62550d/cs207_g7-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a57307f480a65319261106af84d181b3", "sha256": "07205a5fc66916389c22401da6fec52ffc959d7b17d9cb3a97e7767cbb29c2cf" }, "downloads": -1, "filename": "cs207_g7-1.1.3.tar.gz", "has_sig": false, "md5_digest": "a57307f480a65319261106af84d181b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23200, "upload_time": "2017-12-11T14:44:38", "url": "https://files.pythonhosted.org/packages/80/de/962260f08070a1f2961e5e6304fc8dd337d6d2408cfecf5a459af705da24/cs207_g7-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "ffc576c85424b463adecda69bfc351c6", "sha256": "98912fef3bbd3357048d56225a961808364c4203c40635d85a1a5d09fe9a87f3" }, "downloads": -1, "filename": "cs207_g7-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "ffc576c85424b463adecda69bfc351c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59148, "upload_time": "2017-12-11T17:59:49", "url": "https://files.pythonhosted.org/packages/5b/a3/f49e81873b96d5ec08a51b43fe14fb18bf39af3450b6fc4e4b209cb591cc/cs207_g7-1.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "304b24de7db3035fac126eb4c9b9a859", "sha256": "1b63de2562efab71e12b1a765ba21165786fcc3c4e132ac8af7bb2aa1b1bf401" }, "downloads": -1, "filename": "cs207_g7-1.1.4.tar.gz", "has_sig": false, "md5_digest": "304b24de7db3035fac126eb4c9b9a859", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23568, "upload_time": "2017-12-11T17:59:51", "url": "https://files.pythonhosted.org/packages/95/a0/a02a8d17ec80bec0d6e10574cc598c78f543560f428eb21779c4f7519279/cs207_g7-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "d5dad22e4c21d176c9971175d71da792", "sha256": "0e1123f7e86b308e1b5e9c2969dcae690ff8ce897b449306f937fbae6b6fe667" }, "downloads": -1, "filename": "cs207_g7-1.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d5dad22e4c21d176c9971175d71da792", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64733, "upload_time": "2017-12-11T18:41:54", "url": "https://files.pythonhosted.org/packages/82/2a/cc441ab1a54dc316d012e11bddd56589ed85326bfbd71f33f20a1be2a983/cs207_g7-1.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "667189878dae3ee3ba5be51f8296bba0", "sha256": "5e9fd21d08ddf3db972a5b14d7f0471b4beebb7d5992c0df606fa985862c2195" }, "downloads": -1, "filename": "cs207_g7-1.1.5.tar.gz", "has_sig": false, "md5_digest": "667189878dae3ee3ba5be51f8296bba0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29745, "upload_time": "2017-12-11T18:41:56", "url": "https://files.pythonhosted.org/packages/c6/06/b1f9313db4b96911034741d9f9ad896b6fc13e34c035748435bb4fcae68a/cs207_g7-1.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d5dad22e4c21d176c9971175d71da792", "sha256": "0e1123f7e86b308e1b5e9c2969dcae690ff8ce897b449306f937fbae6b6fe667" }, "downloads": -1, "filename": "cs207_g7-1.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d5dad22e4c21d176c9971175d71da792", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64733, "upload_time": "2017-12-11T18:41:54", "url": "https://files.pythonhosted.org/packages/82/2a/cc441ab1a54dc316d012e11bddd56589ed85326bfbd71f33f20a1be2a983/cs207_g7-1.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "667189878dae3ee3ba5be51f8296bba0", "sha256": "5e9fd21d08ddf3db972a5b14d7f0471b4beebb7d5992c0df606fa985862c2195" }, "downloads": -1, "filename": "cs207_g7-1.1.5.tar.gz", "has_sig": false, "md5_digest": "667189878dae3ee3ba5be51f8296bba0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29745, "upload_time": "2017-12-11T18:41:56", "url": "https://files.pythonhosted.org/packages/c6/06/b1f9313db4b96911034741d9f9ad896b6fc13e34c035748435bb4fcae68a/cs207_g7-1.1.5.tar.gz" } ] }