{ "info": { "author": "Odin - Ingram Micro Company", "author_email": "aps@odin.com", "bugtrack_url": null, "classifiers": [], "description": "# Google Cloud Monitoring API Command Line\n\n[![pypi](https://img.shields.io/pypi/v/gcpmetrics.svg)](https://img.shields.io/pypi/v/gcpmetrics.svg)\n[![Build Status](https://travis-ci.org/odin-public/gcpmetrics.svg?branch=master)](https://travis-ci.org/odin-public/gcpmetrics)\n\nHomepage: https://github.com/odin-public/gcpmetrics\n\n## 1. Overview\n\nThe Google Monitoring API v3 gives you access to over 900 Stackdriver Monitoring\nmetrics from Google Cloud Platform and Amazon Web Services. You can create your\nown custom metrics and can organize your cloud resources using groups.\n\nMore information: https://cloud.google.com/monitoring/api/v3/\n\nThis tool provides a simple command-line interface to query Google Monitoring API v3.\nThis is handy when integrating with warious monitoring tools, like Zabbix (http://www.zabbix.com/)\nor Nagios (https://www.nagios.org/).\n\n## 2. Installation\n\nYou can install this tool simply by running\n\n```\n$ pip install --upgrade gcpmetrics\n```\n\n## 3. Authentication\n\nYou need to be authenticated with Google Cloud API to run this tool. Two ways of authentication \nare supported: (a) interactive login and (b) service account token. \n \n### a. Interactive\n\nIf you're developing locally, the easiest way to authenticate is using the Google Cloud SDK:\n\n```\n$ gcloud auth login\n```\n\n### b. Service acount\n\nIf you're running your application elsewhere, you should download a service account\nJSON keyfile and point to it using --keyfile parameter.\n\n```\n$ gcpmetrics --keyfile ./keyfile.json [...]\n```\n\nMore details on authentication with gcloud: http://googlecloudplatform.github.io/gcloud-python/stable/gcloud-auth.html\n\n## 4. Project ID\n\nThe project ID is a unique identifier for a Google Cloud Platform project and is used only\nwithin the console. A project ID cannot be changed after the project is created. You need to\nidentify your project ID with the --project parameter\n\n```\n$ gcpmetrics --project my-unique-project-id [...]\n```\n\nMore details on how to locate your project ID: https://support.google.com/cloud/answer/6158840\n\n## 5. Monitored Resources\n\nA monitored resource represents a cloud entity that originates some monitoring data or is the subject of it.\nYou can list all monitored resources visible to you at the moment by running the following command:\n\n```\n$ gcpmetrics --keyfile ./keyfile.json --project my-unique-project-id --list-resources\n\nMonitored resource descriptors:\nResource descriptor #1\n\tname: projects/my-unique-project-id/monitoredResourceDescriptors/api\n\ttype: api\n[...]\n```\n\nMore details on monitored resources: https://cloud.google.com/monitoring/api/v3/metrics#intro-resources\n\n## 6. Available Metrics\n\nA MetricDescriptor defines a metric type and its dimensions and could be listed\nas shown in the following example:\n\n```\n$ gcpmetrics --keyfile ./keyfile.json --project my-unique-project-id --list-metrics\n\nDefined metric descriptors:\nMetric descriptor #1\n\tname: projects/my-unique-project-id/metricDescriptors/agent.googleapis.com/agent/api_request_count\n\ttype: agent.googleapis.com/agent/api_request_count\n\tmetric_kind: CUMULATIVE\n\tvalue_type: INT64\n\tunit: 1\n\tdisplay_name: API Request Count\n\tdescription: API request count\n[...]\n```\n\nMore details on metrics: https://cloud.google.com/monitoring/api/v3/metrics#metric-descriptor\n\n## 7. Simple Query\n\nAn example of simple query to retrieve on of standard metrics (see https://cloud.google.com/monitoring/api/metrics)\nidentified as \"appengine.googleapis.com/system/cpu/usage\" would look like the following:\n\n```\n$ gcpmetrics --keyfile ./keyfile.json \\\n --project my-unique-project-id \\\n --query --days 2 \\\n --metric appengine.googleapis.com/system/cpu/usage\n\nQUERY: metric.type = \"appengine.googleapis.com/system/cpu/usage\"\nresource_type gae_app\nproject_id my-unique-project-id \nmodule_id default \nversion_id 1 \nsource api runtime \n2016-08-30 13:35:52.268 0.0 0.0 \n...\n2016-09-01 13:32:52.268 0.0 18.0 \n\n[2825 rows x 4 columns]\n```\n\nNote that time period is required and in the above example it was specified as 2 days (from 'now').\n\n## 8. Aggregations\n\nLet's say we want to calculate the total value of the same counter used in the above example. The\nquery would look like the following:\n\n```\n$ gcpmetrics --keyfile ./keyfile.json \\\n --project my-unique-project-id \\\n --query --days 2 \\\n --metric appengine.googleapis.com/system/cpu/usage \\\n --reduce REDUCE_SUM \\\n --align ALIGN_SUM\n\nALIGN: ALIGN_SUM seconds: 172800.0\nREDUCE: REDUCE_SUM grouping: None\nQUERY: metric.type = \"appengine.googleapis.com/system/cpu/usage\"\nresource_type gae_app\nproject_id my-unique-project-id\n2016-09-01 13:40:00 45809\n```\n\nSupported --align parameters:\n\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_FRACTION_TRUE\n\nSupported --reduce parameters:\n\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n\n## 9. Silent Mode\n\nIn certain cases (like integration into systems like Zabbix) you only need the resulting value\nto be printed to the standard output. To do that, just append --iloc00 as shown below:\n\n```\n$ gcpmetrics --keyfile ./keyfile.json \\\n --project my-unique-project-id \\\n --query --days 2 \\\n --metric appengine.googleapis.com/system/cpu/usage \\\n --reduce REDUCE_SUM \\\n --align ALIGN_SUM \\\n --iloc00\n\n45809\n```\n\nNote that 'iloc' stands for \"integer location\" of the pandas library (http://pandas.pydata.org/)\nand refers to the index [0:0] of the returned table. Thus will only work with aggregated values.\n\n## 10. Metric Filtering\n\nLet's say you want to calculate total number of 5xx responses in a given period of time.\nThe coutner responsible for that is called \"appengine.googleapis.com/http/server/response_count\",\nbut you need to apply filter (500 <= code) && (code < 600). You can do that with the following \ncommand: \n\n```\n$ gcpmetrics --keyfile ./keyfile.json \\\n --project my-unique-project-id \\\n --query --days 2 \\\n --metric appengine.googleapis.com/http/server/response_count \\\n --metric-filter \\\n response_code_greaterequal:500,response_code_less:600\n\nQUERY: metric.type = \"appengine.googleapis.com/http/server/response_count\" \\\n AND metric.label.response_code < 600 \\\n AND metric.label.response_code >= 500\n\nresource_type gae_app\nproject_id my-unique-project-id \nmodule_id default service2 \nversion_id 1 0-1-dev159 \nloading false true false \nresponse_code 500 500 501 \n2016-08-30 15:13:34.577 NaN 1.0 NaN \n2016-08-30 15:14:34.577 2.0 0.0 NaN \n2016-08-30 15:15:34.577 0.0 0.0 NaN \n[...]\n```\n\nThe following operations are supported\n \n - ```'{key}_prefix:{value}'``` becomes ```'{key} = starts_with(\"{value}\")'```\n - ```'{key}_suffix:{value}'``` becomes ```'{key} = ends_with(\"{value}\")'```\n - ```'{key}_greater:{value}'``` becomes ```'{key} > {value}'```\n - ```'{key}_greaterequal:{value}'``` becomes ```'{key} >= {value}'```\n - ```'{key}_less:{value}'``` becomes ```'{key} < {value}'```\n - ```'{key}_lessequal:{value}'``` becomes ```'{key} <= {value}'```\n\nMore on filters: https://cloud.google.com/monitoring/api/v3/filters\n\n## 11. Resource Filtering\n\nIn case you need to filter based on resource attributes, you might want to use --resource-filter directly,\nor refer to the particularly often used filter of resource.label.module_id = \"{value}\" with --service as \nshown in the below example: \n\n```\n$ gcpmetrics --keyfile ./keyfile.json \\\n --project my-unique-project-id \\\n --query --days 2 \\\n --metric appengine.googleapis.com/http/server/response_count \\\n --metric-filter \\\n response_code_greaterequal:500,response_code_less:600 \\\n\nQUERY: metric.type = \"appengine.googleapis.com/http/server/response_count\" \\\n AND resource.label.module_id = \"default\" \\\n AND metric.label.response_code < 600 \\\n AND metric.label.response_code >= 500\n\nresource_type gae_app \nproject_id my-unique-project-id \nmodule_id default \nversion_id 1 \nloading false true\nresponse_code 500 500\n2016-08-30 15:13:34.577 NaN 1.0\n2016-08-30 15:14:34.577 2.0 0.0\n2016-08-30 15:15:34.577 0.0 0.0\n[...]\n```\n\nNote that only service 'default' data was returned this time. \nMore on filters: https://cloud.google.com/monitoring/api/v3/filters\n\n## 12. Configurations\n\nWhen monitoring multiple metrics across multuple projects it is handy to have command line \nparameters predefined (instead of writing the whole set of parameters every time). This could\nbe achieved with configuration files.\n\nYou can init your own configuration by running the following command: \n```\n$ gcpmetrics --init-config ./folder\n\nCreating folder: ./folder\nCreating configuration file: ./folder/config.yaml\nCreating (empty) key file: ./folder/keyfile.json\nConfiguration created, use '--config ./folder' to reference it.\n```\n\nThe configuration file looks like the below:\n\n```\n$ cat ./folder/config.yaml\n\nkeyfile: ./keyfile.json\nproject: my-unique-project-id\nservice: default\n\nhttp_response_5xx_sum:\n query: true\n infinite: true\n metric: 'appengine.googleapis.com/http/server/response_count'\n metric_filter: 'response_code_greaterequal:500,response_code_less:600'\n align: 'ALIGN_SUM'\n reduce: 'REDUCE_SUM'\n iloc00: True\n```\n\nwhich is a yaml file containing the same command line parameters as the tool itself.\nBy referencing this file, tool will pickup parameters defined in it, i.e.\n\n```\n$ gcpmetrics --config ./folder/config.yaml\n```\n\nwill be interpreted as\n\n```\n$ gcpmetrics --keyfile ./keyfile.json \\\n --project my-unique-project-id \\\n --service default\n```\n\nbased on the configuration file defined above.\n\n## 13. Presets\n\nIt is also possible to refer to the configuration presets defined in the configuraiton file.\nBased on the example configuration file below, where \"http_response_5xx_sum\" is defined,\nit is possible to run the following command:\n \n```\n$ gcpmetrics --init-config ./folder --preset http_response_5xx_sum\n```\n\nwhich will be interpreted as\n\n```\n$ gcpmetrics --keyfile ./keyfile.json \\\n --project my-unique-project-id \\\n --service default \\\n --query: true \\\n --infinite: true \\\n --metric: appengine.googleapis.com/http/server/response_count \\\n --metric_filter response_code_greaterequal:500,response_code_less:600 \\\n --align ALIGN_SUM \\\n --reduce REDUCE_SUM \\\n --iloc00 True\n```\n\n## 14. All Parameters\n\n```\n$ gcpmetrics --help\n\nusage: gcpmetrics [-h] [--version] [--init-config DIR] [--config FILE]\n [--keyfile FILE] [--preset ID] [--project ID]\n [--list-resources] [--list-metrics] [--query] [--service ID]\n [--metric ID] [--infinite] [--days INT] [--hours INT]\n [--minutes INT] [--resource-filter S] [--metric-filter S]\n [--align A] [--reduce R] [--reduce-grouping R] [--iloc00]\n\nGoogle Cloud Monitoring API Command Line\nWebsite: https://github.com/odin-public/gcpmetrics\n\noptional arguments:\n -h, --help show this help message and exit\n --version Print gcpmetics version and exit.\n --init-config DIR Location of configuration files.\n --config FILE Local configuration *.yaml file to be used.\n --keyfile FILE Goolge Cloud Platform service account key file.\n --preset ID Preset ID, like http_response_5xx_sum, etc.\n --project ID Project ID.\n --list-resources List monitored resource descriptors and exit.\n --list-metrics List available metric descriptors and exit.\n --query Run the time series query.\n --service ID Service ID.\n --metric ID Metric ID as defined by Google Monitoring API.\n --infinite Calculate time delta since the dawn of time.\n --days INT Days from now to calculate the query start date.\n --hours INT Hours from now to calculate the query start date.\n --minutes INT Minutes from now to calculate the query start date.\n --resource-filter S Filter of resources in the var:val[,var:val] format.\n --metric-filter S Filter of metrics in the var:val[,var:val] format.\n --align A Alignment of data ALIGN_NONE, ALIGN_SUM. etc.\n --reduce R Reduce of data REDUCE_NONE, REDUCE_SUM, etc.\n --reduce-grouping R Reduce grouping in the var1[,var2] format.\n --iloc00 Print value from the table index [0:0] only.\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/odin-public/gcpmetrics", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "gcpmetrics", "package_url": "https://pypi.org/project/gcpmetrics/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gcpmetrics/", "project_urls": { "Homepage": "https://github.com/odin-public/gcpmetrics" }, "release_url": "https://pypi.org/project/gcpmetrics/1.0.37/", "requires_dist": null, "requires_python": "", "summary": "Google Cloud Monitoring API Command Line", "version": "1.0.37" }, "last_serial": 2320946, "releases": { "1.0.14": [ { "comment_text": "", "digests": { "md5": "b85b4ace3cf9fd4e6d52f9e008f32a20", "sha256": "7171ec36230edd39f5413c2399b011b296ac79fb3b8f1232c75cafb655cf92e7" }, "downloads": -1, "filename": "gcpmetrics-1.0.14.tar.gz", "has_sig": false, "md5_digest": "b85b4ace3cf9fd4e6d52f9e008f32a20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5772, "upload_time": "2016-08-31T23:18:30", "url": "https://files.pythonhosted.org/packages/82/61/d3445eac870f85d60d81b4a5c1e68e06b32703eb73e2ab9c28aa7ee8cdae/gcpmetrics-1.0.14.tar.gz" } ], "1.0.15": [ { "comment_text": "", "digests": { "md5": "1f46a56776318fcc237750ad166029a2", "sha256": "048b40c84fa3ae1ebf3b3a3d3405236473a66b915006684b60ca7ce53fa4279b" }, "downloads": -1, "filename": "gcpmetrics-1.0.15.tar.gz", "has_sig": false, "md5_digest": "1f46a56776318fcc237750ad166029a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6348, "upload_time": "2016-09-01T08:44:18", "url": "https://files.pythonhosted.org/packages/46/cc/cfecef89b171c34999acfeaa5b24492a8e282eb93a9c75dc4f9e047ff410/gcpmetrics-1.0.15.tar.gz" } ], "1.0.16": [ { "comment_text": "", "digests": { "md5": "c3fb9043bcd991387ddb502068d03184", "sha256": "610542757d5a2e5f4e00a2928f0a3cb0d9e2f68943fb59e74dc1f3311a67c7c7" }, "downloads": -1, "filename": "gcpmetrics-1.0.16.tar.gz", "has_sig": false, "md5_digest": "c3fb9043bcd991387ddb502068d03184", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6376, "upload_time": "2016-09-01T08:47:11", "url": "https://files.pythonhosted.org/packages/45/d2/d3405cdef553399d3671a3c1ade7da0c40529bcec6d68d8f05ab3cda312e/gcpmetrics-1.0.16.tar.gz" } ], "1.0.17": [ { "comment_text": "", "digests": { "md5": "61b87895ac9af134d371886c9dd7f79f", "sha256": "3d2fa79864c203555450c8d3f91750968f6a457be770484d1c6b9fc71dbda704" }, "downloads": -1, "filename": "gcpmetrics-1.0.17.tar.gz", "has_sig": false, "md5_digest": "61b87895ac9af134d371886c9dd7f79f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6379, "upload_time": "2016-09-01T09:01:44", "url": "https://files.pythonhosted.org/packages/16/01/4d823d627fa76bcca9d0a406dc5bfcc201a9712f1747200f5efb1ab29946/gcpmetrics-1.0.17.tar.gz" } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "01b272cb7578624b9bd0a8be03a4c981", "sha256": "d8dc9dd688847d49def135184c06acff38d0db42dd5e33b208e80125e11324b6" }, "downloads": -1, "filename": "gcpmetrics-1.0.18.tar.gz", "has_sig": false, "md5_digest": "01b272cb7578624b9bd0a8be03a4c981", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6384, "upload_time": "2016-09-01T09:14:17", "url": "https://files.pythonhosted.org/packages/4e/29/0fcacc23671d1b9c63481bf8fa5cfb0c0ed2d0d51695ad61a73128ebea9b/gcpmetrics-1.0.18.tar.gz" } ], "1.0.19": [ { "comment_text": "", "digests": { "md5": "0b119a8f08fb70c6aa3c782c2d1d1fef", "sha256": "611afd94645d2ce7a6c94c3f090f4ecacec632ea5a857cdcb40c0cf235887af2" }, "downloads": -1, "filename": "gcpmetrics-1.0.19.tar.gz", "has_sig": false, "md5_digest": "0b119a8f08fb70c6aa3c782c2d1d1fef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6416, "upload_time": "2016-09-01T09:21:26", "url": "https://files.pythonhosted.org/packages/89/1a/c84580ebc7c3e76314239276b1c67d64c9c592f41bf7f781767c1fbe331e/gcpmetrics-1.0.19.tar.gz" } ], "1.0.20": [ { "comment_text": "", "digests": { "md5": "0c66929292386f4e745184c9c57e1f27", "sha256": "313b7bf806b720abd846360e4731f37361e141a8862db4d160dca5938151e5b0" }, "downloads": -1, "filename": "gcpmetrics-1.0.20.tar.gz", "has_sig": false, "md5_digest": "0c66929292386f4e745184c9c57e1f27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6411, "upload_time": "2016-09-01T09:26:23", "url": "https://files.pythonhosted.org/packages/8a/e5/7bae8207675ace7829ed038d8743afbeb3e51022f00f0eaa85a022037144/gcpmetrics-1.0.20.tar.gz" } ], "1.0.22": [ { "comment_text": "", "digests": { "md5": "e8743eb17edf2dfe08cd6e0781f674eb", "sha256": "f264f150eb5189c62911e4c5e5bee9920ba1322d09f7dfb06598975723b0103d" }, "downloads": -1, "filename": "gcpmetrics-1.0.22.tar.gz", "has_sig": false, "md5_digest": "e8743eb17edf2dfe08cd6e0781f674eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6468, "upload_time": "2016-09-01T09:44:38", "url": "https://files.pythonhosted.org/packages/d5/12/1881571da1a528654cef1db6d80de652f21d9fd7c0c1c4ab78f099f4fa72/gcpmetrics-1.0.22.tar.gz" } ], "1.0.23": [ { "comment_text": "", "digests": { "md5": "2913e9008df864a5634d69bb2675f535", "sha256": "89b8ac248a51ff0fcf18285b52f65344e6845a0c0d30e2f46c20db05554f91c8" }, "downloads": -1, "filename": "gcpmetrics-1.0.23.tar.gz", "has_sig": false, "md5_digest": "2913e9008df864a5634d69bb2675f535", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8730, "upload_time": "2016-09-01T14:07:41", "url": "https://files.pythonhosted.org/packages/3f/89/1fb688e4e6d507db37aa577499b2c1422a3202c6282e43d7ec3e9f43c6f2/gcpmetrics-1.0.23.tar.gz" } ], "1.0.24": [ { "comment_text": "", "digests": { "md5": "594bb9f7f7f9d67800da9238bbbb2fe1", "sha256": "90bfce4cc2dbec93bd936f8822f5ceb120ac3bd048faaeff1006b0aa6b2e9806" }, "downloads": -1, "filename": "gcpmetrics-1.0.24.tar.gz", "has_sig": false, "md5_digest": "594bb9f7f7f9d67800da9238bbbb2fe1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8721, "upload_time": "2016-09-01T14:10:19", "url": "https://files.pythonhosted.org/packages/b9/86/18a29b28c478ee5b83a680ee9c9263059ff9951c4244f0c709c4ba5646b5/gcpmetrics-1.0.24.tar.gz" } ], "1.0.25": [ { "comment_text": "", "digests": { "md5": "8bd1c6b097f1692ec33275a96a6ed0fa", "sha256": "cd892bb6d49123d9472399e8aa829e7f9cd10960ab5a9c226fa41387437fe558" }, "downloads": -1, "filename": "gcpmetrics-1.0.25.tar.gz", "has_sig": false, "md5_digest": "8bd1c6b097f1692ec33275a96a6ed0fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9126, "upload_time": "2016-09-01T15:52:17", "url": "https://files.pythonhosted.org/packages/52/c0/11a2d01b840818bac87c2e543395e5a432620d66fe711f124abf46f1531b/gcpmetrics-1.0.25.tar.gz" } ], "1.0.26": [ { "comment_text": "", "digests": { "md5": "4f960e29d372610293859169c82b8c9d", "sha256": "262afab665fb2b2b90b1b9726f77a612e2df10d3d91ef69727e01d3ac15cc0c1" }, "downloads": -1, "filename": "gcpmetrics-1.0.26.tar.gz", "has_sig": false, "md5_digest": "4f960e29d372610293859169c82b8c9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9147, "upload_time": "2016-09-01T15:57:55", "url": "https://files.pythonhosted.org/packages/bb/ea/76136e99326beaca5ceaa2fe3de23531df06658570a155d87f2a6d9932b6/gcpmetrics-1.0.26.tar.gz" } ], "1.0.27": [ { "comment_text": "", "digests": { "md5": "b939b2f1ba563b5c66b8440b6b760f4a", "sha256": "fb31c1cfc5db2257aa74664806828b77cf1eac35a6bbfda814409232abd9e7f0" }, "downloads": -1, "filename": "gcpmetrics-1.0.27.tar.gz", "has_sig": false, "md5_digest": "b939b2f1ba563b5c66b8440b6b760f4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9166, "upload_time": "2016-09-01T16:04:49", "url": "https://files.pythonhosted.org/packages/d2/34/83b118a00c430a9ad8552f17d572c78d41b8f589dc6c1ca968b29dafb6f9/gcpmetrics-1.0.27.tar.gz" } ], "1.0.28": [ { "comment_text": "", "digests": { "md5": "632882dadf7e4bcba8dbdad7f7491c56", "sha256": "b952093f3ba75c1b3ef1703944a37a940011f653f33d76c130d4a603a2fe5d59" }, "downloads": -1, "filename": "gcpmetrics-1.0.28.tar.gz", "has_sig": false, "md5_digest": "632882dadf7e4bcba8dbdad7f7491c56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9174, "upload_time": "2016-09-01T16:05:23", "url": "https://files.pythonhosted.org/packages/e2/10/128fa10fda9de9fc6f6a835c2a3cf3a84a10b517b835f6eec04328706bf0/gcpmetrics-1.0.28.tar.gz" } ], "1.0.29": [ { "comment_text": "", "digests": { "md5": "4be854856e674887d7732071b65cf49c", "sha256": "1cb2427a2c6931f06d768b7dcfea2e150571ed1bd5788b054c70c958fbbaba53" }, "downloads": -1, "filename": "gcpmetrics-1.0.29.tar.gz", "has_sig": false, "md5_digest": "4be854856e674887d7732071b65cf49c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9181, "upload_time": "2016-09-01T16:47:54", "url": "https://files.pythonhosted.org/packages/b4/f9/72365b755a74be2d630db46393b1d7e9aa05e6c0b27dd3fbb56a3d1ad058/gcpmetrics-1.0.29.tar.gz" } ], "1.0.30": [ { "comment_text": "", "digests": { "md5": "000b60cae32f76c0aa8a07a1cb53fcee", "sha256": "890a8079619e39e25a7ba98c5f3400c58d55dd131fd121806fe6b96c2273d7c3" }, "downloads": -1, "filename": "gcpmetrics-1.0.30.tar.gz", "has_sig": false, "md5_digest": "000b60cae32f76c0aa8a07a1cb53fcee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9221, "upload_time": "2016-09-01T20:46:58", "url": "https://files.pythonhosted.org/packages/d5/ad/2e629a7a117089fc976a83a3f91f8e46cb9d68367c91cb304ff3d0bb107a/gcpmetrics-1.0.30.tar.gz" } ], "1.0.31": [ { "comment_text": "", "digests": { "md5": "86ce991a12a4f8cd036fcc62ef1c78a4", "sha256": "c9e46c5ff255d0b19ae881cb0f47a0d16737df75b215fbb6990e8d9057ecdd5a" }, "downloads": -1, "filename": "gcpmetrics-1.0.31.tar.gz", "has_sig": false, "md5_digest": "86ce991a12a4f8cd036fcc62ef1c78a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9205, "upload_time": "2016-09-01T21:11:03", "url": "https://files.pythonhosted.org/packages/cd/d6/027f0f66a178785eae992714a97535858090752249726a5e2f7974769805/gcpmetrics-1.0.31.tar.gz" } ], "1.0.32": [ { "comment_text": "", "digests": { "md5": "4d39b2168ebcf5b1f4e3c916e9d54ef3", "sha256": "34374169d33bc850082874c13c493c32830510d94bdae5002dd9fcd98ea4ef1f" }, "downloads": -1, "filename": "gcpmetrics-1.0.32.tar.gz", "has_sig": false, "md5_digest": "4d39b2168ebcf5b1f4e3c916e9d54ef3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9239, "upload_time": "2016-09-01T21:22:40", "url": "https://files.pythonhosted.org/packages/c9/db/8135db4124c19af3525653fb86c5749c4943493899694339545475675178/gcpmetrics-1.0.32.tar.gz" } ], "1.0.33": [ { "comment_text": "", "digests": { "md5": "827583dcf34bddb86bcb5d92f0556021", "sha256": "53baec641cb101ea12e8f94253f2319c780e06993c8a5817d61a37ae01e9520d" }, "downloads": -1, "filename": "gcpmetrics-1.0.33.tar.gz", "has_sig": false, "md5_digest": "827583dcf34bddb86bcb5d92f0556021", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9230, "upload_time": "2016-09-02T08:01:15", "url": "https://files.pythonhosted.org/packages/e9/04/2c04a1abe19313d83f6922024c92789b43d87f20ef3b8290dce2b27195c2/gcpmetrics-1.0.33.tar.gz" } ], "1.0.34": [ { "comment_text": "", "digests": { "md5": "5e2f4215b84aa6fd7f671355a565bda6", "sha256": "ec9bbf42fefbf60ab732e694b1eba40d6ef470b35f4d14485191105b94012ddc" }, "downloads": -1, "filename": "gcpmetrics-1.0.34.tar.gz", "has_sig": false, "md5_digest": "5e2f4215b84aa6fd7f671355a565bda6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9211, "upload_time": "2016-09-02T08:03:45", "url": "https://files.pythonhosted.org/packages/ff/d9/f6537d66a090229efd6de984d109c2e5ce2e844723cfc8e41cdcb23b2fe4/gcpmetrics-1.0.34.tar.gz" } ], "1.0.35": [ { "comment_text": "", "digests": { "md5": "6d5527ca1d8bb70c929a025c02459ae0", "sha256": "0577949d27de951ace45360fd3adfb68fe8317701e62273772fece09bda4f417" }, "downloads": -1, "filename": "gcpmetrics-1.0.35.tar.gz", "has_sig": false, "md5_digest": "6d5527ca1d8bb70c929a025c02459ae0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9229, "upload_time": "2016-09-02T10:29:50", "url": "https://files.pythonhosted.org/packages/8d/13/c131b8e90525e0a54a12b8eec23ddbdb45fa055b4fca109fe63126770d0f/gcpmetrics-1.0.35.tar.gz" } ], "1.0.36": [ { "comment_text": "", "digests": { "md5": "ff6b0ddb8632617ac3ac59fc5f011e11", "sha256": "f143bcd0bad2ece820add246315b102ffc15e374a13eca00071fb0bcfe9df14e" }, "downloads": -1, "filename": "gcpmetrics-1.0.36.tar.gz", "has_sig": false, "md5_digest": "ff6b0ddb8632617ac3ac59fc5f011e11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9234, "upload_time": "2016-09-02T10:30:52", "url": "https://files.pythonhosted.org/packages/42/e7/4251b06dc07559d074d572b5158c4a337c1b448dc237bc2e62ccbcf66303/gcpmetrics-1.0.36.tar.gz" } ], "1.0.37": [ { "comment_text": "", "digests": { "md5": "266a19570e942d8b3fb44501c076834a", "sha256": "4b00b5c14a91384aaea37c336a03f72bdebe8f88f3864499c5fe938d3905da94" }, "downloads": -1, "filename": "gcpmetrics-1.0.37.tar.gz", "has_sig": false, "md5_digest": "266a19570e942d8b3fb44501c076834a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9237, "upload_time": "2016-09-02T11:13:27", "url": "https://files.pythonhosted.org/packages/e9/57/11ca66b7060340e475a137c1f9bba0eeab4db9596c33163b3fa34a600354/gcpmetrics-1.0.37.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "9b84d29ac545ecf424a93827303d3c2b", "sha256": "b8b32c8f4e92dfed4131260557ce8b50653d871b7d3e1ff537cffeb52794501e" }, "downloads": -1, "filename": "gcpmetrics-1.0.9.tar.gz", "has_sig": false, "md5_digest": "9b84d29ac545ecf424a93827303d3c2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5863, "upload_time": "2016-08-31T22:14:04", "url": "https://files.pythonhosted.org/packages/19/2a/12cb987e666d8fdcb6dee60c09c0a7c2ad5ab342ea7adca95644019f34d2/gcpmetrics-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "266a19570e942d8b3fb44501c076834a", "sha256": "4b00b5c14a91384aaea37c336a03f72bdebe8f88f3864499c5fe938d3905da94" }, "downloads": -1, "filename": "gcpmetrics-1.0.37.tar.gz", "has_sig": false, "md5_digest": "266a19570e942d8b3fb44501c076834a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9237, "upload_time": "2016-09-02T11:13:27", "url": "https://files.pythonhosted.org/packages/e9/57/11ca66b7060340e475a137c1f9bba0eeab4db9596c33163b3fa34a600354/gcpmetrics-1.0.37.tar.gz" } ] }