{ "info": { "author": "Mark Mikofski", "author_email": "mark.mikofski@sunpowercorp.com", "bugtrack_url": null, "classifiers": [], "description": ".. image:: https://travis-ci.org/SunPower/Carousel.svg?branch=master\n :target: https://travis-ci.org/SunPower/Carousel\n\nCarousel - Model Simulation Framework\n=====================================\nCarousel ia a framework for simulating mathematical models that decouples\nthe models from the simulation implementation. It takes care of boilerplate\nroutines such as loading data from various sources into a key store that can be\nused from any calculation, determining the correct order of calculations,\nstepping through dynamic simulations and generating output reports and\nvisualizations, so that you can focus on developing models and don't have to\nworry about how to add new models or how to integrate changes.\n\nRequirements\n------------\n* `Pint `_\n* `NumPy `_\n* `h5py `_\n* `xlrd `_\n* `UncertaintyWrapper `_\n\nInstallation\n------------\nCarousel `releases are on PyPI `_ and on\n`GitHub `_. You can use either\n``pip``, ``conda``, or ``distutils`` to install Carousel.\n\n`pip `_ ::\n\n $ pip install Carousel\n\nExtract the archive to use `disutils `_ ::\n\n $ python setup.py install\n\n`SunPower conda channel `_ ::\n\n $ conda install -c sunpower Carousel\n\nDocumentation\n-------------\nCarousel `documentation `_ is\nonline. It's also included in the distribution and can be built using\n`Sphinx `_ by running the ``Makefile``\nfound in the ``docs`` folder of the Carousel package. Once built documentation\nwill be found in the ``_build`` folder under the tree corresponding to the type\nof documentation built. *EG*: HTML documentation is in ``docs/_build/html``.\n\nContributions\n-------------\nCarousel `source code `_ is\nonline. Fork it and report\n`issues `_, make suggestions or\ncreate pull requests. Discuss the roadmap or download presentations on the\n`wiki `_\n\nHistory\n-------\nThe\n`change log for all releases `_\nis on GitHub.\n\nQuickstart Example\n------------------\nDefine data, outputs, formulas, calculations, simulations and model::\n\n #! python\n\n from carousel.core.data_sources import DataSource, DataParameter\n from carousel.core.outputs import Output, OutputParameter\n from carousel.core.formulas import Formula, FormulaParameter\n from carousel.core.calculations import Calc, CalcParameter\n from carousel.core.simulations import Simulation, SimParameter\n from carousel.core.models import Model, ModelParameter\n from carousel.contrib.readers import ArgumentReader\n from carousel.core import UREG\n import numpy as np\n import os\n\n DATA = {'PythagoreanData': {'adjacent_side': 3.0, 'opposite_side': 4.0}}\n\n\n class PythagoreanData(DataSource):\n adjacent_side = DataParameter(units='cm', uncertainty=1.0)\n opposite_side = DataParameter(units='cm', uncertainty=1.0)\n\n def __prepare_data__(self):\n for k, v in self.parameters.iteritems():\n self.uncertainty[k] = {k: v['uncertainty'] * UREG.percent}\n\n class Meta:\n data_cache_enabled = False\n data_reader = ArgumentReader\n\n\n class PythagoreanOutput(Output):\n hypotenuse = OutputParameter(units='cm')\n\n\n def f_pythagorean(a, b):\n a, b = np.atleast_1d(a), np.atleast_1d(b)\n return np.sqrt(a * a + b * b).reshape(1, -1)\n\n\n class PythagoreanFormula(Formula):\n f_pythagorean = FormulaParameter(\n units=[('=A', ), ('=A', '=A')],\n isconstant=[]\n )\n\n class Meta:\n module = __name__\n\n\n class PythagoreanCalc(Calc):\n pythagorean_thm = CalcParameter(\n formula='f_pythagorean',\n args={'data': {'a': 'adjacent_side', 'b': 'opposite_side'}},\n returns=['hypotenuse']\n )\n\n\n class PythagoreanSim(Simulation):\n settings = SimParameter(\n ID='Pythagorean Theorem',\n commands=['start', 'load', 'run'],\n sim_length=[0, 'hour'],\n write_fields={\n 'data': ['adjacent_side', 'opposite_side'],\n 'outputs': ['hypotenuse']\n }\n )\n\n\n class PythagoreanModel(Model):\n data = ModelParameter(sources=[PythagoreanData])\n outputs = ModelParameter(sources=[PythagoreanOutput])\n formulas = ModelParameter(sources=[PythagoreanFormula])\n calculations = ModelParameter(sources=[PythagoreanCalc])\n simulations = ModelParameter(sources=[PythagoreanSim])\n\n class Meta:\n modelpath = os.path.dirname(__file__)\n\n\n if __name__ == '__main__':\n m = PythagoreanModel()\n m.command('run', data=DATA)\n out_reg = m.registries['outputs']\n fmt = {\n 'output': out_reg['hypotenuse'],\n 'uncertainty': out_reg.uncertainty['hypotenuse']['hypotenuse']\n }\n print 'hypotenuse = %(output)s +/- %(uncertainty)s' % fmt\n\nThis is the `MCVE `_ of a Carousel model.\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/SunPower/Carousel", "keywords": "", "license": "BSD 3-clause", "maintainer": "", "maintainer_email": "", "name": "Carousel", "package_url": "https://pypi.org/project/Carousel/", "platform": "", "project_url": "https://pypi.org/project/Carousel/", "project_urls": { "Homepage": "https://github.com/SunPower/Carousel" }, "release_url": "https://pypi.org/project/Carousel/0.3.2/", "requires_dist": [ "UncertaintyWrapper (>=0.4.1)", "dulwich", "nose", "numexpr", "numpy", "pandas", "pint (==0.7.2)", "pvlib (>=0.4.2)", "python-dateutil", "pytz", "scipy", "sphinx", "xlrd" ], "requires_python": "", "summary": "Model Simulation Framework", "version": "0.3.2" }, "last_serial": 3623270, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "4f251adb7acfe9729c5e5d0ebf995eff", "sha256": "1a4b34a47b937910164f84c3a6a51c7671fec1201a0aa7635fa1b690d6cfc90d" }, "downloads": -1, "filename": "Carousel-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "4f251adb7acfe9729c5e5d0ebf995eff", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 55002, "upload_time": "2016-05-06T19:46:38", "url": "https://files.pythonhosted.org/packages/cb/4a/43cc710693ae67b392094ab3ad4c16c8fd3e27e6cd869f2523f4ef8875bd/Carousel-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f86caf777563e3d28f410ef72f989c5c", "sha256": "46f5d790f78316cffee7ba12a45919c44dbd827b8826322dee73ad4098408917" }, "downloads": -1, "filename": "Carousel-0.2.zip", "has_sig": false, "md5_digest": "f86caf777563e3d28f410ef72f989c5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56754, "upload_time": "2016-05-06T19:46:31", "url": "https://files.pythonhosted.org/packages/5c/f0/56628ab047d806e6597cde18dcd383498cbe6c7f57314493eb79d95398e2/Carousel-0.2.zip" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "706854e1ccbdbd0ba6a8c780f8741399", "sha256": "1e8d0396d1c2cb125a6ddd3785224c0ce864657d4c7b5ea62c76f774fdf18394" }, "downloads": -1, "filename": "Carousel-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "706854e1ccbdbd0ba6a8c780f8741399", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 55261, "upload_time": "2016-07-19T22:32:37", "url": "https://files.pythonhosted.org/packages/63/94/76da45248e012a331e765c110def7a271ced8ef8974fcdcf9bf5a42b54e5/Carousel-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40f1f05eb1bc678c6f3f30b08ff9caf1", "sha256": "bd24895e81fedc4663fe20259f2b6ddadbd692d96c2f51775e063b047218cf4a" }, "downloads": -1, "filename": "Carousel-0.2.1.zip", "has_sig": false, "md5_digest": "40f1f05eb1bc678c6f3f30b08ff9caf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57080, "upload_time": "2016-07-19T22:32:34", "url": "https://files.pythonhosted.org/packages/c1/1b/3efe325d90ed126d59bab738d219a8c64ae67ed4e809b2920b5cd1ac1fb8/Carousel-0.2.1.zip" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "03640d69717b82848f5a3e121dc543c8", "sha256": "2830365428bb508fcabfcebfa7632f55708603baa7832ff29e8a2f4b74e00fb5" }, "downloads": -1, "filename": "Carousel-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "03640d69717b82848f5a3e121dc543c8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 55836, "upload_time": "2016-07-21T23:52:48", "url": "https://files.pythonhosted.org/packages/1a/51/4cbc3f5a63b8c55a2a95efa481f0cab36f0c13f8ae679316ada5128511a6/Carousel-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4e19313965f6c1dcb0cad5cf9a41477", "sha256": "5230c5d7772f6ccfcbfcecc11b872301b6b51d0d10d714805318b56d8a142272" }, "downloads": -1, "filename": "Carousel-0.2.2.zip", "has_sig": false, "md5_digest": "c4e19313965f6c1dcb0cad5cf9a41477", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57971, "upload_time": "2016-07-21T23:52:44", "url": "https://files.pythonhosted.org/packages/3e/46/162c7ef558d53d9cd7ce7020455f205586f4ed45b7cac2c5c76e167fe2f8/Carousel-0.2.2.zip" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "65a48f2cf786b12c9d831ec9b8cf7670", "sha256": "7edba8a5359a755a15b45d250140e309efff1f24336d820c0c6c59e9bed16e10" }, "downloads": -1, "filename": "Carousel-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "65a48f2cf786b12c9d831ec9b8cf7670", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 55987, "upload_time": "2016-08-05T11:04:12", "url": "https://files.pythonhosted.org/packages/2f/3b/fa4436f2743119d0e6c41b3cbe527e67a17ae928b16216f1eaa962d6e3b1/Carousel-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78ca2c591c736e8f12f30d0b92f6041b", "sha256": "194f1d7fd1716df37b12b28f780d83ace2b35ecccd5ad253f98d216f65d35701" }, "downloads": -1, "filename": "Carousel-0.2.3.zip", "has_sig": false, "md5_digest": "78ca2c591c736e8f12f30d0b92f6041b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58124, "upload_time": "2016-08-05T11:04:09", "url": "https://files.pythonhosted.org/packages/d1/df/b75841d408ec4a27bb9697b4c9701c9bebcccc28a231078f136592e8620e/Carousel-0.2.3.zip" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "8d7bf4925422b2504ffae15564f7bc8d", "sha256": "f4875b62c903654ea9b0fcccbad1a38a9a42c1198737c1521b1ab510d4d9148b" }, "downloads": -1, "filename": "Carousel-0.2.4-py2-none-any.whl", "has_sig": false, "md5_digest": "8d7bf4925422b2504ffae15564f7bc8d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 55692, "upload_time": "2016-08-07T06:44:25", "url": "https://files.pythonhosted.org/packages/5a/5b/55567b5b70afb40966e86b7e8fb275e41ff21d35f694293045cf29fcfa9c/Carousel-0.2.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f17ae9320e28ce070d6035b0aea58dd8", "sha256": "8112637a41287a5a94606f195c51212f768dc1e8f0be046f340e63255ba9bfa6" }, "downloads": -1, "filename": "Carousel-0.2.4.tar.gz", "has_sig": false, "md5_digest": "f17ae9320e28ce070d6035b0aea58dd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45133, "upload_time": "2016-08-07T06:44:27", "url": "https://files.pythonhosted.org/packages/c0/db/6d4a18abb069a9cc83739ae967e4d6e752127e2e9472c2a6c221a257bfed/Carousel-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "397e92722a308889ea0664e128104ea9", "sha256": "d01341a07b6d516156439feaf7e518b7e8d835a63e8b8eb1e520494eb8e34589" }, "downloads": -1, "filename": "Carousel-0.2.5-py2-none-any.whl", "has_sig": false, "md5_digest": "397e92722a308889ea0664e128104ea9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 56157, "upload_time": "2016-09-09T07:21:17", "url": "https://files.pythonhosted.org/packages/f5/37/02d5bd54e8a5c36b1186a7fe3aa508c3cfafef0ed4d390b99905e98f5669/Carousel-0.2.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f8d07215b5936d8d8d048fd46622b80", "sha256": "f11e53af56ebfe208d44cf1302447dae86b97ce062ee723d5ee8e691f1b6abe5" }, "downloads": -1, "filename": "Carousel-0.2.5.zip", "has_sig": false, "md5_digest": "5f8d07215b5936d8d8d048fd46622b80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58501, "upload_time": "2016-09-09T07:21:14", "url": "https://files.pythonhosted.org/packages/10/ad/988b3d516a6e71b570101af617c7c03c55f694c614a1e211603dc26ac320/Carousel-0.2.5.zip" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "df9fa0485b090696bdb1113d1f29a3d8", "sha256": "b99813f2230cd78627bcb67f58c2c7d740e840204668d616eb6e13924263b79f" }, "downloads": -1, "filename": "Carousel-0.2.6-py2-none-any.whl", "has_sig": false, "md5_digest": "df9fa0485b090696bdb1113d1f29a3d8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 56550, "upload_time": "2016-09-22T21:48:22", "url": "https://files.pythonhosted.org/packages/91/cb/c0d79d73588c6ce6a663b6fff3360b277083e87a2b13454b612eee2ea367/Carousel-0.2.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee476b0f23299b370c9a22f0e2db82c4", "sha256": "c1607523a8a8eb9e159b43c84502f238e125751efb245eb08620f2c563058d0a" }, "downloads": -1, "filename": "Carousel-0.2.6.tar.gz", "has_sig": false, "md5_digest": "ee476b0f23299b370c9a22f0e2db82c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47210, "upload_time": "2016-09-22T21:48:24", "url": "https://files.pythonhosted.org/packages/ca/b2/18f7e78addf5ad2b641ff5eab7fa0e8bd45c4b14e847e5620bca755ccdf2/Carousel-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "76d5239e1a8434719e61a2ba569092a4", "sha256": "53ea46f4d01621b6d68f69601e16e0e267ed6839dba03d1e1b203bc948580e66" }, "downloads": -1, "filename": "Carousel-0.2.7-py2-none-any.whl", "has_sig": false, "md5_digest": "76d5239e1a8434719e61a2ba569092a4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 60111, "upload_time": "2016-10-11T22:41:07", "url": "https://files.pythonhosted.org/packages/67/7a/88c8bd01fc2934ccf19d51ee1b773bbdd095f445e38bdacbe3979b09f9c8/Carousel-0.2.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c79b8125c8b3cd984e8c3a3ec52a36f2", "sha256": "adc22c836cd83f315a2b1d51a93a4aeb46785744f3a2f185dabbd06cd6ae650d" }, "downloads": -1, "filename": "Carousel-0.2.7.tar.gz", "has_sig": false, "md5_digest": "c79b8125c8b3cd984e8c3a3ec52a36f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50444, "upload_time": "2016-10-11T22:41:09", "url": "https://files.pythonhosted.org/packages/08/26/1c477c62f30f25058d0ed12eaeb6d57cc23054f783372ab6698f3b00a07f/Carousel-0.2.7.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "d3929661cc82291185ea3dcc6d02312b", "sha256": "5abd8fc7b6089a245fcccb047e28e34b78d2071fe6a526446e0e10c3eca5d1ae" }, "downloads": -1, "filename": "Carousel-0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "d3929661cc82291185ea3dcc6d02312b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 61240, "upload_time": "2016-10-31T23:25:30", "url": "https://files.pythonhosted.org/packages/c8/4c/3633b82b69a7c293580d3663b81f8bf433ed07062538f8aebfc54529e1b9/Carousel-0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e08cd0acce22dd86739e10de45df40c1", "sha256": "21085c02b5308f466bd64ef9129a6b1640157fc2f55317031768bcbd6fcdcafd" }, "downloads": -1, "filename": "Carousel-0.3.tar.gz", "has_sig": false, "md5_digest": "e08cd0acce22dd86739e10de45df40c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50026, "upload_time": "2016-10-31T23:25:34", "url": "https://files.pythonhosted.org/packages/a5/0b/7685f32b51836da97b3b1ed06cb2d9254d5d1473415ef6d4bfcf20974ac5/Carousel-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "008033f1ecc9f00bbd95475230a3100b", "sha256": "4ffcda3431586151b6358b032e0ff2226012023ce66ff51f8862f27d6fe364fe" }, "downloads": -1, "filename": "Carousel-0.3.1-py2-none-any.whl", "has_sig": false, "md5_digest": "008033f1ecc9f00bbd95475230a3100b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 63590, "upload_time": "2016-12-14T06:03:48", "url": "https://files.pythonhosted.org/packages/36/29/d6923cba4488c73a44f06ffccd6965d4c9039f07f9c320da0c8308e4e6ac/Carousel-0.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30739a127892d46047665f69dd1610f7", "sha256": "57470445eb39ff7c297af73af137d43ff18d5226a3a0da26bb71f25e9b18dec3" }, "downloads": -1, "filename": "Carousel-0.3.1.tar.gz", "has_sig": false, "md5_digest": "30739a127892d46047665f69dd1610f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51752, "upload_time": "2016-12-14T06:03:50", "url": "https://files.pythonhosted.org/packages/c0/15/0d57eb2075dd5f4f14358dd075f7f6a14a7d87c278124d865dd04a41405a/Carousel-0.3.1.tar.gz" } ], "0.3.1a1": [ { "comment_text": "", "digests": { "md5": "23cdba7adb6bdc3b4b7882ef4ebd2972", "sha256": "dcdfb14cb864e37cb8125801cd301933d0e64ea52754d43810de07e4a7c78596" }, "downloads": -1, "filename": "Carousel-0.3.1a1-py2-none-any.whl", "has_sig": false, "md5_digest": "23cdba7adb6bdc3b4b7882ef4ebd2972", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 63076, "upload_time": "2016-12-14T00:44:49", "url": "https://files.pythonhosted.org/packages/56/81/3b3ac38167be3ee36c1d8881de011a26cccff05613eb89ca92b73d341e94/Carousel-0.3.1a1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d01620e2c00aa2004bf695610a8bac9", "sha256": "cb9160dddd65301e7bf81075727a190361575621ba93b1af4e53badbaf75c568" }, "downloads": -1, "filename": "Carousel-0.3.1a1.tar.gz", "has_sig": false, "md5_digest": "1d01620e2c00aa2004bf695610a8bac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51437, "upload_time": "2016-12-14T00:44:51", "url": "https://files.pythonhosted.org/packages/31/71/b077e80491207f1d6ffeead02e48e44aed0495a38678dd62f9bd27c4decc/Carousel-0.3.1a1.tar.gz" } ], "0.3.1a2": [ { "comment_text": "", "digests": { "md5": "374b9a68243ea58db885e93736856953", "sha256": "c6b85dc9f118446fddd183c72be2049bd71bd1765e0e1a14fe93469b987a244d" }, "downloads": -1, "filename": "Carousel-0.3.1a2-py2-none-any.whl", "has_sig": false, "md5_digest": "374b9a68243ea58db885e93736856953", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 63492, "upload_time": "2016-12-14T01:29:49", "url": "https://files.pythonhosted.org/packages/cd/76/f073ff7d10c9d7d7008fbfa3d4a2a2f9d7b663cf9b1ad7cc31dba6e3e9e4/Carousel-0.3.1a2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b275360f6f6ab071418ea6a8b43ce414", "sha256": "01a2894c086dede67220a3455efb29a9d77dac89fdaf7b858eae823e9a3b3cab" }, "downloads": -1, "filename": "Carousel-0.3.1a2.tar.gz", "has_sig": false, "md5_digest": "b275360f6f6ab071418ea6a8b43ce414", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51653, "upload_time": "2016-12-14T01:29:51", "url": "https://files.pythonhosted.org/packages/25/9c/5a20076593e6c2b1d88871f285b23e1ee6d6b42087e3cdc22aa9a95f3176/Carousel-0.3.1a2.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "35aec91bcc296b5a7a349bef613db718", "sha256": "7fd5452522d4041f6083070a50427d80cb2cfb2fb4ddf1ad17674b44cf2f87c7" }, "downloads": -1, "filename": "Carousel-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "35aec91bcc296b5a7a349bef613db718", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 66745, "upload_time": "2017-08-18T16:53:58", "url": "https://files.pythonhosted.org/packages/ec/bc/a9e2d4f2c51eec133153a892171c350e5258dc5db7be16d7dce8d1abaa4e/Carousel-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6082cbf04d4c046aea96dbf44e8fccf7", "sha256": "7a2f41c8bbc8e9e0c44586f7c0ce295628c0a22b1fe6bc2770261e039731d085" }, "downloads": -1, "filename": "Carousel-0.3.2.tar.gz", "has_sig": false, "md5_digest": "6082cbf04d4c046aea96dbf44e8fccf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55012, "upload_time": "2017-08-18T16:54:00", "url": "https://files.pythonhosted.org/packages/9e/1b/431852473e2143e88b4ff9979ae39783c6a01eeae09915d5bd7eab527abb/Carousel-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "35aec91bcc296b5a7a349bef613db718", "sha256": "7fd5452522d4041f6083070a50427d80cb2cfb2fb4ddf1ad17674b44cf2f87c7" }, "downloads": -1, "filename": "Carousel-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "35aec91bcc296b5a7a349bef613db718", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 66745, "upload_time": "2017-08-18T16:53:58", "url": "https://files.pythonhosted.org/packages/ec/bc/a9e2d4f2c51eec133153a892171c350e5258dc5db7be16d7dce8d1abaa4e/Carousel-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6082cbf04d4c046aea96dbf44e8fccf7", "sha256": "7a2f41c8bbc8e9e0c44586f7c0ce295628c0a22b1fe6bc2770261e039731d085" }, "downloads": -1, "filename": "Carousel-0.3.2.tar.gz", "has_sig": false, "md5_digest": "6082cbf04d4c046aea96dbf44e8fccf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55012, "upload_time": "2017-08-18T16:54:00", "url": "https://files.pythonhosted.org/packages/9e/1b/431852473e2143e88b4ff9979ae39783c6a01eeae09915d5bd7eab527abb/Carousel-0.3.2.tar.gz" } ] }