{ "info": { "author": "Philip Perold", "author_email": "philip@spatialedge.co.za", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "# Metric Builder\n\nUtility for building templated metric extraction queries that can be traversed through time.\n\n## Prerequisites\n\nYou will need the following to run this code:\n * Python 3\n \n## Installation\n\nTo be determined...\n\n## Usage\n\nIn order to extract a given metric, a `Metric` object needs to be instantiated:\n\n```python\nmetric = Metric(\n query=\"\"\"\n SELECT count(*) AS total\n FROM `project.dataset.table`\n WHERE DATETIME_TRUNC(created_datetime, DAY) = '{{ reference_time | format_date('%Y-%m-%d') }}'\n \"\"\",\n reader = BigQueryReader(json_credentials_path='/path/to/creds.json')\n)\n```\n\nThe `query` parameter is a templated query where you can format the `reference_time` `datetime` object to the required format using template filters.\n\nThe `reader` parameter is the object that is actually going to connect to the desired database and perform the queries.\n\nThe `metric` object can now be used to fetch metrics for a given point in time as follows:\n\n```python\nresult = metric.fetch(reference_time=datetime.date(2019, 10, 21))\n```\n\nThe result is returned as a list of dictionaries.\n\n### Template filters\n\n[Jinja2](https://jinja.palletsprojects.com/en/2.10.x/) is used as the templating engine. All built in Jinja filters are thus available. Relevant custom template filters have been added though for convenience:\n\n#### format_date\n\nSpecify format of datetime:\n\n```\n'{{ reference_time | format_date('%Y-%m-%d') }}'\n```\n\n#### day_delta\n\nChange a given datetime object by a specified number of days:\n\n```\n'{{ reference_time | day_delta(-7) | format_date('%Y-%m-%d') }}'\n```\n\n### Readers\n\nAny reader will implement the following method that is used to execute queries:\n\n```python\ndef execute(self, query) -> List[Dict[str, Any]]:\n ...\n```\n\n#### BigQueryReader\n\nThe underlying client is required to be authenticated with the necessary priviledges to read from the requested BigQuery tables.\n\nIf you authenticate with:\n\n```bash\ngcloud auth login\n```\n\nor\n\n```bash\nexport GOOGLE_APPLICATION_CREDENTIALS=\"/path/to/keyfile.json\"\n```\n\nthen you can just instantiate your `Reader` like this:\n\n```python\nreader = BigQueryReader()\n```\n\nThe other option is to explicitly authenticate with a service account key file:\n\n```python\nreader = BigQueryReader(json_credentials_path='/path/to/creds.json')\n```\n\n#### HiveReader\n\nComing soon...\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "metric-builder", "package_url": "https://pypi.org/project/metric-builder/", "platform": null, "project_url": "https://pypi.org/project/metric-builder/", "project_urls": null, "release_url": "https://pypi.org/project/metric-builder/2.1.4.2/", "requires_dist": [ "cachetools (==4.2.2)", "certifi (==2020.12.5)", "chardet (==4.0.0)", "google-api-core (==1.31.5)", "google-auth (==1.35.0)", "google-cloud-bigquery (==2.34.3)", "google-cloud-core (==1.7.2)", "google-resumable-media (==2.3.2)", "googleapis-common-protos (==1.56.0)", "idna (==3.2)", "Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "protobuf (==3.20.0)", "pyasn1 (==0.4.8)", "pyasn1-modules (==0.2.8)", "pytz (==2021.1)", "requests (==2.26.0)", "rsa (==4.7.2)", "six (==1.16.0)", "urllib3 (==1.26.6)" ], "requires_python": "", "summary": "Utility for building templated metric extraction queries that can be traversed through time.", "version": "2.1.4.2", "yanked": false, "yanked_reason": null }, "last_serial": 13576296, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "cdc0393055884640097be404316d4f0b", "sha256": "bbb7d92d4aebdeb9942b7e329a0bcb1cdd8b3730ad7a4ac5bca58e65b054ccd7" }, "downloads": -1, "filename": "metric_builder-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cdc0393055884640097be404316d4f0b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8451, "upload_time": "2019-10-24T08:52:13", "upload_time_iso_8601": "2019-10-24T08:52:13.170466Z", "url": "https://files.pythonhosted.org/packages/47/1e/1a064441f8f63625ac0741ccacbce9022d9186116fbef9be4d4a3dcc7a29/metric_builder-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "090ca3e5e4e13c269aec3f265b041f21", "sha256": "9ff9273b7b5e747988dc8811f8a7dd6e082f41c341637acfd197e2e1e16e48f7" }, "downloads": -1, "filename": "metric_builder-0.0.1.tar.gz", "has_sig": false, "md5_digest": "090ca3e5e4e13c269aec3f265b041f21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3626, "upload_time": "2019-10-24T08:52:15", "upload_time_iso_8601": "2019-10-24T08:52:15.800259Z", "url": "https://files.pythonhosted.org/packages/fc/f8/b8a08445124d92d2b30039f862593d92e28e6ec6d17df536ce800384206b/metric_builder-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "bdb0d0667430b363b668fcea1280e445", "sha256": "cfbd274bb1e8d2786a7fee9df6790ba9facf275e79936dd31481f8433024851c" }, "downloads": -1, "filename": "metric_builder-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bdb0d0667430b363b668fcea1280e445", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8452, "upload_time": "2019-11-05T10:29:56", "upload_time_iso_8601": "2019-11-05T10:29:56.144168Z", "url": "https://files.pythonhosted.org/packages/15/b6/a1fe9eeb1469c3d8f73ce9161209767c4b1cbe1b8feb1318e2e297f6bfb0/metric_builder-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c7be1995102ce16469d0fb3793ac8b79", "sha256": "425c4934fdb51458d3a07a59a77b27814f25f8f3a52e4e83d6374a00cdeae6e7" }, "downloads": -1, "filename": "metric_builder-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c7be1995102ce16469d0fb3793ac8b79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3626, "upload_time": "2019-11-05T10:29:58", "upload_time_iso_8601": "2019-11-05T10:29:58.130939Z", "url": "https://files.pythonhosted.org/packages/b8/bf/c29ac14c4c2d700cce77955e5a9c8e93abe4e936cc0b56acc6a226fea496/metric_builder-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "65ce07137163d8d7b11d1e556aaa4192", "sha256": "127146a330d3a8ecf3332c98c99dd3cc0a8ca9d6faad10a0a5cbbd1852577b49" }, "downloads": -1, "filename": "metric_builder-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "65ce07137163d8d7b11d1e556aaa4192", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8456, "upload_time": "2019-11-05T12:16:57", "upload_time_iso_8601": "2019-11-05T12:16:57.155787Z", "url": "https://files.pythonhosted.org/packages/39/8e/d1d63b5a6ff1d2308e0d439ce0ecba826fa82b6f92dba63c9aa755c81c4d/metric_builder-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "688d72838ede8c2473cff2e83ab19d1b", "sha256": "6d2caaae9ac95c903e625401f71e14bedf8837f513444fe81a699783d12e8532" }, "downloads": -1, "filename": "metric_builder-0.0.3.tar.gz", "has_sig": false, "md5_digest": "688d72838ede8c2473cff2e83ab19d1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3627, "upload_time": "2019-11-05T12:16:58", "upload_time_iso_8601": "2019-11-05T12:16:58.767769Z", "url": "https://files.pythonhosted.org/packages/49/e1/114c9b6de9bded0c479b7be1d21341bb123b0c3dc9bbe7309796e93758f0/metric_builder-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8c5e66e54d795f67053d678d09879b2b", "sha256": "2a9eaab7ef3a15d357bee17b54e82ef78024e1fffb35e65e5b39455eb53aee1d" }, "downloads": -1, "filename": "metric_builder-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8c5e66e54d795f67053d678d09879b2b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8456, "upload_time": "2020-08-26T12:16:36", "upload_time_iso_8601": "2020-08-26T12:16:36.846016Z", "url": "https://files.pythonhosted.org/packages/6f/72/aa14fbc67ddb3d93ecd2c5a071180fac99798f3796e6753126906a951d1f/metric_builder-0.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e1b72b07474d723f73146d50b81abcf6", "sha256": "924a8ebc44267570f246b4005e90a0c22bbd483889ece23185985c575e394aec" }, "downloads": -1, "filename": "metric_builder-0.0.4.tar.gz", "has_sig": false, "md5_digest": "e1b72b07474d723f73146d50b81abcf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3626, "upload_time": "2020-08-26T11:55:04", "upload_time_iso_8601": "2020-08-26T11:55:04.006558Z", "url": "https://files.pythonhosted.org/packages/b9/3a/e2564e8792b83b0683558d5b0c5ef033cef0a5322e029a4f658b17daed1f/metric_builder-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.10.15.1": [ { "comment_text": "", "digests": { "md5": "11a4ee665a1595a70d7a412070489550", "sha256": "d68eff1876db0a2118101adcfda410f1a7edce304a7677979df47ebfc78f7970" }, "downloads": -1, "filename": "metric_builder-1.10.15.1-py3-none-any.whl", "has_sig": false, "md5_digest": "11a4ee665a1595a70d7a412070489550", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8510, "upload_time": "2021-08-31T07:01:20", "upload_time_iso_8601": "2021-08-31T07:01:20.851235Z", "url": "https://files.pythonhosted.org/packages/c0/68/d897695de58c873f861e8785df036c1ba351af7150e4bbd2cf0f0a234a71/metric_builder-1.10.15.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "17ef86cd4309c77d8c116a6a2f885658", "sha256": "300e00f040b22bba30a6a794d595419aad6bd187b187cb5623f439bee2d3c4fa" }, "downloads": -1, "filename": "metric_builder-1.10.15.1.tar.gz", "has_sig": false, "md5_digest": "17ef86cd4309c77d8c116a6a2f885658", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7329, "upload_time": "2021-08-31T07:01:22", "upload_time_iso_8601": "2021-08-31T07:01:22.213257Z", "url": "https://files.pythonhosted.org/packages/63/d4/746d1d5ba5e84c7085fff98701f2c2ab8267f2c64888218f6c40c4331058/metric_builder-1.10.15.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.10.3.0": [ { "comment_text": "", "digests": { "md5": "b37c767f9bcfd46f02bfd4497b16cd84", "sha256": "2a3d36620333ac0b0b798e5081013b538c455ae247f2bda336a2f94dd9b37045" }, "downloads": -1, "filename": "metric_builder-1.10.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b37c767f9bcfd46f02bfd4497b16cd84", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8481, "upload_time": "2020-09-10T11:52:46", "upload_time_iso_8601": "2020-09-10T11:52:46.592496Z", "url": "https://files.pythonhosted.org/packages/95/54/1912e1902e8830c6c5a4533b6b08386ae642b00336973994dbda09cfb0f8/metric_builder-1.10.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "89a34ce74c6548a6008b3f00dc433ceb", "sha256": "66c4200e5bb6f2e9498be3dd330c601ba65ad732cc8db45e40dc0681177e2270" }, "downloads": -1, "filename": "metric_builder-1.10.3.0.tar.gz", "has_sig": false, "md5_digest": "89a34ce74c6548a6008b3f00dc433ceb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3622, "upload_time": "2020-09-10T11:52:47", "upload_time_iso_8601": "2020-09-10T11:52:47.850782Z", "url": "https://files.pythonhosted.org/packages/34/62/abcb60e9ed2eed77a1755db0f70a267f9b0e030c9eb9b3538dbf61c7e483/metric_builder-1.10.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.10.9.0": [ { "comment_text": "", "digests": { "md5": "65f79b54b401cfe2a90a51243d5eb558", "sha256": "bb667c0f178bad3d2e571e3d376cc5d0f86db8cc5eb226846ae4c96af9547583" }, "downloads": -1, "filename": "metric_builder-1.10.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "65f79b54b401cfe2a90a51243d5eb558", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8484, "upload_time": "2020-09-11T09:35:54", "upload_time_iso_8601": "2020-09-11T09:35:54.068615Z", "url": "https://files.pythonhosted.org/packages/dc/23/e634337724a4ddc5bc0c9e5ba1a08ec17bedbcd3422215d93402d1b8bf2b/metric_builder-1.10.9.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "dfa3dbc2b195b0d4ea5ca5d0af59a956", "sha256": "baa071668895fed60c34a3496105f546b655004b4939b3a7884787deaa57a821" }, "downloads": -1, "filename": "metric_builder-1.10.9.0.tar.gz", "has_sig": false, "md5_digest": "dfa3dbc2b195b0d4ea5ca5d0af59a956", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3629, "upload_time": "2020-09-11T09:35:55", "upload_time_iso_8601": "2020-09-11T09:35:55.349332Z", "url": "https://files.pythonhosted.org/packages/ef/8d/04c1a206b62849f7dc47c63021ac9708bfa1328cd824282c1ef4697a98b0/metric_builder-1.10.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.2.0": [ { "comment_text": "", "digests": { "md5": "0a9c2dd30cdaafc6b2afc713f3283a8f", "sha256": "8bc5cae381c2aab190f7705adee16b548937f923fd4f5cad7de9074729de798e" }, "downloads": -1, "filename": "metric_builder-2.1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0a9c2dd30cdaafc6b2afc713f3283a8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8480, "upload_time": "2021-09-06T09:20:53", "upload_time_iso_8601": "2021-09-06T09:20:53.704192Z", "url": "https://files.pythonhosted.org/packages/e4/44/9ba6594dd6c1dde8e5f266b2a79b8525b72ffce1014aaf699d9cf4933629/metric_builder-2.1.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "68fac89061a589f43cfe19b7ff31625d", "sha256": "42622b5ac130ba1a7ddd49e7b7d8c346136c2e02afa037c1493f2190f17725d7" }, "downloads": -1, "filename": "metric_builder-2.1.2.0.tar.gz", "has_sig": false, "md5_digest": "68fac89061a589f43cfe19b7ff31625d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7644, "upload_time": "2021-09-06T09:20:55", "upload_time_iso_8601": "2021-09-06T09:20:55.015207Z", "url": "https://files.pythonhosted.org/packages/5b/7f/3364751ecb6a64bafbd2a3b096dbae204b9509f19a3c21d45ac05978b1f4/metric_builder-2.1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.4.0": [ { "comment_text": "", "digests": { "md5": "9bbe30419027314f5dcb83adc5c04cdd", "sha256": "0071a5e3290b70bdcf4802cbd0e272b7db66a03da40c810d99ebb0098605c5b7" }, "downloads": -1, "filename": "metric_builder-2.1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9bbe30419027314f5dcb83adc5c04cdd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8488, "upload_time": "2022-01-19T07:17:14", "upload_time_iso_8601": "2022-01-19T07:17:14.834824Z", "url": "https://files.pythonhosted.org/packages/fa/86/8d0582849137ae67ebb4f8ef9f3dd048a1caa0bcc67e4ad29a9e06b6babb/metric_builder-2.1.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c7c4961cfd63255c686aa69082e42334", "sha256": "b19785915e00294113615c51170c6c604d802ae1fa7a4c8c5a077c490c929649" }, "downloads": -1, "filename": "metric_builder-2.1.4.0.tar.gz", "has_sig": false, "md5_digest": "c7c4961cfd63255c686aa69082e42334", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7333, "upload_time": "2022-01-19T07:17:15", "upload_time_iso_8601": "2022-01-19T07:17:15.833227Z", "url": "https://files.pythonhosted.org/packages/d5/b0/1da4db11b8905f5c8d582f85be9d0af415e8579be7109c649a029abf304d/metric_builder-2.1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.4.1": [ { "comment_text": "", "digests": { "md5": "a42b64bc3770bcde45cb0a01c143dce7", "sha256": "9fb754a6963fa20e307878d0b5ee79a9aa9721c24fe78d597839e7213da9c347" }, "downloads": -1, "filename": "metric_builder-2.1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a42b64bc3770bcde45cb0a01c143dce7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8574, "upload_time": "2022-02-23T12:14:32", "upload_time_iso_8601": "2022-02-23T12:14:32.356470Z", "url": "https://files.pythonhosted.org/packages/6c/be/3d12de5c9f579206fc4ffcbf99615bc0796bdccb9889736648d103eb86db/metric_builder-2.1.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "472fd1b98ec69d0432533f7d4c046311", "sha256": "ec8bb993514867d70a098feb98d2e5845d13e56bf09a10f7cc9bd1cee60bebb0" }, "downloads": -1, "filename": "metric_builder-2.1.4.1.tar.gz", "has_sig": false, "md5_digest": "472fd1b98ec69d0432533f7d4c046311", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7415, "upload_time": "2022-02-23T12:14:33", "upload_time_iso_8601": "2022-02-23T12:14:33.900185Z", "url": "https://files.pythonhosted.org/packages/ac/29/4f9b8a16a3c32e1a465262666a3fd485b0de51df81cae40acee6aacca588/metric_builder-2.1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.4.2": [ { "comment_text": "", "digests": { "md5": "efa293455b53f0403623b2b8dd2d251d", "sha256": "5fb0193893a4e32ee4b2063839cf2a0ee47d80f637a5d84c5d85d95f22c3f3c2" }, "downloads": -1, "filename": "metric_builder-2.1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "efa293455b53f0403623b2b8dd2d251d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8572, "upload_time": "2022-04-21T08:39:06", "upload_time_iso_8601": "2022-04-21T08:39:06.103486Z", "url": "https://files.pythonhosted.org/packages/47/74/45956da7d5ced964b223249618d5973b2b9e4705345e784a94196c306875/metric_builder-2.1.4.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9f38d9ba3d70117af47e5b1ef2f37c04", "sha256": "09167bb78e0b7eff9bf5cc95279e5509ad53cc47fddd83b8590d92f37b75b9b4" }, "downloads": -1, "filename": "metric_builder-2.1.4.2.tar.gz", "has_sig": false, "md5_digest": "9f38d9ba3d70117af47e5b1ef2f37c04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7410, "upload_time": "2022-04-21T08:39:07", "upload_time_iso_8601": "2022-04-21T08:39:07.767374Z", "url": "https://files.pythonhosted.org/packages/22/dd/fd00e47a0996610b575cac66a5958f05120e72d94535a73a32fc8b70af09/metric_builder-2.1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "efa293455b53f0403623b2b8dd2d251d", "sha256": "5fb0193893a4e32ee4b2063839cf2a0ee47d80f637a5d84c5d85d95f22c3f3c2" }, "downloads": -1, "filename": "metric_builder-2.1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "efa293455b53f0403623b2b8dd2d251d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8572, "upload_time": "2022-04-21T08:39:06", "upload_time_iso_8601": "2022-04-21T08:39:06.103486Z", "url": "https://files.pythonhosted.org/packages/47/74/45956da7d5ced964b223249618d5973b2b9e4705345e784a94196c306875/metric_builder-2.1.4.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9f38d9ba3d70117af47e5b1ef2f37c04", "sha256": "09167bb78e0b7eff9bf5cc95279e5509ad53cc47fddd83b8590d92f37b75b9b4" }, "downloads": -1, "filename": "metric_builder-2.1.4.2.tar.gz", "has_sig": false, "md5_digest": "9f38d9ba3d70117af47e5b1ef2f37c04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7410, "upload_time": "2022-04-21T08:39:07", "upload_time_iso_8601": "2022-04-21T08:39:07.767374Z", "url": "https://files.pythonhosted.org/packages/22/dd/fd00e47a0996610b575cac66a5958f05120e72d94535a73a32fc8b70af09/metric_builder-2.1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }