{ "info": { "author": "NAGY, Attila", "author_email": "nagy.attila@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# cloudperf\n## Measuring the relative performance of cloud resources\n\nCloudperf is a python helper for running benchmarks on cloud providers'\ninfrastructure (currently Amazon AWS/EC2 is supported) and getting/comparing\nthe results along with their price.\n\nFeatures include:\n* fetch and upload EC2 instance prices (both on-demand and spot) from/to S3\n* run defined benchmarks on all EC2 node types in docker images\n** ability to run more sophisticated benchmark setups (on one node), like launching a multi-instance distributed DB server and a benchmark client\n** any docker image can be used for the benchmarks, the only requirement is to be able to produce a benchmark score\n* CLI for updating/getting the gathered data\n\n## Getting started\n\nYou can install the application with a simple `pip install cloudperf`.\nThen you'll have the `cloudperf` executable, which is the main entry point to the\napplication.\n\n### Cloudperf data\n\nCloudperf works with tabular data, stored in S3 (world readable published) in\ncompressed JSON files.\nThe three files are:\n1. Prices: https://cloudperf-data.s3-us-west-2.amazonaws.com/prices.json.gz\n1. Performance: https://cloudperf-data.s3-us-west-2.amazonaws.com/performance.json.gz\n1. Combined: https://cloudperf-data.s3-us-west-2.amazonaws.com/combined.json.gz\n\nPrices are constantly updated for many reasons:\n1. new instance types come and old ones go\n1. the prices can change\n1. the spot prices change dynamically, very similarly to a stock exchange\n\nThe Performance data is updated in a much less frequent manner.\nThe Combined file is updated approximately daily and it's mainly for embedded\nweb, not for general use.\n\n### Using the CLI\n\nThe CLI has two modes of operation:\n1. get/show mode\n1. update mode\n\nThe first is when you use the already compiled data, which contains the current\nprices and benchmark results.\nThe second can be used to update either the price list or (re)run the benchmarks\nand store the data. You can use this internally as well to run your own benchmarks.\n\nThe get mode has some common arguments:\n* `--cols` for the columns you want to see. There are many columns in the data tables,\nmany of them are hidden by default, to make the output easier to read.\n* `--sort` the column(s) to sort on\n* `--filter` you can filter on the given column's data. You can use basic operators,\nlike `>`, `<`, `>=`, `<=` and `=`\n\n#### Getting the prices\n\nIf you execute `cloudperf prices`, it will fetch actual pricing data from S3 and\nshow it to you, like:\n```\n$ cloudperf prices\ninstanceType region spot-az vcpu memory price\n t3.nano eu-north-1 eu-north-1c 2 0.500 0.00160\n t3.nano us-east-2 us-east-2c 2 0.500 0.00160\n t3.nano us-east-1 us-east-1a 2 0.500 0.00160\n t3.nano us-east-1 us-east-1f 2 0.500 0.00160\n t3.nano us-east-1 us-east-1d 2 0.500 0.00160\n t3.nano us-east-1 us-east-1c 2 0.500 0.00160\n t3.nano us-east-1 us-east-1b 2 0.500 0.00160\n t3.nano eu-north-1 eu-north-1a 2 0.500 0.00160\n t3.nano us-west-2 us-west-2a 2 0.500 0.00160\n t3.nano us-east-2 us-east-2b 2 0.500 0.00160\n t3.nano eu-north-1 eu-north-1b 2 0.500 0.00160\n t3.nano us-east-2 us-east-2a 2 0.500 0.00160\n t3.nano eu-west-1 eu-west-1a 2 0.500 0.00170\n t3.nano eu-west-1 eu-west-1c 2 0.500 0.00170\n t3.nano ca-central-1 ca-central-1b 2 0.500 0.00170\n t3.nano ap-south-1 ap-south-1b 2 0.500 0.00170\n t3.nano ap-south-1 ap-south-1a 2 0.500 0.00170\n t3.nano us-west-2 us-west-2c 2 0.500 0.00170\n t3.nano ca-central-1 ca-central-1a 2 0.500 0.00170\n t3.nano eu-west-1 eu-west-1b 2 0.500 0.00170\n t3.nano eu-west-2 eu-west-2b 2 0.500 0.00180\n t3.nano eu-central-1 eu-central-1c 2 0.500 0.00180\n t3.nano us-west-2 us-west-2b 2 0.500 0.00180\n t3.nano eu-west-2 eu-west-2a 2 0.500 0.00180\n t3.nano eu-west-2 eu-west-2c 2 0.500 0.00180\n t3.nano eu-central-1 eu-central-1a 2 0.500 0.00180\n t3.nano eu-central-1 eu-central-1b 2 0.500 0.00180\n t3.nano us-west-1 us-west-1b 2 0.500 0.00190\n t3.nano us-west-1 us-west-1a 2 0.500 0.00190\n t3.nano ap-northeast-1 ap-northeast-1a 2 0.500 0.00200\n t1.micro eu-west-1 eu-west-1b 1 0.613 0.00200\n t3.nano ap-southeast-2 ap-southeast-2b 2 0.500 0.00200\n t3.nano ap-southeast-2 ap-southeast-2c 2 0.500 0.00200\n t3.nano ap-southeast-2 ap-southeast-2a 2 0.500 0.00200\n t3.nano ap-southeast-1 ap-southeast-1c 2 0.500 0.00200\n t1.micro us-east-1 us-east-1b 1 0.613 0.00200\n t1.micro us-east-1 us-east-1c 1 0.613 0.00200\n```\n\nYou can filter for any columns, like for a given region:\n```\n$ cloudperf prices --filter region=us-west-2 | head -10\ninstanceType region spot-az vcpu memory price\n t3.nano us-west-2 us-west-2a 2 0.500 0.0016\n t3.nano us-west-2 us-west-2c 2 0.500 0.0017\n t3.nano us-west-2 us-west-2b 2 0.500 0.0018\n t1.micro us-west-2 us-west-2a 1 0.613 0.0020\n t1.micro us-west-2 us-west-2b 1 0.613 0.0020\n t1.micro us-west-2 us-west-2c 1 0.613 0.0020\n t3.micro us-west-2 us-west-2c 2 1.000 0.0031\n t3.micro us-west-2 us-west-2a 2 1.000 0.0031\n t3.micro us-west-2 us-west-2b 2 1.000 0.0031\n```\n\nYou can have multiple filters:\n```\n$ cloudperf prices --filter 'vcpu>=128' --filter region=us-west-2\ninstanceType region spot-az vcpu memory price\n x1.32xlarge us-west-2 us-west-2c 128 1952.0 4.0014\n x1.32xlarge us-west-2 us-west-2b 128 1952.0 4.0014\n x1.32xlarge us-west-2 None 128 1952.0 13.3380\n x1.32xlarge us-west-2 us-west-2a 128 1952.0 13.3380\nx1e.32xlarge us-west-2 None 128 3904.0 26.6880\nx1e.32xlarge us-west-2 us-west-2b 128 3904.0 26.6880\nx1e.32xlarge us-west-2 us-west-2a 128 3904.0 26.6880\n```\n\nThe spot-az column contains the Availability Zone (AZ) and the last known spot\nprice if available. spot-az None marks the on-demand price for the instance in\nthat region.\n\n#### Getting the benchmark results\nYou can issue `cloudperf performance --no-combined` to get the latest benchmark\nresults. This will include all the benchmarks for the benchmarked instances and\ntheir latest score.\nBy default, this will only show the benchmark results with the vCPU-numbered\nconcurrency (meaning the benchmark program ran with vCPU parallelism).\nIf you want to see benchmark results for each number of vCPUs, you can use for\nexample:\n```\n$ cloudperf performance --no-combined --no-maxcpu --filter instanceType=m5.24xlarge --filter benchmark_id=stress-ng:crc16\ninstanceType benchmark_id benchmark_cpus benchmark_score\nm5.24xlarge stress-ng:crc16 1 153.4700\nm5.24xlarge stress-ng:crc16 2 305.4200\nm5.24xlarge stress-ng:crc16 3 457.2700\nm5.24xlarge stress-ng:crc16 4 607.5400\nm5.24xlarge stress-ng:crc16 5 750.4900\nm5.24xlarge stress-ng:crc16 6 897.9900\nm5.24xlarge stress-ng:crc16 7 1042.1200\nm5.24xlarge stress-ng:crc16 8 1186.4000\nm5.24xlarge stress-ng:crc16 9 1333.7000\nm5.24xlarge stress-ng:crc16 10 1480.6400\nm5.24xlarge stress-ng:crc16 11 1624.5700\nm5.24xlarge stress-ng:crc16 12 1773.9300\nm5.24xlarge stress-ng:crc16 13 1921.5400\nm5.24xlarge stress-ng:crc16 14 2066.2900\nm5.24xlarge stress-ng:crc16 15 2213.0600\nm5.24xlarge stress-ng:crc16 16 2359.9000\nm5.24xlarge stress-ng:crc16 17 2507.6800\nm5.24xlarge stress-ng:crc16 18 2653.8500\nm5.24xlarge stress-ng:crc16 19 2800.1600\nm5.24xlarge stress-ng:crc16 20 2945.6200\nm5.24xlarge stress-ng:crc16 21 3092.3500\nm5.24xlarge stress-ng:crc16 22 3238.4400\nm5.24xlarge stress-ng:crc16 23 3383.5900\nm5.24xlarge stress-ng:crc16 24 3528.6500\nm5.24xlarge stress-ng:crc16 25 3673.7700\nm5.24xlarge stress-ng:crc16 26 3821.0200\nm5.24xlarge stress-ng:crc16 27 3963.2900\nm5.24xlarge stress-ng:crc16 28 4109.5900\nm5.24xlarge stress-ng:crc16 29 4253.9200\nm5.24xlarge stress-ng:crc16 30 4400.6100\nm5.24xlarge stress-ng:crc16 31 4543.7900\nm5.24xlarge stress-ng:crc16 32 4690.0000\nm5.24xlarge stress-ng:crc16 33 4826.8500\nm5.24xlarge stress-ng:crc16 34 4938.4700\nm5.24xlarge stress-ng:crc16 35 5114.5600\nm5.24xlarge stress-ng:crc16 36 5256.2100\nm5.24xlarge stress-ng:crc16 37 5391.5700\nm5.24xlarge stress-ng:crc16 38 5532.8000\nm5.24xlarge stress-ng:crc16 39 5641.4900\nm5.24xlarge stress-ng:crc16 40 5797.2500\nm5.24xlarge stress-ng:crc16 41 5941.1000\nm5.24xlarge stress-ng:crc16 42 6072.0700\nm5.24xlarge stress-ng:crc16 45 6207.2000\nm5.24xlarge stress-ng:crc16 43 6208.1700\nm5.24xlarge stress-ng:crc16 44 6333.4600\nm5.24xlarge stress-ng:crc16 46 6508.2700\nm5.24xlarge stress-ng:crc16 47 6709.0500\nm5.24xlarge stress-ng:crc16 48 6869.4300\nm5.24xlarge stress-ng:crc16 50 6973.1700\nm5.24xlarge stress-ng:crc16 49 6973.2600\nm5.24xlarge stress-ng:crc16 51 7127.6400\nm5.24xlarge stress-ng:crc16 52 7327.4600\nm5.24xlarge stress-ng:crc16 53 7444.9100\nm5.24xlarge stress-ng:crc16 54 7546.5700\nm5.24xlarge stress-ng:crc16 55 7658.1300\nm5.24xlarge stress-ng:crc16 56 7708.0800\nm5.24xlarge stress-ng:crc16 57 7885.0400\nm5.24xlarge stress-ng:crc16 58 7994.7500\nm5.24xlarge stress-ng:crc16 59 8099.9600\nm5.24xlarge stress-ng:crc16 60 8211.5600\nm5.24xlarge stress-ng:crc16 61 8314.0200\nm5.24xlarge stress-ng:crc16 62 8434.1600\nm5.24xlarge stress-ng:crc16 63 8543.7900\nm5.24xlarge stress-ng:crc16 64 8650.0700\nm5.24xlarge stress-ng:crc16 65 8751.9500\nm5.24xlarge stress-ng:crc16 66 8861.1900\nm5.24xlarge stress-ng:crc16 67 8974.5600\nm5.24xlarge stress-ng:crc16 68 9083.7900\nm5.24xlarge stress-ng:crc16 69 9194.9700\nm5.24xlarge stress-ng:crc16 70 9305.0300\nm5.24xlarge stress-ng:crc16 71 9408.9300\nm5.24xlarge stress-ng:crc16 72 9504.9400\nm5.24xlarge stress-ng:crc16 73 9630.7000\nm5.24xlarge stress-ng:crc16 74 9739.4700\nm5.24xlarge stress-ng:crc16 75 9849.7800\nm5.24xlarge stress-ng:crc16 76 9955.6900\nm5.24xlarge stress-ng:crc16 77 10067.6800\nm5.24xlarge stress-ng:crc16 78 10163.1200\nm5.24xlarge stress-ng:crc16 79 10284.8700\nm5.24xlarge stress-ng:crc16 80 10392.3300\nm5.24xlarge stress-ng:crc16 81 10489.5500\nm5.24xlarge stress-ng:crc16 82 10609.9500\nm5.24xlarge stress-ng:crc16 83 10660.9400\nm5.24xlarge stress-ng:crc16 84 10819.9800\nm5.24xlarge stress-ng:crc16 85 10931.2500\nm5.24xlarge stress-ng:crc16 86 11042.3300\nm5.24xlarge stress-ng:crc16 87 11142.7500\nm5.24xlarge stress-ng:crc16 88 11259.1200\nm5.24xlarge stress-ng:crc16 89 11366.6500\nm5.24xlarge stress-ng:crc16 90 11432.5700\nm5.24xlarge stress-ng:crc16 91 11569.4600\nm5.24xlarge stress-ng:crc16 92 11680.7600\nm5.24xlarge stress-ng:crc16 93 11787.9300\nm5.24xlarge stress-ng:crc16 94 11902.5500\nm5.24xlarge stress-ng:crc16 95 11995.5200\nm5.24xlarge stress-ng:crc16 96 12102.4500\n```\nHere you can see how scalable is that instance (mainly the hypervisor/CPU and of\ncourse the OS).\n\n#### Getting performance/price results\n\nThe main reason for this program to exist is to conduct a performance/price ratio\nfor the benchmarked instances in order to know which instances should we use for\nexecuting large batch jobs.\n\nYou can list the instances' relative performance/price results with a command\nsimilar to this:\n\n```\n$ cloudperf performance --filter benchmark_id=stress-ng:crc16 --filter region=us-west-2\ninstanceType benchmark_id benchmark_cpus perf/price price benchmark_score region spot-az\n[...]\n t2.2xlarge stress-ng:crc16 8 8765.0808 0.1114 976.4300 us-west-2 us-west-2b\n t2.2xlarge stress-ng:crc16 8 8765.0808 0.1114 976.4300 us-west-2 us-west-2a\n t2.xlarge stress-ng:crc16 4 8862.2980 0.0557 493.6300 us-west-2 us-west-2a\n t2.xlarge stress-ng:crc16 4 8862.2980 0.0557 493.6300 us-west-2 us-west-2b\n t2.xlarge stress-ng:crc16 4 8862.2980 0.0557 493.6300 us-west-2 us-west-2c\n t3.xlarge stress-ng:crc16 4 9067.4651 0.0501 454.2800 us-west-2 us-west-2b\n c4.8xlarge stress-ng:crc16 36 9370.8534 0.4992 4677.9300 us-west-2 us-west-2c\n c4.8xlarge stress-ng:crc16 36 9529.2931 0.4909 4677.9300 us-west-2 us-west-2b\n c4.8xlarge stress-ng:crc16 36 9535.1203 0.4906 4677.9300 us-west-2 us-west-2a\n t3.2xlarge stress-ng:crc16 8 9742.1769 0.1029 1002.4700 us-west-2 us-west-2a\n t3.2xlarge stress-ng:crc16 8 10004.6906 0.1002 1002.4700 us-west-2 us-west-2b\n t3.small stress-ng:crc16 2 12400.0000 0.0209 259.1600 us-west-2 us-west-2d\n t3.small stress-ng:crc16 2 12459.6154 0.0208 259.1600 us-west-2 None\n t2.medium stress-ng:crc16 2 17940.2878 0.0139 249.3700 us-west-2 us-west-2c\n t2.medium stress-ng:crc16 2 17940.2878 0.0139 249.3700 us-west-2 us-west-2b\n t2.medium stress-ng:crc16 2 17940.2878 0.0139 249.3700 us-west-2 us-west-2a\n t3.small stress-ng:crc16 2 41136.5079 0.0063 259.1600 us-west-2 us-west-2a\n t3.small stress-ng:crc16 2 41136.5079 0.0063 259.1600 us-west-2 us-west-2b\n t3.small stress-ng:crc16 2 41136.5079 0.0063 259.1600 us-west-2 us-west-2c\n```\n\nHere you can see if nothing more is important to you than to get decent performance\nfor your money, t3.small would be the best.\n_WARNING! The benchmarks are executed with unlimited CPU credits (where applicable),\nbut this is not reflected in the prices!_\n\nExcluding burstable instances from the list gives:\n```\nc5d.18xlarge stress-ng:crc16 72 14177.0380 0.7029 9965.0400 us-east-2 us-east-2b\n c5.18xlarge stress-ng:crc16 72 14339.3896 0.6946 9960.1400 us-east-2 us-east-2c\n c5.18xlarge stress-ng:crc16 72 14368.3497 0.6932 9960.1400 us-east-2 us-east-2b\n c5d.2xlarge stress-ng:crc16 8 14375.2618 0.0764 1098.2700 us-east-2 us-east-2b\n c4.4xlarge stress-ng:crc16 16 14386.1878 0.1448 2083.1200 us-east-2 us-east-2c\n c4.4xlarge stress-ng:crc16 16 14386.1878 0.1448 2083.1200 us-east-2 us-east-2b\n c4.4xlarge stress-ng:crc16 16 14386.1878 0.1448 2083.1200 us-east-2 us-east-2a\n c5d.2xlarge stress-ng:crc16 8 14450.9211 0.0760 1098.2700 us-east-2 us-east-2c\n c5.4xlarge stress-ng:crc16 16 14595.0690 0.1521 2219.9100 us-east-2 us-east-2a\n c5.4xlarge stress-ng:crc16 16 14595.0690 0.1521 2219.9100 us-east-2 us-east-2c\n c5.4xlarge stress-ng:crc16 16 14604.6711 0.1520 2219.9100 us-east-2 us-east-2b\n c5d.9xlarge stress-ng:crc16 36 14605.6416 0.3421 4996.5900 us-east-2 us-east-2a\n c5d.9xlarge stress-ng:crc16 36 14605.6416 0.3421 4996.5900 us-east-2 us-east-2b\n c5d.9xlarge stress-ng:crc16 36 14605.6416 0.3421 4996.5900 us-east-2 us-east-2c\n a1.xlarge stress-ng:crc16 4 15625.8883 0.0197 307.8300 us-east-2 us-east-2b\n a1.xlarge stress-ng:crc16 4 15625.8883 0.0197 307.8300 us-east-2 us-east-2a\n c4.8xlarge stress-ng:crc16 36 16153.0732 0.2896 4677.9300 us-east-2 us-east-2b\n c4.8xlarge stress-ng:crc16 36 16153.0732 0.2896 4677.9300 us-east-2 us-east-2a\n c4.8xlarge stress-ng:crc16 36 16153.0732 0.2896 4677.9300 us-east-2 us-east-2c\n```\nWhich means at the time of writing, a spot c4.8xlarge instance is the winner\nof the price/performance contest in the us-east-2 region.\n\n## Currently available benchmarks\n\nBecause running benchmarks cost money, the range of them is quite limited ATM.\nWe use [stress-ng](https://kernel.ubuntu.com/~cking/stress-ng/) to do multiprocess\nbenchmarking. We don't really care about the absolute numbers just the relation\nbetween them.\n\n* `stress-ng:hdd_rndwr_512`: this writes 512 byte blocks with O_DIRECT, O_DSYNC flags\n* `stress-ng:hdd_rndwr_4k`: this writes 4k byte blocks with O_DIRECT, O_DSYNC flags\n* `stress-ng:crc16`: this computes 1024 rounds of CCITT CRC16 on random data\n* `stress-ng:matrixprod`: matrix product of two 128 x 128 matrices of double floats\n\n## Motivation\n\nThis script and running the benchmarks is sponsored by [System1](http://system1.com/).\nSystem1 uses Amazon's infrastructure to run its business and has a lot of batch jobs,\nwhich should be executed in the most cost effective manner.\nCloudperf helps to achieve that: it shows which is the most performing instance\nfor a given price at the time of the execution.\n\n## Realtime data\n\nThe actual prices can be browsed here:\nhttps://bra-fsn.github.io/cloudperf/prices.html", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bra-fsn/cloudperf", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "cloudperf", "package_url": "https://pypi.org/project/cloudperf/", "platform": "", "project_url": "https://pypi.org/project/cloudperf/", "project_urls": { "Homepage": "https://github.com/bra-fsn/cloudperf" }, "release_url": "https://pypi.org/project/cloudperf/0.0.12/", "requires_dist": null, "requires_python": "", "summary": "Relative performance index for cloud services", "version": "0.0.12" }, "last_serial": 5482386, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "74271378a210105dd8cefa9e03c70b20", "sha256": "d2e8e0aaccfd60d8c49aa86ab852bd2e896470023509b1ff5aeb754139387b62" }, "downloads": -1, "filename": "cloudperf-0.0.1.tar.gz", "has_sig": false, "md5_digest": "74271378a210105dd8cefa9e03c70b20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13444, "upload_time": "2019-02-25T12:54:38", "url": "https://files.pythonhosted.org/packages/2b/3a/877209d7eb089efc7ecc00169fc57b7cc0890b9b87d323faf38c770ff690/cloudperf-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "734403992e126c121a5c8f2689e1ac30", "sha256": "dbce3cfab20358a9e65dad47d32792c388a6abb71cc8e4b0827229e289c3f09d" }, "downloads": -1, "filename": "cloudperf-0.0.10-py2.7.egg", "has_sig": false, "md5_digest": "734403992e126c121a5c8f2689e1ac30", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 39845, "upload_time": "2019-03-26T11:44:14", "url": "https://files.pythonhosted.org/packages/fb/a0/e8c1a07ac7c117eae82bd5fdebbc0aca7a43dd4ee7ac2bb2a97a41459446/cloudperf-0.0.10-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "cfe18fedfd654fa902b5750de59af124", "sha256": "3430a06b87278474f73fbd96366865c50d32ef02e3e557c1e69142efbbb29a56" }, "downloads": -1, "filename": "cloudperf-0.0.10.tar.gz", "has_sig": false, "md5_digest": "cfe18fedfd654fa902b5750de59af124", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24401, "upload_time": "2019-03-26T11:44:16", "url": "https://files.pythonhosted.org/packages/30/f1/eb0e3490e5e5f9cc61a4f1a2067d4d6b3a46878e39979b6fa4852efbb128/cloudperf-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "41cf4333244f2f79a416a27c6a6ce3f5", "sha256": "5f40465b365f84d8a70e057a8a0ffc3631b87cda5e84ade0dbdc1572690152a7" }, "downloads": -1, "filename": "cloudperf-0.0.11.tar.gz", "has_sig": false, "md5_digest": "41cf4333244f2f79a416a27c6a6ce3f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20654, "upload_time": "2019-03-27T12:39:17", "url": "https://files.pythonhosted.org/packages/4e/81/1ba8bd2acbce59cb92526222606890645d27a97d5cdb9b88a7ecb56aed32/cloudperf-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "f301fb526f1b4566364840b0e7537907", "sha256": "704f77aaf3f2dfdd054e002945d9531e06d7698f7e07d575816e8ba7308f2fb5" }, "downloads": -1, "filename": "cloudperf-0.0.12.tar.gz", "has_sig": false, "md5_digest": "f301fb526f1b4566364840b0e7537907", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23501, "upload_time": "2019-07-03T15:42:42", "url": "https://files.pythonhosted.org/packages/14/26/977f6fcc6c7df1b0583227f06b469cfcff7fe497e2156612374f8805103a/cloudperf-0.0.12.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "6d8b05b983a01c521c4ad10c15ac09b4", "sha256": "d7140b52eec71ad132e1ffed4a956252d5b79ad334709ac42b304cbbff3adde2" }, "downloads": -1, "filename": "cloudperf-0.0.2.tar.gz", "has_sig": false, "md5_digest": "6d8b05b983a01c521c4ad10c15ac09b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13588, "upload_time": "2019-02-25T13:19:18", "url": "https://files.pythonhosted.org/packages/d2/15/46e8ed331f9193a00f99dc3d76f8871bd0fc58e444308e12e856f2f3963e/cloudperf-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "24e057712713a737deb4383ffb55b11b", "sha256": "ad2914235eeb43feec4b04002f209fa382ba37ab21c4846b3bcc29e586f5c61b" }, "downloads": -1, "filename": "cloudperf-0.0.3.tar.gz", "has_sig": false, "md5_digest": "24e057712713a737deb4383ffb55b11b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13525, "upload_time": "2019-02-25T13:30:35", "url": "https://files.pythonhosted.org/packages/bc/99/1fabfa10ac2e5a9bebf272adf4bb540743be2a5eaa791fe8b9d5e368c24b/cloudperf-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "6e9b7be541eb2c633faf5ce8193b7897", "sha256": "bb641824e34cf5ffe82b34ae867d8c7eb10c8ed1bea12be1666c573eed5ad500" }, "downloads": -1, "filename": "cloudperf-0.0.4.tar.gz", "has_sig": false, "md5_digest": "6e9b7be541eb2c633faf5ce8193b7897", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13785, "upload_time": "2019-02-25T13:32:22", "url": "https://files.pythonhosted.org/packages/82/32/07109752b3a286af2f76ade9a97d4f1fb86eae6911e6c734fb286dd44bb0/cloudperf-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "6b22890f9d4d63d3c90b7bb68ef8b284", "sha256": "cd34285fa40887630a92e2c56fac85526b7f46e879b27bd6d186287be1ce489f" }, "downloads": -1, "filename": "cloudperf-0.0.5.tar.gz", "has_sig": false, "md5_digest": "6b22890f9d4d63d3c90b7bb68ef8b284", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13478, "upload_time": "2019-02-25T13:44:36", "url": "https://files.pythonhosted.org/packages/bb/bf/0c90525ae1110c16223fe0e99bf7c7111519f871cdaf15d1ccad4ec54f67/cloudperf-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "b360be5b1f4a039500bd3350bb6d581a", "sha256": "f044db767ce31f481430c4056621e062fe1d9c5795f7f7a28d8a88b338e66234" }, "downloads": -1, "filename": "cloudperf-0.0.6.tar.gz", "has_sig": false, "md5_digest": "b360be5b1f4a039500bd3350bb6d581a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14441, "upload_time": "2019-02-28T10:44:27", "url": "https://files.pythonhosted.org/packages/ef/9f/c842038fc8d80a84201bb185721090f1290ecf3e099780f39b2c36cc684f/cloudperf-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "f2cbafa05cc5636b9498bb9a4ef0c9d1", "sha256": "602ab68dd83e0cfb1588bcfcda5977738a1f23df637f854990b1b455af5c99c4" }, "downloads": -1, "filename": "cloudperf-0.0.7.tar.gz", "has_sig": false, "md5_digest": "f2cbafa05cc5636b9498bb9a4ef0c9d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20757, "upload_time": "2019-03-01T10:05:44", "url": "https://files.pythonhosted.org/packages/37/09/c54d4448fc3da71233f47fdcf11c85ed39937ce1cf0f1d6558f92011db8e/cloudperf-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "b3a43960e07b518589bde8aecf8d6756", "sha256": "6974a3da43724b198e20a13c124e387a11156d31b8aa4a26b5352b23ae0e02ac" }, "downloads": -1, "filename": "cloudperf-0.0.8.tar.gz", "has_sig": false, "md5_digest": "b3a43960e07b518589bde8aecf8d6756", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24413, "upload_time": "2019-03-01T11:09:47", "url": "https://files.pythonhosted.org/packages/fc/d9/1f0079b24b4e304bd872c1ea918f04e1d18dfeae20b12d082430ce5be1d1/cloudperf-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "5c761242c5f22d778dcdc6065dc28b51", "sha256": "d7c2b37f574cb2164aeeccc665624ddf6cb70b0fdc9b3339315e37fa9993cba6" }, "downloads": -1, "filename": "cloudperf-0.0.9.tar.gz", "has_sig": false, "md5_digest": "5c761242c5f22d778dcdc6065dc28b51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20703, "upload_time": "2019-03-01T11:17:26", "url": "https://files.pythonhosted.org/packages/b9/b8/46bc791c3ef97c7bd2b22dec2dbb2d30f735b56392804cbedbd287edeaf5/cloudperf-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f301fb526f1b4566364840b0e7537907", "sha256": "704f77aaf3f2dfdd054e002945d9531e06d7698f7e07d575816e8ba7308f2fb5" }, "downloads": -1, "filename": "cloudperf-0.0.12.tar.gz", "has_sig": false, "md5_digest": "f301fb526f1b4566364840b0e7537907", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23501, "upload_time": "2019-07-03T15:42:42", "url": "https://files.pythonhosted.org/packages/14/26/977f6fcc6c7df1b0583227f06b469cfcff7fe497e2156612374f8805103a/cloudperf-0.0.12.tar.gz" } ] }