{ "info": { "author": "Michiru Kaneda", "author_email": "Michiru.Kaneda@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Google Cloud Platform Condor Pool Manager (GCPM)\n\n[![Build Status](https://travis-ci.org/mickaneda/gcpm.svg?branch=master)](https://travis-ci.org/mickaneda/gcpm) ([Coverage report](https://mickaneda.github.io/gcpm/))\n\nHTCondor pool manager for Google Cloud Platform.\n\n## Installation\n\n### Package installation\n\nGCPM can be installed by `pip`:\n\n $ pip install gcpm\n\n### Service file installation\n\nTo install as service, do:\n\n $ gcpm install\n\n:warning: Service installation is valid only for the system managed by **Systemd**.\n\nIf **logrotate** is installed, logrotation definition for **/var/log/gcpm.log** is also installed.\n\n## Configuration file\n\n### Configuration file path\n\nThe default configuration file is **~/.config/gcpm/gcpm.yml**.\n\nFor service, the configuration file is **/etc/gcpm.yml**.\n\nTo change the configuration file, use `--config` option:\n\n $ gcpm run --config /path/to/my/gcpm.yml\n\n### Configuration file content\n\nA configuration file is YAML format.\n\nName|Description|Default Value|Mandatory|\n:---|:----------|:------------|:--------|\nconfig_dir | Directory for some gcpm related files.|**~/.config/gcpm/** (user)
**/var/cache/gcpm** (service)|No\noatuh_file | Path to OAuth information file for GCE/GCS usage.|**/oauth**|No\nservice_account_file | Service account JSON file for GCE/GCS usage.
If not specified, OAuth connection is tried.|-|No\nproject | Google Cloud Platform Project Name.|-|Yes\nzone | Zone for Google Compute Engine.|-|Yes\nmachines | Array of machine settings.
Each setting is array of [core, mem, disk, idle, image] (see below).|[]|Yes\nmachines:core | Number of core of the machine type.|-|Yes\nmachines:mem | Memory (MB) of the machine type.|-|Yes\nmachines:swap | Swap memory (MB) of the machine type.|Same as mem|No\nmachines:disk | Disk size (GB) of the machine type.|-|Yes\nmachines:max | Limit of the number of instances for the machine type.|-|Yes\nmachines:idle | Number of idle machines for the machine type.|-|Yes\nmachines:image | Image of the machine type.|-|Yes\nmachines:<others> | Other any options can be defined for creating instance.|-|No\nmax_cores | Limit of the total number of cores of all instances.
If it is set 0, no limit is applied.|0|No\nstatic_wns | Array of instance names of static worker nodes, which are added as condor worker nodes.|[]|No\nrequired_machines | Array of machines which should be running other than worker nodes.|[]|No\nrequired_machines:name | Number of core of the machine type.|-|Yes\nrequired_machines:mem | Memory (MB) of the machine type.|-|Yes\nrequired_machines:swap | Swap memory (MB) of the machine type.|Same as mem|No\nrequired_machines:disk | Disk size (GB) of the machine type.|-|Yes\nrequired_machines:image | Image of the machine type.|-|Yes\nrequired_machines:<others> | Other any options can be defined for creating instance.|-|No\nprimary_accounts |User accounts which jobs must run normal worker nodes. See below about primary accounts.|[]|No\nprefix | Prefix of machine names.|**gcp-wn**|No\npreemptible | 1 for preemptible machines, 0 for not.|0|No\noff_timer | Second to send condor_off after starting.|0|No\nnetwork_tag | Array of GCP network tag.|[]|No\nreuse | 1 to reused terminated instance. Otherwise delete and re-created instances.|0|No\ninterval | Second of interval for each loop.|10|No\nclean_time | Time to clean up residual instances in starting/deleting status.|600|No\nhead_info | If **head** is empty, head node information is automatically taken for each option:
hostname: Hostname
ip: IP address
gcp: Hostname|**gcp**|No\nhead | Head node Hostname/IP address.|\"\"|No\nport | HTCondor port.|9618|No\ndomain | Domain of the head node.
Set empty to take it from hostnaem.|\"\"|No\nadmin | HTCondor admin email address.|\"\"|Yes\nowner | HTCondor owner name.|\"\"|Yes\nwait_cmd | 1 to wait GCE commands result (create/start/stop/delete...).|0|No\nbucket | Bucket name for pool_password file.|\"\"|Yes\nstorageClass | Storage class name of the bucket.|\"REGIONAL\"|No\nlocation | Storage location for the bucket.
If empty, it is decided from the **zone**.|\"\"|No\nlog_file | Log file path. Empty to put it in stdout.|\"\"|No\nlog_level | Log level. (**debug**, **info**, **warning**, **error**, **critical**)|**info**|No\n\n\nNote:\n\n* Primary accounts\n\nIf primary accounts are set, jobs of **non-primary** accounts can run on test worker nodes.\n\nIf there are already max number of 1 core worker nodes\nand idle jobs of non-primary accounts are there,\ntest worker node named **<prefix>-test-1core-XXXX** will be launched\nand only non-primary account jobs can run on it.\n\nThis able to run such a test job w/o waiting for finishing any normal jobs.\n\nSuch test worker nodes can be launched until total cores are smaller than `max_core`.\n\nTo use this function effectively, set total of `max` of each core to less than `max_core`.\n\ne.g.)\n\n```yml\n---\nmachines:\n core: 1\n max: 10\nmachines:\n core: 8\n max: 2\nmax_core: 20\nprimary_accounts:\n - condor_primary\n```\n\nIn this case, normal jobs can launch 10 1-core machines and 2 8-core machines,\nthen 16 cores are used.\n\nEven if there are a log of idle **condor_primary**'s jobs,\n1 core test jobs by other accounts can run: 4 jobs at most.\n\n## Puppet setup\n\n* [mickaneda/puppet-gcpm](https://github.com/mickaneda/puppet-gcpm)\n\nA puppet module for GCPM.\n\n* [mickaneda/gcpm-puppet](https://github.com/mickaneda/gcpm-puppet)\n\nA puppet example to create head (manager) node and worker node with puppet.\n\n* [mickaneda/frontiersquid-puppet](https://github.com/mickaneda/frontiersquid-puppet)\n\nA puppet example to create frontier squid proxy server in GCP.\n", "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/mickaneda/gcpm", "keywords": "", "license": "Apache-2.0", "maintainer": "Michiru Kaneda", "maintainer_email": "Michiru.Kaneda@gmail.com", "name": "gcpm", "package_url": "https://pypi.org/project/gcpm/", "platform": "", "project_url": "https://pypi.org/project/gcpm/", "project_urls": { "Homepage": "https://github.com/mickaneda/gcpm", "Repository": "https://github.com/mickaneda/gcpm" }, "release_url": "https://pypi.org/project/gcpm/0.2.11/", "requires_dist": [ "ruamel.yaml (>=0.15.83,<0.16.0)", "google-auth-httplib2 (>=0.0.3,<0.0.4)", "fire (>=0.1.3,<0.2.0)", "google-api-python-client (>=1.7,<2.0)", "oauth2client (>=4.1,<5.0)", "google-auth (>=1.6,<2.0)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "Google Cloud Platform Condor Pool Manager", "version": "0.2.11" }, "last_serial": 4993753, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "7ea1d73fe022a0e388ebc5e66c91eaa4", "sha256": "f620f14030720efd05544be8dd42b824494679c4bb3d3923d2a586fb9474826c" }, "downloads": -1, "filename": "gcpm-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ea1d73fe022a0e388ebc5e66c91eaa4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 50498, "upload_time": "2019-01-09T01:09:57", "url": "https://files.pythonhosted.org/packages/b2/d0/dad9af92f96ee9fe956fae0b892a539e5f9b4a31090108f374c98414caec/gcpm-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "092cff035aeb639bac9ec3c728983964", "sha256": "cbc740c285d77dfcf36eede8a53d97e9261c7a4e533078851c09d6072469123c" }, "downloads": -1, "filename": "gcpm-0.1.2.tar.gz", "has_sig": false, "md5_digest": "092cff035aeb639bac9ec3c728983964", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 13977, "upload_time": "2019-01-09T01:10:00", "url": "https://files.pythonhosted.org/packages/72/c2/4928c82700064cbc08298e7f2424687d4268a7428a27be5469d56ccbed76/gcpm-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9f63e06479fee1c181d76b2b962fbd05", "sha256": "54bdf11b5bef7a944b6901037c824cb0874b068c78aa822abfe46b28e4913a82" }, "downloads": -1, "filename": "gcpm-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9f63e06479fee1c181d76b2b962fbd05", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 51773, "upload_time": "2019-01-11T05:25:18", "url": "https://files.pythonhosted.org/packages/55/b8/94494247ea1ee46f7558fd027f08bcd093521ea996de89b3db1c0897ae8b/gcpm-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef3def0fa0ce5dabc96325e649925c1d", "sha256": "5cd2328696d45980fe1d3a90ad41a5398ee9876887f9323374ebccfc87865e13" }, "downloads": -1, "filename": "gcpm-0.1.3.tar.gz", "has_sig": false, "md5_digest": "ef3def0fa0ce5dabc96325e649925c1d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 16353, "upload_time": "2019-01-11T05:25:19", "url": "https://files.pythonhosted.org/packages/7c/81/b6899a372b2dab44baa573989bb663e26154ba25390ed8e8adbb88a8fb3b/gcpm-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "f6ee64a007dcf719866a458946675fbe", "sha256": "73246120488ba3213ddf62d9c3872c3d359ecc2ed4ea4555a145dc4b76a822e4" }, "downloads": -1, "filename": "gcpm-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6ee64a007dcf719866a458946675fbe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 51803, "upload_time": "2019-01-11T05:32:23", "url": "https://files.pythonhosted.org/packages/e2/96/dbb1b753800a03fadf07dbf6674f433b5c0dbe1fbd24e9e85335bbf29433/gcpm-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d283e176e01760f6f51b8f6d69d7b35e", "sha256": "c302c80b5e76822640a3a0ec4700243443711d12310c374eaeff25447f16c198" }, "downloads": -1, "filename": "gcpm-0.1.4.tar.gz", "has_sig": false, "md5_digest": "d283e176e01760f6f51b8f6d69d7b35e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 16345, "upload_time": "2019-01-11T05:32:24", "url": "https://files.pythonhosted.org/packages/3f/3c/79f3765c12fd4bf0888a818b9f64f1c3beb2445dff9ac3436e486f92f2c8/gcpm-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "c7a9f569ceddaa9d0624031c1a2d47b9", "sha256": "12627260fc13e510286534f7692bc0969abc8d27ef7ad149665ae5e377dbeeb2" }, "downloads": -1, "filename": "gcpm-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c7a9f569ceddaa9d0624031c1a2d47b9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 51847, "upload_time": "2019-01-11T06:05:08", "url": "https://files.pythonhosted.org/packages/d5/23/7601119f0d4a398f96e4139a73192511d180d3271e7054162b173f2ba0ab/gcpm-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5deaf839c5f2a0f1bd253e489771209", "sha256": "e78dc3ad323d7ecb6ad3a1945a41893ec74530a7d782bf2b96d5cc76a4b959ae" }, "downloads": -1, "filename": "gcpm-0.1.5.tar.gz", "has_sig": false, "md5_digest": "b5deaf839c5f2a0f1bd253e489771209", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 16354, "upload_time": "2019-01-11T06:05:10", "url": "https://files.pythonhosted.org/packages/d5/74/26fe55ae9ca634efb0016a001367196e38533223d4516076ed35f2a5a6b7/gcpm-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "318f622beee7d65df5b2b6a544400c01", "sha256": "b976fed62f4af82107ea57943fb0bb2518c26f165664b15db5cc03f789163948" }, "downloads": -1, "filename": "gcpm-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "318f622beee7d65df5b2b6a544400c01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 60080, "upload_time": "2019-01-16T20:08:39", "url": "https://files.pythonhosted.org/packages/95/ab/489afba874d29632546eb70494f19604d24f99a9512421e7d82938cd64eb/gcpm-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1de95ec4e6009b2863ad4ec94c016b5", "sha256": "569b9809650163a8cd79c1328a5b5dbdd39710a7e20bd75ca3f54f5f02c57aaa" }, "downloads": -1, "filename": "gcpm-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b1de95ec4e6009b2863ad4ec94c016b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 18034, "upload_time": "2019-01-16T20:08:41", "url": "https://files.pythonhosted.org/packages/b4/17/6c91ac78ec30a489fbb011b8f51b8f209f056a067e639ef5d5f64cf9bd4f/gcpm-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "264fafd25a0b204dff7191f6423daa7b", "sha256": "7175fe437e68e0822e4f3305f585f990eb749c95070b23c23625b30655184a5d" }, "downloads": -1, "filename": "gcpm-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "264fafd25a0b204dff7191f6423daa7b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 67046, "upload_time": "2019-01-20T16:34:39", "url": "https://files.pythonhosted.org/packages/28/c3/7d86b3ab38f416306c2007ee897ff8f9e467dfc69751218d34a6c1b2c941/gcpm-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "299ce2fb53f45a905f4f623674e80cb3", "sha256": "225531c239c1f4c8a4f7b37f195aec31f811b430b9d05bc3413f8259a346ab81" }, "downloads": -1, "filename": "gcpm-0.2.0.tar.gz", "has_sig": false, "md5_digest": "299ce2fb53f45a905f4f623674e80cb3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 19918, "upload_time": "2019-01-20T16:34:41", "url": "https://files.pythonhosted.org/packages/c5/df/e426ac067d6440bbd695baae58455efccb9e96962fe13fed65792474dc60/gcpm-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "752b57531da455ce0509a306509f2ba9", "sha256": "1b9f71d67f21e9c26e7a072c22e2dd025ab073ced65a5210440b8c4b97eabdad" }, "downloads": -1, "filename": "gcpm-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "752b57531da455ce0509a306509f2ba9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 67049, "upload_time": "2019-01-24T01:46:42", "url": "https://files.pythonhosted.org/packages/48/ed/c9b3c13f6b9b91f2bbd20c21b2c4f68af5db7bcd2307029e0b8894e28c94/gcpm-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fb73b6d9d32abc12319d8ffab781ca82", "sha256": "8dce7a5a8896df0ba2243b695b91fa4a2150d42113b3602cc4d4eb4bda83bb23" }, "downloads": -1, "filename": "gcpm-0.2.1.tar.gz", "has_sig": false, "md5_digest": "fb73b6d9d32abc12319d8ffab781ca82", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 19804, "upload_time": "2019-01-24T01:46:43", "url": "https://files.pythonhosted.org/packages/e2/f7/cd81e8dc69d53a4184cdf65718cbb20547e1289fb8af22ded40969ba02ad/gcpm-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "73867603c6186f7b996e42257a120477", "sha256": "289707d7d07207fa2eba9b1c47434e8b193754c5ce7f0b21b165268ae6c0af9b" }, "downloads": -1, "filename": "gcpm-0.2.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "73867603c6186f7b996e42257a120477", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 73374, "upload_time": "2019-03-26T20:34:06", "url": "https://files.pythonhosted.org/packages/b2/bc/2875c2a55582d33ddae65295281e3c7ced5661a17f669f32ea538e3c868f/gcpm-0.2.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bb22cfcc52d4c9c6501627f97790866", "sha256": "7b335adee049ecdeb4604cfbf0840a9c6ceab0f74389c53a5d23311d126250f4" }, "downloads": -1, "filename": "gcpm-0.2.10.tar.gz", "has_sig": false, "md5_digest": "7bb22cfcc52d4c9c6501627f97790866", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 21708, "upload_time": "2019-03-26T20:34:07", "url": "https://files.pythonhosted.org/packages/1d/6a/b275de2669bc78dcb8c97279317ed2be4ac07752f51f3f41d41588d94ac5/gcpm-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "1f5a7df5c27aa912be7a30464a43bd5d", "sha256": "5a3937e9777bb89326cb6e948bf12b85af1eefdd64298a445fc4edf5b9816580" }, "downloads": -1, "filename": "gcpm-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f5a7df5c27aa912be7a30464a43bd5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 73599, "upload_time": "2019-03-27T16:45:43", "url": "https://files.pythonhosted.org/packages/33/79/ff9ed839261c673d91c2cb3d2279774aada1423bd09fdf817db6d451e00e/gcpm-0.2.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d931b77b75edc6dbe6d917ada7b55af9", "sha256": "e1f6965ae568f486d43ac60c9209e46a7151dd1d4b921fe47e2371a7ba1fc583" }, "downloads": -1, "filename": "gcpm-0.2.11.tar.gz", "has_sig": false, "md5_digest": "d931b77b75edc6dbe6d917ada7b55af9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 21845, "upload_time": "2019-03-27T16:45:45", "url": "https://files.pythonhosted.org/packages/14/92/b4790946feacd5874ccdbb29d18ff035993f6d7588f0c05ed05313a24546/gcpm-0.2.11.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "a99133d2c8c55bc0db58c2dcc183d224", "sha256": "87d35cbb628b51e3e90360b309cbe584bdc9c6e72e2f94bd1614fa40435b320d" }, "downloads": -1, "filename": "gcpm-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a99133d2c8c55bc0db58c2dcc183d224", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 67495, "upload_time": "2019-01-24T10:05:34", "url": "https://files.pythonhosted.org/packages/5c/f9/27124ddb834254dba381bb2e41829c295c89c6816ffdd046fe6a55b26101/gcpm-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3665bc7a7a75967357719784d59485ac", "sha256": "778eaae96ff18d3b73ef9762ad36966bbe6fd72bc1256e89bee947cf6923c8c7" }, "downloads": -1, "filename": "gcpm-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3665bc7a7a75967357719784d59485ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 19871, "upload_time": "2019-01-24T10:05:36", "url": "https://files.pythonhosted.org/packages/23/47/c127421f9af25ee1a63a6e801fbd46f80344a6990ee71cdede09a0a75e76/gcpm-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "e38f67b47b7e9cccae37ea12c9455828", "sha256": "56219221b5b1c9cd2ce92f44c9fa99c413986554f34de436a4710abd50141768" }, "downloads": -1, "filename": "gcpm-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e38f67b47b7e9cccae37ea12c9455828", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 67555, "upload_time": "2019-01-24T11:06:48", "url": "https://files.pythonhosted.org/packages/fe/06/5fff21bfcc6c460169191f6486c878063d3abeca90a488a6563b70970f94/gcpm-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7cc8ee22852a5e750269d0130c00672a", "sha256": "9c4b347f3bc498c2ce6e2c24730fd6e063250b521866dc900bcff5e5cadaaeee" }, "downloads": -1, "filename": "gcpm-0.2.3.tar.gz", "has_sig": false, "md5_digest": "7cc8ee22852a5e750269d0130c00672a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 19884, "upload_time": "2019-01-24T11:06:50", "url": "https://files.pythonhosted.org/packages/12/ec/aa2b467f26bee34b940f7c7ea4800efe814225f9cc570d9e47d4f9264e0c/gcpm-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "c0ba88be2e60ce0a92134ceae9298e8b", "sha256": "705df4a11e5292f78218ef979e66f362f85f37c8b1b2c1e27e0cf2f9b42a2a1c" }, "downloads": -1, "filename": "gcpm-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c0ba88be2e60ce0a92134ceae9298e8b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 68524, "upload_time": "2019-01-29T06:52:08", "url": "https://files.pythonhosted.org/packages/58/67/55a96ab0077b66da2cd9e06f7d676fa88c7a6aced05a90657380f45e4760/gcpm-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16702a9be5e853d0b079642c42214193", "sha256": "36eb8adbfe6c004c63e6f58eb8d890af623a3504a501b8e5a78d1320cdec0aff" }, "downloads": -1, "filename": "gcpm-0.2.4.tar.gz", "has_sig": false, "md5_digest": "16702a9be5e853d0b079642c42214193", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 20139, "upload_time": "2019-01-29T06:52:10", "url": "https://files.pythonhosted.org/packages/29/a4/12ce1b050c98b767303b31462800aa703649b8dcff77446fb504791ba19c/gcpm-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "77327a74f124b490d0c62211dbbfa085", "sha256": "9f001f3cbae367b5d2b82fecc494f43ac3cc64158d487e63f3e372ec24c6b710" }, "downloads": -1, "filename": "gcpm-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77327a74f124b490d0c62211dbbfa085", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 68619, "upload_time": "2019-01-29T08:13:37", "url": "https://files.pythonhosted.org/packages/be/57/f868216af10d374146579e665f131925e3797643ccc5f4dbb2aa553e9050/gcpm-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "219ab43744de88e3c06b1e6fd3c66b1c", "sha256": "f5bdd05da7f7bb8247b55681cabe25f77f589653c39f05f75805c409e650e3e1" }, "downloads": -1, "filename": "gcpm-0.2.5.tar.gz", "has_sig": false, "md5_digest": "219ab43744de88e3c06b1e6fd3c66b1c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 20161, "upload_time": "2019-01-29T08:13:39", "url": "https://files.pythonhosted.org/packages/7d/a7/95455bb58000303adc0ffcf0dd32730a108b2f93c67c64a251f36d1c3970/gcpm-0.2.5.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "2f2634fbee18972c10abadd5041c485f", "sha256": "f343bc2bc36751418ba7670218350467fbd8ef9d87725423139980d2ab5e0bce" }, "downloads": -1, "filename": "gcpm-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f2634fbee18972c10abadd5041c485f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 69837, "upload_time": "2019-02-09T11:45:15", "url": "https://files.pythonhosted.org/packages/ea/64/61209c14272ca4f683edb4360acb3196bd6a42536b8298c8ce0b8fea5ee7/gcpm-0.2.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f93dbd47f603905367cafd3e9b311a1", "sha256": "8a5bc46745c19abbd029e317fcc1c2493880100294bbc62b9c359fc1a0f1e25d" }, "downloads": -1, "filename": "gcpm-0.2.7.tar.gz", "has_sig": false, "md5_digest": "6f93dbd47f603905367cafd3e9b311a1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 20685, "upload_time": "2019-02-09T11:45:16", "url": "https://files.pythonhosted.org/packages/40/9e/fadde54daf0f32b9ed0bf83f8a7f36afda137e72c9e024729cf173f21831/gcpm-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "630f2c4e1bee2caa7593e00075a24cfa", "sha256": "913133050875ddcc89e144786e4050f18d6ddf4500c518385990a5ced75bc68c" }, "downloads": -1, "filename": "gcpm-0.2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "630f2c4e1bee2caa7593e00075a24cfa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 70543, "upload_time": "2019-02-10T23:28:04", "url": "https://files.pythonhosted.org/packages/c0/47/b818be260b72ed9bf4a57f2ec8379e1a4b609f4e8ab7e0846017c8549d2a/gcpm-0.2.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32afb3ce936bfe8c0c00457e2ee230a2", "sha256": "f391c3bb521dca811b0a0406d3b035771dcf4dd4672f6b0f13df57878e156250" }, "downloads": -1, "filename": "gcpm-0.2.8.tar.gz", "has_sig": false, "md5_digest": "32afb3ce936bfe8c0c00457e2ee230a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 20733, "upload_time": "2019-02-10T23:28:06", "url": "https://files.pythonhosted.org/packages/74/ad/51ba629b5950fb9625e81807f17f909287f112e46d948b3e03610bf0bcf3/gcpm-0.2.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1f5a7df5c27aa912be7a30464a43bd5d", "sha256": "5a3937e9777bb89326cb6e948bf12b85af1eefdd64298a445fc4edf5b9816580" }, "downloads": -1, "filename": "gcpm-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f5a7df5c27aa912be7a30464a43bd5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 73599, "upload_time": "2019-03-27T16:45:43", "url": "https://files.pythonhosted.org/packages/33/79/ff9ed839261c673d91c2cb3d2279774aada1423bd09fdf817db6d451e00e/gcpm-0.2.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d931b77b75edc6dbe6d917ada7b55af9", "sha256": "e1f6965ae568f486d43ac60c9209e46a7151dd1d4b921fe47e2371a7ba1fc583" }, "downloads": -1, "filename": "gcpm-0.2.11.tar.gz", "has_sig": false, "md5_digest": "d931b77b75edc6dbe6d917ada7b55af9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 21845, "upload_time": "2019-03-27T16:45:45", "url": "https://files.pythonhosted.org/packages/14/92/b4790946feacd5874ccdbb29d18ff035993f6d7588f0c05ed05313a24546/gcpm-0.2.11.tar.gz" } ] }