{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development" ], "description": "wheelhouse-uploader\n===================\n\nUpload/download wheels to/from cloud storage using Apache Libcloud.\nHelps package maintainers build wheels for their packages and upload\nthem to PyPI.\n\nThe cloud storage containers are typically populated by Continuous\nIntegration servers that generate and test binary packages on various\nplatforms (Windows and OSX for several versions and architectures for\nPython). At release time the project maintainer can collect all the\ngenerated package for a specific version of the project and upload them\nall at once to PyPI.\n\nInstallation\n------------\n\n.. code:: bash\n\n pip install wheelhouse-uploader\n\nUsage\n-----\n\nThe canonical use case is:\n\n1. Continuous Integration (CI) workers build and test the project\n packages for various platforms and versions of Python, for instance\n using the commands:\n\n:sub:`[STRIKEOUT:bash pip install wheel python setup.py bdist\\_wheel]`\n\n2. CI workers use ``wheelhouse-uploader`` to upload the generated\n artifacts to one or more cloud storage containers (e.g. one container\n per platform, or one for the master branch and the other for release\n tags):\n\n:sub:`[STRIKEOUT:bash python -m wheelhouse\\_uploader upload\ncontainer\\_name]`\n\n3. The project maintainer uses the ``wheelhouse-uploader`` distutils\n extensions to fetch all the generated build artifacts for a specific\n version number to its local ``dist`` folder and upload them all at\n once to PyPI when making a release.\n\n:sub:`[STRIKEOUT:bash python setup.py sdist fetch\\_artifacts\nupload\\_all]`\n\nUploading artifact to a cloud storage container\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nUse the following command:\n\n.. code:: bash\n\n python -m wheelhouse_uploader upload \\\n --username=mycloudaccountid --secret=xxx \\\n --local-folder=dist/ my_wheelhouse\n\nor:\n\n.. code:: bash\n\n export WHEELHOUSE_UPLOADER_USERNAME=mycloudaccountid\n export WHEELHOUSE_UPLOADER_SECRET=xxx\n python -m wheelhouse_uploader upload --local-folder dist/ my_wheelhouse\n\nWhen used in a CI setup such as http://travis-ci.org or\nhttp://appveyor.com, the environment variables are typically configured\nin the CI configuration files such as ``.travis.yml`` or\n``appveyor.yml``. The secret API key is typically encrypted and exposed\nwith a ``secure:`` prefix in those files.\n\nThe files in the ``dist/`` folder will be uploaded to a container named\n``my_wheelhouse`` on the ``CLOUDFILES`` (Rackspace) cloud storage\nprovider.\n\nYou can pass a custom ``--provider`` param to select the cloud storage\nfrom the list of `supported\nproviders `__.\n\nAssuming the container will be published as a static website using the\ncloud provider CDN options, the ``upload`` command also maintains an\n``index.html`` file with links to all the files previously uploaded to\nthe container.\n\nIt is recommended to configure the container CDN cache TTL to a shorter\nthan usual duration such as 15 minutes to be able to quickly perform a\nrelease once all artifacts have been uploaded by the CI servers.\n\nFetching artifacts manually\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following command downloads items that have been previously\npublished to a web page with an index with HTML links to the project\nfiles:\n\n.. code:: bash\n\n python -m wheelhouse_uploader fetch \\\n --version=X.Y.Z --local-folder=dist/ \\\n project-name http://wheelhouse.example.org/\n\nUploading previously archived artifacts to PyPI (deprecated)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n**DEPRECATION NOTICE**: while the following still works, you are advised\nto use the alternative tool:\n`twine `__ that makes it easy to\nscript uploads of packages to PyPI without messing around with distutils\nand ``setup.py``.\n\nEnsure that the ``setup.py`` file of the project registers the\n``wheelhouse-uploader`` distutils extensions:\n\n.. code:: python\n\n cmdclass = {}\n\n try:\n # Used by the release manager of the project to add support for:\n # python setup.py sdist fetch_artifacts upload_all\n import wheelhouse_uploader.cmd\n cmdclass.update(vars(wheelhouse_uploader.cmd))\n except ImportError:\n pass\n ...\n\n setup(\n ...\n cmdclass=cmdclass,\n )\n\nPut the URL of the public artifact repositories populated by the CI\nworkers in the ``setup.cfg`` file of the project:\n\n.. code:: ini\n\n [wheelhouse_uploader]\n artifact_indexes=\n http://wheelhouse.site1.org/\n http://wheelhouse.site2.org/\n\nFetch all the artifacts matching the current version of the project as\nconfigured in the local ``setup.py`` file and upload them all to PyPI:\n\n.. code:: bash\n\n python setup.py fetch_artifacts upload_all\n\nNote: this will reuse PyPI credentials stored in ``$HOME/.pypirc`` if\n``python setup.py register`` or ``upload`` were called previously.\n\nTODO\n~~~~\n\n- test on as many cloud storage providers as possible (please send an\n email to olivier.grisel@ensta.org if you can make it work on a\n non-Rackspace provider),\n- check that CDN activation works everywhere (it's failing on Rackspace\n currently: need to investigate) otherwise the workaround is to enable\n CDN manually in the management web UI,\n- make it possible to fetch private artifacts using the cloud storage\n protocol instead of HTML index pages.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/ogrisel/wheelhouse-uploader", "keywords": "", "license": "MIT", "maintainer": "Olivier Grisel", "maintainer_email": "olivier.grisel@ensta.org", "name": "wheelhouse-uploader", "package_url": "https://pypi.org/project/wheelhouse-uploader/", "platform": "", "project_url": "https://pypi.org/project/wheelhouse-uploader/", "project_urls": { "Homepage": "http://github.com/ogrisel/wheelhouse-uploader" }, "release_url": "https://pypi.org/project/wheelhouse-uploader/0.10.1/", "requires_dist": [ "setuptools (>=0.9)", "packaging", "certifi", "apache-libcloud (==2.2.1)", "futures; python_version == \"2.7\"" ], "requires_python": "", "summary": "Upload wheels to any cloud storage supported by Libcloud", "version": "0.10.1" }, "last_serial": 4026363, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d430fca72271a842159607e21f44cef3", "sha256": "71ab087f874baf19c3c7bb9eff02d6b120e512d479a4160e7849ed9fb7c677d9" }, "downloads": -1, "filename": "wheelhouse_uploader-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d430fca72271a842159607e21f44cef3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4520, "upload_time": "2014-09-03T12:17:10", "url": "https://files.pythonhosted.org/packages/dc/cb/8c805ab4bdd216261fcc69ced310f6af6872380bd27d8df0aa453eae5019/wheelhouse_uploader-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09f5a6f4017d6cf8394089cf5daf4bde", "sha256": "c89799a52d6debb7246239a8924e056377d92b7286d998be1ccaf31f50fa9334" }, "downloads": -1, "filename": "wheelhouse-uploader-0.1.0.tar.gz", "has_sig": false, "md5_digest": "09f5a6f4017d6cf8394089cf5daf4bde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2612, "upload_time": "2014-09-03T12:17:08", "url": "https://files.pythonhosted.org/packages/ce/fe/2952199f2d7ff90bb90c3f2d678f6b4f6d90b8574a755cb89ab5c86195e9/wheelhouse-uploader-0.1.0.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "31e1d7134890996d3591da7c132336fe", "sha256": "09608e5594a7bf6c79c1fab7788da0003045cd7e8d6ee4645ed29a9a01887a41" }, "downloads": -1, "filename": "wheelhouse_uploader-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31e1d7134890996d3591da7c132336fe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14675, "upload_time": "2018-07-03T12:15:51", "url": "https://files.pythonhosted.org/packages/8c/b6/187dc1e75530903ec7626f47985570319592852c47f0bc60ac74decc4b74/wheelhouse_uploader-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "836fdd532b07383dd7d8681a4b6913a7", "sha256": "cbcfe67ff85868cfffb45918f2765b06b37472901121d7f4dd968ca3deba8d0b" }, "downloads": -1, "filename": "wheelhouse-uploader-0.10.0.tar.gz", "has_sig": false, "md5_digest": "836fdd532b07383dd7d8681a4b6913a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15182, "upload_time": "2018-07-03T12:15:52", "url": "https://files.pythonhosted.org/packages/b5/f7/ab912b4057bdd9b898ce973466cc2f1bd342d0d255d2a1624a3b54b044b6/wheelhouse-uploader-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "d2d0175dfd7729afee7f59e21d6a08fd", "sha256": "63ac7c7f62e4025f6a4ea54b3e5916c1768414961f7919a460b41f323a84e8e8" }, "downloads": -1, "filename": "wheelhouse_uploader-0.10.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d2d0175dfd7729afee7f59e21d6a08fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14683, "upload_time": "2018-07-03T14:00:46", "url": "https://files.pythonhosted.org/packages/1a/38/ec316138d9e94aebb04e41cc3fc36841a11d6c749def6fddd7c83071566d/wheelhouse_uploader-0.10.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdda42df81427bb9e64dbb5e576d5dd4", "sha256": "161e04011a3856aa8c3ec0206e73ceeaab604789993713866c68411dbdd226fd" }, "downloads": -1, "filename": "wheelhouse-uploader-0.10.1.tar.gz", "has_sig": false, "md5_digest": "cdda42df81427bb9e64dbb5e576d5dd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15215, "upload_time": "2018-07-03T14:00:48", "url": "https://files.pythonhosted.org/packages/26/d8/e7f674cca65c1abb6e5c1f6d5c724816316e7048eed5d2fdd817fb9e694f/wheelhouse-uploader-0.10.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4169dd33323326fa374237e42210dc6e", "sha256": "fe36bfd8cbb2aa3c5434b24b53dcccbebd656baa2df33e4e7b8f87272df4a461" }, "downloads": -1, "filename": "wheelhouse_uploader-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4169dd33323326fa374237e42210dc6e", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4840, "upload_time": "2014-09-03T14:02:03", "url": "https://files.pythonhosted.org/packages/5f/84/ab8261283807011356f6eb7cd48fab0465f94a0330bf07a9ed213e5a01e1/wheelhouse_uploader-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d0708ffb1ea8095a35ee5105dcc9e9e", "sha256": "3aaa53a5ac4a3a936448e5c711a0d08f4f524e3b5f3fd2f73aeafdd1d17a167f" }, "downloads": -1, "filename": "wheelhouse-uploader-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6d0708ffb1ea8095a35ee5105dcc9e9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2782, "upload_time": "2014-09-03T14:01:59", "url": "https://files.pythonhosted.org/packages/de/c1/4b3d4ee3904751e377860ed0725b4de724a6b853015d48e1f18a95183078/wheelhouse-uploader-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "a233266bb296b17f830bb262a4364386", "sha256": "5969f27e0653230dfccd00b2f8662d81ac7a304b53ef05faf26049af2b7eb917" }, "downloads": -1, "filename": "wheelhouse_uploader-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a233266bb296b17f830bb262a4364386", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5423, "upload_time": "2014-09-04T09:55:47", "url": "https://files.pythonhosted.org/packages/64/9b/0cc997fc95081b32a5b4d1e443a04db50fde9fdbeb254daceea62bf4995e/wheelhouse_uploader-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff3cbef724cda70e9f63b77c8050dc24", "sha256": "caee5f4da37b4d8bedd378f014548c43edbf7d7fce874ddaad05e9e5147f35b0" }, "downloads": -1, "filename": "wheelhouse-uploader-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ff3cbef724cda70e9f63b77c8050dc24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3380, "upload_time": "2014-09-04T09:55:44", "url": "https://files.pythonhosted.org/packages/cf/ff/8c299dfe23b48bef6294d4272b57cd8ebf1fda42b4de220e7d06c7e1f73f/wheelhouse-uploader-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "2564a39908529fede9cfe16a62f5503d", "sha256": "7d8e1f99136638446460b8b73c8e7ff9b5f89501c37cbff7a446c674df739f23" }, "downloads": -1, "filename": "wheelhouse_uploader-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2564a39908529fede9cfe16a62f5503d", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5421, "upload_time": "2014-09-04T11:11:58", "url": "https://files.pythonhosted.org/packages/e9/10/95a1be8cc6c3198fd3fb8bac969ccd0e8e04d987cdbcb0c221c6cc748b7e/wheelhouse_uploader-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a1ad05607280c628951bed82a4bbe70", "sha256": "be5eb2c882eb103bf2dba3d91afa4b81b5c47af03ec2c8bcb78b241fbb0ef53e" }, "downloads": -1, "filename": "wheelhouse-uploader-0.3.1.tar.gz", "has_sig": false, "md5_digest": "3a1ad05607280c628951bed82a4bbe70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3381, "upload_time": "2014-09-04T11:11:55", "url": "https://files.pythonhosted.org/packages/99/f0/9dfffea052986a427d3f4fc478fe89c22218aa98c8b663933be8e665eca1/wheelhouse-uploader-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "6979b27a9ec5e69e707536364a2ac0f2", "sha256": "fdb880ec214543fc6674bbe65b35bcd5b2bb821e7c9ba45f691e490439ab649f" }, "downloads": -1, "filename": "wheelhouse_uploader-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6979b27a9ec5e69e707536364a2ac0f2", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 8459, "upload_time": "2014-09-05T23:13:27", "url": "https://files.pythonhosted.org/packages/c8/4f/72cdff40996eaa8c07f307f9cef1d877b8c78e7e6ac0ccabc79ee288902f/wheelhouse_uploader-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9428fe3421a41b7c61c0ef2be8584af", "sha256": "c9c11fe6082f6301066be7cad5fa3d75c854e85e967baa3ad4e2cca01b45351e" }, "downloads": -1, "filename": "wheelhouse-uploader-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a9428fe3421a41b7c61c0ef2be8584af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5837, "upload_time": "2014-09-05T23:13:24", "url": "https://files.pythonhosted.org/packages/73/d5/21c5a93dcc21e358b1fc5c271adba1250ef773a0f2a16691ef55d1c70d77/wheelhouse-uploader-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "67af9f7653268ec1cee65dfed5f3d53f", "sha256": "d72067c70bc8373cee8acc8934c6606ffde3db70d2d1b86f2223012ca25b0e06" }, "downloads": -1, "filename": "wheelhouse_uploader-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67af9f7653268ec1cee65dfed5f3d53f", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 8513, "upload_time": "2014-09-05T23:34:56", "url": "https://files.pythonhosted.org/packages/93/9a/fe3fc81ca289ec37055d22488dbc1f1e7e0d6de5cd42f91f44842d6c8126/wheelhouse_uploader-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b488c1d03aaa6589dac850a1d878afb0", "sha256": "6429b8b360c1cf8f48b1cb52d0e04ebd9a9c94bfe040466a612299f7172a46a2" }, "downloads": -1, "filename": "wheelhouse-uploader-0.4.1.tar.gz", "has_sig": false, "md5_digest": "b488c1d03aaa6589dac850a1d878afb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5898, "upload_time": "2014-09-05T23:34:54", "url": "https://files.pythonhosted.org/packages/48/e4/97fa599cd6c779f94013570a264aa54b821cd89041c883a69f922e7bde35/wheelhouse-uploader-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "8a26322484ca9326d623e001df0a012d", "sha256": "75f456a6e3dd6063554ffe516f67735df37d8213306ef7ead58c1aab2e4f7c96" }, "downloads": -1, "filename": "wheelhouse_uploader-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a26322484ca9326d623e001df0a012d", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 8608, "upload_time": "2014-09-05T23:51:30", "url": "https://files.pythonhosted.org/packages/27/38/70ce98b67731a9c03b51f695efaa9eb8e12509bf55e3f773f7e4f22acd39/wheelhouse_uploader-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd0dc34ae610bfc29e718c7859b6332e", "sha256": "1b9bf9335539ea328760b23e28ef448a4952997c5dafab25e6741a52ebdcd81d" }, "downloads": -1, "filename": "wheelhouse-uploader-0.4.2.tar.gz", "has_sig": false, "md5_digest": "fd0dc34ae610bfc29e718c7859b6332e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5981, "upload_time": "2014-09-05T23:51:27", "url": "https://files.pythonhosted.org/packages/a7/d3/a86736cf90d06e4d33151c98fb589e7245a1b322b39aa541da8af49809fc/wheelhouse-uploader-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "d34df08b9c11f673f0c18fdd0d658977", "sha256": "1e6594cbc3115c4856cf5c841d78dc1c18404edffa9e59cd23dad426648b3d6f" }, "downloads": -1, "filename": "wheelhouse_uploader-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d34df08b9c11f673f0c18fdd0d658977", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 8922, "upload_time": "2014-10-02T09:24:47", "url": "https://files.pythonhosted.org/packages/b7/26/65015286cd2d06ed0e87441b12af82bb745a34073ef723b980530e4ecc54/wheelhouse_uploader-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3de086d30aacd49a40c16c6513d7efc4", "sha256": "4d0b49f21b7f1e625a6893df20a7e37163a34cce9762624ee4bd3a1e9754b4bd" }, "downloads": -1, "filename": "wheelhouse-uploader-0.4.3.tar.gz", "has_sig": false, "md5_digest": "3de086d30aacd49a40c16c6513d7efc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6138, "upload_time": "2014-10-02T09:24:45", "url": "https://files.pythonhosted.org/packages/48/a0/a93be58bee5bd1d71c9afc16673346dc408a72247c5ca7df7fb8ea5f06f5/wheelhouse-uploader-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "5570b397eedb8bf483a24719f88a0316", "sha256": "d994c0f5ae477036a50adf351be2298db7f089cfd8e55205535fa52efd0b4626" }, "downloads": -1, "filename": "wheelhouse_uploader-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5570b397eedb8bf483a24719f88a0316", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 8972, "upload_time": "2014-10-02T11:26:26", "url": "https://files.pythonhosted.org/packages/22/78/704ff15db3e7e14fb36ec6543f2077032ccbcc7b328f631bf1337ded5cbc/wheelhouse_uploader-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a021921ccf812952ef4dc3e7ce8d9c05", "sha256": "8829cdb8b574495c2fda182be08cd1024ddc505f52311ff4b3d7ee916fd1a6ba" }, "downloads": -1, "filename": "wheelhouse-uploader-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a021921ccf812952ef4dc3e7ce8d9c05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6195, "upload_time": "2014-10-02T11:26:23", "url": "https://files.pythonhosted.org/packages/68/1d/21d149b1398fdcee9a6bf772546d394a964cab74412fb2d51d90e11e1d90/wheelhouse-uploader-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "a433ef5e9f8210bbf652dd2bd5e9b7c1", "sha256": "44f8210067f6bea5e4969f50c526732d52a10f594db827809a18a8d0b0a65a65" }, "downloads": -1, "filename": "wheelhouse_uploader-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a433ef5e9f8210bbf652dd2bd5e9b7c1", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9156, "upload_time": "2014-10-16T20:52:27", "url": "https://files.pythonhosted.org/packages/cf/a7/64965b778e1320b86aaabb9bf31f9f77bd7b206a431921639050f338039f/wheelhouse_uploader-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3425b2ea91155ceabdf57a37922ccec", "sha256": "16875862288bc5f1fff19e548d35c1947d4706ba98f3186ba561c8c3552fef48" }, "downloads": -1, "filename": "wheelhouse-uploader-0.6.0.tar.gz", "has_sig": false, "md5_digest": "b3425b2ea91155ceabdf57a37922ccec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6498, "upload_time": "2014-10-16T20:52:25", "url": "https://files.pythonhosted.org/packages/71/f5/9aed63bd8fed474eaf5c6cfd83861b9aa402d27d5c976701824e9f8d7914/wheelhouse-uploader-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "078cfabb875ae46b17c01811c335ee59", "sha256": "26870a31ad015c5db75b5052b071ca4130804ba1008a6e1873591960ccf2fdd7" }, "downloads": -1, "filename": "wheelhouse_uploader-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "078cfabb875ae46b17c01811c335ee59", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9652, "upload_time": "2014-12-29T17:41:30", "url": "https://files.pythonhosted.org/packages/37/37/3458176dc6660b3bce2152e6e11760d5b0c450b7a9fa60123a1186fc12de/wheelhouse_uploader-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49a950457964ba7ed90bad0bebcbba07", "sha256": "6818049c28a8b72965c5e358a96ff102daaa586ede5bc154f3e03868ffc345a1" }, "downloads": -1, "filename": "wheelhouse-uploader-0.7.0.tar.gz", "has_sig": false, "md5_digest": "49a950457964ba7ed90bad0bebcbba07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6901, "upload_time": "2014-12-29T17:41:15", "url": "https://files.pythonhosted.org/packages/83/92/c0f99bad980f84ce428ed98a7621fe389836db54790d23f504247d220980/wheelhouse-uploader-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "b52ce37954f04e737cedf1e51b846aa7", "sha256": "2b1f41cde48d2261945f700ddbdc3115e48f5e55515bdbe14da5edfb2d0ecbfa" }, "downloads": -1, "filename": "wheelhouse_uploader-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b52ce37954f04e737cedf1e51b846aa7", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 13213, "upload_time": "2014-12-29T21:15:27", "url": "https://files.pythonhosted.org/packages/19/b9/5bfcc0f21bf31505f177e653359001a55cc73d4b791daf25dcba5a0dba7f/wheelhouse_uploader-0.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7ec769a8a686bf9e3703c0d2ac165ea", "sha256": "4031edadf622d9813cb78927358db30894f651f61212d001167dd20ea0c8f41a" }, "downloads": -1, "filename": "wheelhouse-uploader-0.7.1.tar.gz", "has_sig": false, "md5_digest": "f7ec769a8a686bf9e3703c0d2ac165ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10356, "upload_time": "2014-12-29T21:15:24", "url": "https://files.pythonhosted.org/packages/66/e6/30d87a323cec2b7b1026853d7464d5076379e8ada91b50bb716476f50eb4/wheelhouse-uploader-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "93dbff3bbf6df6b761b9229ef2d8201d", "sha256": "29f65eb93ce1a92b9501664401404e01657ff97e8e9e0d2d18cd3b68c7088b7c" }, "downloads": -1, "filename": "wheelhouse_uploader-0.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "93dbff3bbf6df6b761b9229ef2d8201d", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 13864, "upload_time": "2014-12-31T10:21:51", "url": "https://files.pythonhosted.org/packages/9e/57/9b6e545cee4593ee9bdb31d476b411de6156ab6574a59ca1ae2ad155ce97/wheelhouse_uploader-0.7.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c8272c890f49113c4c86de015bd7927", "sha256": "452a35d907f9f0bc44e8316a8457002d066dc17403e7a58a999e8ccdeb927fab" }, "downloads": -1, "filename": "wheelhouse-uploader-0.7.2.tar.gz", "has_sig": false, "md5_digest": "6c8272c890f49113c4c86de015bd7927", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10988, "upload_time": "2014-12-31T10:21:48", "url": "https://files.pythonhosted.org/packages/fb/d0/f14dfd49f26eb1d286c288f41b6ec69c5cdf91e4c4358b343277caf80bd5/wheelhouse-uploader-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "26d0579696d1cdfc7cd87b4c39fdbe07", "sha256": "8577408b41deb357600fff9a91bd580773319a876fc39a84cc294670c7f41d05" }, "downloads": -1, "filename": "wheelhouse_uploader-0.7.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "26d0579696d1cdfc7cd87b4c39fdbe07", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14038, "upload_time": "2015-03-11T13:38:31", "url": "https://files.pythonhosted.org/packages/ca/cf/4bcf87c1e916b63bfdc72778e0374b0575c7db4e25187cd42996bba02f33/wheelhouse_uploader-0.7.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31d58c2338952f2b7bee8c5e0c717a5e", "sha256": "8714847a08fe5b030240813002bd2eeb1825cd05468d86b735ae32a79b145e0c" }, "downloads": -1, "filename": "wheelhouse-uploader-0.7.3.tar.gz", "has_sig": false, "md5_digest": "31d58c2338952f2b7bee8c5e0c717a5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9099, "upload_time": "2015-03-11T13:38:28", "url": "https://files.pythonhosted.org/packages/1c/39/faeefc19dd8070a9959856c434dd71f92767110a657ea414ac431e38d2f5/wheelhouse-uploader-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "484199d79ae0612dc95a31e17612250b", "sha256": "253ef8b63f8633187cd38d3aa31615a0be8f24cb960528a3359c67ce35314199" }, "downloads": -1, "filename": "wheelhouse_uploader-0.7.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "484199d79ae0612dc95a31e17612250b", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14179, "upload_time": "2015-10-17T10:15:11", "url": "https://files.pythonhosted.org/packages/1a/03/7c7ae1c2c02ead8e9b1b13f1bee15ab673ef5c9d29dfaa8c1eb04cbfbb14/wheelhouse_uploader-0.7.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "867e47f18b45800c201f159a349526b1", "sha256": "9f181a81e7524e7c97ac21a94649f8e5ac524263472886cf91dab6ba803fcb3f" }, "downloads": -1, "filename": "wheelhouse-uploader-0.7.4.tar.gz", "has_sig": false, "md5_digest": "867e47f18b45800c201f159a349526b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11286, "upload_time": "2015-10-17T10:14:59", "url": "https://files.pythonhosted.org/packages/0c/cc/fdd11efb24f23bc6457dd773b636f5b95e3302a0993272571dfdeb1a09bf/wheelhouse-uploader-0.7.4.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "bbd4364c816d75b5cdae66b3540326c6", "sha256": "797d9c62a4817a62d09192a68429b33ef3527406dc2bb85b3b0ce13d23d7be7b" }, "downloads": -1, "filename": "wheelhouse_uploader-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bbd4364c816d75b5cdae66b3540326c6", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16031, "upload_time": "2015-11-30T14:39:38", "url": "https://files.pythonhosted.org/packages/83/43/0a7a90cd9964c49b1da4be2c5441724d0b7f1bb860f5f336264823cce56e/wheelhouse_uploader-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21548bba43afd9ed79e4581c7cc58bbd", "sha256": "02a670efa548d3de36a981a0abb652b267a2668ad0b260145084225060956803" }, "downloads": -1, "filename": "wheelhouse-uploader-0.8.0.tar.gz", "has_sig": false, "md5_digest": "21548bba43afd9ed79e4581c7cc58bbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10666, "upload_time": "2015-11-30T14:39:31", "url": "https://files.pythonhosted.org/packages/4c/6b/633eb8da0c9f18929701f9ce8b6f637eb4f52aa60f21b40002d67d875443/wheelhouse-uploader-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "d3e62649a4c285041a4c249fcb81d3ab", "sha256": "02b273212a301ff531de8d04ce3d7a4b0e7a410f049389e767c4db2751cacf63" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d3e62649a4c285041a4c249fcb81d3ab", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17247, "upload_time": "2015-12-03T14:15:42", "url": "https://files.pythonhosted.org/packages/a2/07/ec7f2031d9de11f673fc4f21181b9d7d0507c9e134dea6a90ba420b82d38/wheelhouse_uploader-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3119d403ac5ee7c502aed17063d94869", "sha256": "c517928225e294f788a32954ea042f9f9aa2aeb1a440555b474b010627390c88" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.0.tar.gz", "has_sig": false, "md5_digest": "3119d403ac5ee7c502aed17063d94869", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11865, "upload_time": "2015-12-03T14:15:35", "url": "https://files.pythonhosted.org/packages/25/10/f1fc55267fffb24ef2a4658006b86da3ef0b6066b42b47e1bd3c4af203ac/wheelhouse-uploader-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "cdcf6e98c4fa2c93f8339cccfac57413", "sha256": "9931a703fb4d3be2367e1b50cea4c7657b9bb299026c6f86d9f7b6c66f3342cf" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdcf6e98c4fa2c93f8339cccfac57413", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17161, "upload_time": "2015-12-04T10:34:38", "url": "https://files.pythonhosted.org/packages/6b/83/a7e4b223a23cadfca828d9d079eae7fbc5ab5897df62c2453cad009d13b6/wheelhouse_uploader-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17170dc5b0fb6f8bfd18c4422068693b", "sha256": "30a8e8c2106578c0784268aed5e58cf509fdea6ffbd27c6febe0e45cf0688e3b" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.1.tar.gz", "has_sig": false, "md5_digest": "17170dc5b0fb6f8bfd18c4422068693b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14007, "upload_time": "2015-12-04T10:34:26", "url": "https://files.pythonhosted.org/packages/3a/9a/9bde3c8207081cb032c43455220b1390b645a45479aae528242eec341390/wheelhouse-uploader-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "84503106462267d7bd622e9112748a2b", "sha256": "48e91023d6598615c1f60ee647afb3297c899261b7689dc4d03470c88c395ced" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "84503106462267d7bd622e9112748a2b", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17401, "upload_time": "2015-12-29T16:52:10", "url": "https://files.pythonhosted.org/packages/5a/64/cca11e2bff05b5815fdf188f9fca038060e09204db8a4ad7f58764cdf24b/wheelhouse_uploader-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "469e2553b3d2e65513609449360dabe8", "sha256": "c62b30516096556f571dc89ad5689de2d04a4620b4f07c6e9eec163f194ef5f0" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.2.tar.gz", "has_sig": false, "md5_digest": "469e2553b3d2e65513609449360dabe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14238, "upload_time": "2015-12-29T16:51:59", "url": "https://files.pythonhosted.org/packages/8b/74/dfba5b5ac530a8e17f1a4d7efaa9003460c958e1ae0d98c071fd6d48f076/wheelhouse-uploader-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "2c0fc0ad509f511443a4734f80bbc480", "sha256": "301d9acdea5a5887b8d3094e1fd632ed383944a18d929960ce278cc4981ba9bf" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2c0fc0ad509f511443a4734f80bbc480", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17709, "upload_time": "2016-05-12T09:01:06", "url": "https://files.pythonhosted.org/packages/bd/9b/c6b11120442cd277bea85d4bf8d4d5524eb5c7336844c131d46f292667f3/wheelhouse_uploader-0.9.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfa2b41ceba6eb8a99f6bd61e1d6f63b", "sha256": "34e585be3c93898c84c2f74e2586e0ba29bfb4b91529fc779dfbaa94ec0d6a32" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.3.tar.gz", "has_sig": false, "md5_digest": "dfa2b41ceba6eb8a99f6bd61e1d6f63b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12304, "upload_time": "2016-05-12T09:01:30", "url": "https://files.pythonhosted.org/packages/70/5c/1fe78e2b453c9961e87c4214ffb82e6b2de8f3b166b72c5460c717494cea/wheelhouse-uploader-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "766b7d2f6d75434f9e94ad1c88450f52", "sha256": "a6f3dd407fb6aedbfa583f48e65a52cc1b0e0e8b35b55697ec26252cec640278" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "766b7d2f6d75434f9e94ad1c88450f52", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17565, "upload_time": "2017-02-13T15:15:08", "url": "https://files.pythonhosted.org/packages/22/d2/b1f3d862930cf5383433608b57d3edccd039fead5cbb21b4afd08bc88a0a/wheelhouse_uploader-0.9.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa63a81d135c37b34e5502f16c7123d3", "sha256": "e1fbebd909d55a311388fef8e9391ac5143f0c982ced8d1a6ee43df373e3dac7" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.4.tar.gz", "has_sig": false, "md5_digest": "aa63a81d135c37b34e5502f16c7123d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12308, "upload_time": "2017-02-13T15:15:10", "url": "https://files.pythonhosted.org/packages/00/7f/49ef2396c5c00ff628a02dbe8461316229d168fb3d7b677139faff10ce68/wheelhouse-uploader-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "ef3bdce04898e3051aca1449a522838a", "sha256": "e1eb78594a841cfeaa08948031b2989767de325fdafda8ca849939954325e5e4" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef3bdce04898e3051aca1449a522838a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17611, "upload_time": "2017-04-26T15:16:30", "url": "https://files.pythonhosted.org/packages/a4/e9/7810a0186fd0854d68bf2f18aed923d0de02959f5393f0886849f328efe6/wheelhouse_uploader-0.9.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad37cdee7d1821c7254b45207bc0d88f", "sha256": "9d345f78d94c7cc10652197b519e15b474a2cd50b0734669c1b7e0e6a768678d" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.5.tar.gz", "has_sig": false, "md5_digest": "ad37cdee7d1821c7254b45207bc0d88f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12252, "upload_time": "2017-04-26T15:16:32", "url": "https://files.pythonhosted.org/packages/36/12/48f2d4942f614181cb442b0a6d7658c3676abcb91173b71c94d5aae62989/wheelhouse-uploader-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "b240b750031640e1f95772ad5b071f5a", "sha256": "dbe87bed0c520110443567d0a8c711fb719e719c0bad8d3061d13a01ed7c37c2" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b240b750031640e1f95772ad5b071f5a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17655, "upload_time": "2018-06-22T12:46:03", "url": "https://files.pythonhosted.org/packages/6e/6a/ca093bbe316ae17ac68358d4d16731d7eac0be11dde1a3891fdc0dcbd159/wheelhouse_uploader-0.9.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b205bc33a0ef155d303a96d81bdb624", "sha256": "30153a1990d8178ad42bdbe42e421b713ec02e5ed010ac63c9d43807cc1bff47" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.6.tar.gz", "has_sig": false, "md5_digest": "8b205bc33a0ef155d303a96d81bdb624", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12920, "upload_time": "2018-06-22T12:46:04", "url": "https://files.pythonhosted.org/packages/e4/47/0021ad4590ef1df0447f622c60ba9613d4f02a3ac66299deec69a6f33289/wheelhouse-uploader-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "e6a74959e1e10875b0de23f4192a1fdc", "sha256": "07a07e9872823195612497370ff9a35f66966f4b6dae63ace79de182b858613b" }, "downloads": -1, "filename": "wheelhouse_uploader-0.9.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e6a74959e1e10875b0de23f4192a1fdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14516, "upload_time": "2018-07-02T09:45:43", "url": "https://files.pythonhosted.org/packages/13/40/f25f29d4373ca4c369f50397e41fd84e0bb6eea6b538582adb4a0db8a2bc/wheelhouse_uploader-0.9.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91f3fbf4566e0673cccd6bcd3e4f86f2", "sha256": "cbbf6a02e59dae00ab1a7bddfc52fddca72422b17eec9e3df2b7315a8530ac3a" }, "downloads": -1, "filename": "wheelhouse-uploader-0.9.7.tar.gz", "has_sig": false, "md5_digest": "91f3fbf4566e0673cccd6bcd3e4f86f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12931, "upload_time": "2018-07-02T09:45:45", "url": "https://files.pythonhosted.org/packages/ca/a0/f1ace854b67c1b1c2afddac6c5a2d07494a0c243bf33e8b1c35c9ba1a6ba/wheelhouse-uploader-0.9.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2d0175dfd7729afee7f59e21d6a08fd", "sha256": "63ac7c7f62e4025f6a4ea54b3e5916c1768414961f7919a460b41f323a84e8e8" }, "downloads": -1, "filename": "wheelhouse_uploader-0.10.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d2d0175dfd7729afee7f59e21d6a08fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14683, "upload_time": "2018-07-03T14:00:46", "url": "https://files.pythonhosted.org/packages/1a/38/ec316138d9e94aebb04e41cc3fc36841a11d6c749def6fddd7c83071566d/wheelhouse_uploader-0.10.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdda42df81427bb9e64dbb5e576d5dd4", "sha256": "161e04011a3856aa8c3ec0206e73ceeaab604789993713866c68411dbdd226fd" }, "downloads": -1, "filename": "wheelhouse-uploader-0.10.1.tar.gz", "has_sig": false, "md5_digest": "cdda42df81427bb9e64dbb5e576d5dd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15215, "upload_time": "2018-07-03T14:00:48", "url": "https://files.pythonhosted.org/packages/26/d8/e7f674cca65c1abb6e5c1f6d5c724816316e7048eed5d2fdd817fb9e694f/wheelhouse-uploader-0.10.1.tar.gz" } ] }