{ "info": { "author": "Antoine Legrand", "author_email": "2t.antoine@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7" ], "description": "## \"WARNING\"\"WARNING\"\"WARNING\" Deprecation warning \"WARNING\"\"WARNING\"\"WARNING\"\nkpm is no longer developed or maintained by CoreOS.\n\n[![Build Status](https://travis-ci.org/coreos/kpm.svg?branch=master)](https://travis-ci.org/coreos/kpm)\n\nif you have any question you can **chat** with us [![SlackStatus](https://slack.kubespray.io/badge.svg)](https://kubespray.slack.com)\n\n# KPM\n\nKPM is a tool to deploy and manage application stacks on kubernetes.\n\nKPM provides the glue between kubernetes resources (ReplicaSet, DaemonSet, Secrets...). It defines a package as a composition of kubernetes resources and dependencies to other packages.\n\n##### Versioning and rollbacks\n\nKPM uses a global registry, packages are immediately accessible and visible to the community. Versioning is strong and was easy to implement: https://cnr.kubespray.com\n\n\n##### Clustered applications and persistent-storage !\n\n - How to scale database slaves(postgresql/mysql/redis) ?\n - How to deploy a production-grade elasticsearch/rabbitmq/zookeep/etcd/ clusters on kubernetes?\nIt requires stable network identity and a unique storage per pod!\n\n---> KPM creates multiple variation of a single template with simplicity\n\nCreating a 3 node rabbitmq cluster is easy:\n\n1. List the resources\n2. Add the keyword `sharded: true` to enable unique variation\n3. List the shards and define\n\n```\nresources:\n - name: rabbitmq\n file: rabbitmq-rc.yaml\n type: replicationcontroller\n sharded: yes\n\n - name: rabbitmq\n file: rabbitmq-svc.yaml\n type: service\n sharded: yes\n\n # LB to any of the rabbitmq shard\n - name: rabbitmq\n file: rabbitmq-umbrella-svc.yaml\n type: service\n\nshards:\n - name: hare\n variables:\n data_volume: {name: data, persistentVolumeClaim: {claimName: claim-hare}}\n - name: bunny\n variables:\n data_volume: {name: data, persistentVolumeClaim: {claimName: claim-bunny}}\n- name: rabbit-on-ram\n variables:\n data_volume: {name: data, emptyDir: \"\"}\n args: [--ram]\n```\nDemo:\n[![asciicast](https://asciinema.org/a/2ktj7kr2d2m3w25xrpz7mjkbu.png)](https://asciinema.org/a/2ktj7kr2d2m3w25xrpz7mjkbu?speed=2)\n\n\n##### Server-side\nKPM is an API with an command line interface, its major difference in terms of design and possible integration.\n\n--> We wanted a tool that could be integrated anywhere, for that KPM is building the package server side.\nClients are brainless and easy to implement. As a POC we integrated KPM to a fork of https://github.com/kubernetes/dashboard in less than a day:\nhttps://youtu.be/7SJ6p38W-WM\n\n\n## Install kpm\n\n##### From Pypi\n\nkpm is a python2 package and available on pypi\n```\n$ sudo pip install kpm -U\n````\n\n##### From git\n\n```\ngit clone https://github.com/coreos/kpm.git kpm-cli\ncd kpm-cli\nsudo make install\n```\n\n### Configuration\n\nKPM uses `kubectl` to communicate with the kubernetes cluster.\nCheck if the cluster is accessible:\n```bash\n$ kubectl version\nClient Version: version.Info{Major:\"1\", Minor:\"1\", GitVersion:\"v1.1.4\", GitCommit:\"a5949fea3a91d6a50f40a5684e05879080a4c61d\", GitTreeState:\"clean\"}\nServer Version: version.Info{Major:\"1\", Minor:\"1\", GitVersion:\"v1.1.4\", GitCommit:\"a5949fea3a91d6a50f40a5684e05879080a4c61d\", GitTreeState:\"clean\"}\n\n```\n\n### List packages\n\n- All packages: `kpm list`\n- Filter by user: `kpm -u username`\n\nThe website [https://kpm.kubespray.io](https://kpm.kubespray.io) has more advanced search and browsing featutres than the CLI.\n\n### Deploy an application\n\n`kpm deploy package_name [-v VERSION] [--namespace namespace]`\n```\n$ kpm deploy ant31/rocketchat --namespace myns\ncreate ant31/rocketchat\n\npackage version type name namespace status\n---------------- --------- --------------------- ---------- ----------- --------\nant31/mongodb 1.0.0 namespace myns myns created\nant31/mongodb 1.0.0 service mongodb myns created\nant31/mongodb 1.0.0 replicationcontroller mongodb myns created\nant31/rocketchat 1.6.2 namespace myns myns ok\nant31/rocketchat 1.6.2 service rocketchat myns created\nant31/rocketchat 1.6.2 replicationcontroller rocketchat myns created\n```\n\nIt deploys the package and its dependencies.\nThe command can be executed multiple times, kpm detects changes in resource and apply only the modified ones.\n\n### Uninstall an application\n\nThe opposite action to `deploy` is the `remove` command. It performs a delete on all resources created by `deploy`. It's possible to mark some resources as `protected`.\n\n`Namespace` resources are protected by default.\n\n```\nkpm remove ant31/rocketchat --namespace demo\npackage version type name namespace status\n---------------- --------- --------------------- ---------- ----------- ---------\nant31/mongodb 1.0.0 namespace myns myns protected\nant31/mongodb 1.0.0 service mongodb myns deleted\nant31/mongodb 1.0.0 replicationcontroller mongodb myns deleted\nant31/rocketchat 1.6.2 namespace myns myns protected\nant31/rocketchat 1.6.2 service rocketchat myns deleted\nant31/rocketchat 1.6.2 replicationcontroller rocketchat myns deleted\n```\n\n\n=======\nHistory\n=======\n\n0.1.0 (2016-2-22)\n------------------\n\n* First release on PyPI.\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/coreos/kpm", "keywords": "kpm", "license": "Apache License version 2", "maintainer": "", "maintainer_email": "", "name": "kpm", "package_url": "https://pypi.org/project/kpm/", "platform": "", "project_url": "https://pypi.org/project/kpm/", "project_urls": { "Homepage": "https://github.com/coreos/kpm" }, "release_url": "https://pypi.org/project/kpm/0.25.0/", "requires_dist": null, "requires_python": "", "summary": "KPM cli", "version": "0.25.0" }, "last_serial": 2989796, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ceb7ab34843a73d926d0788d4d5f6065", "sha256": "3737a04591458bdfc37b5162647720b87dd07548c990915353e58aca441dd0e7" }, "downloads": -1, "filename": "kpm-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ceb7ab34843a73d926d0788d4d5f6065", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10667, "upload_time": "2016-02-11T19:08:56", "url": "https://files.pythonhosted.org/packages/3e/73/0ccca873334fcd1810c2b1678631ee755eb23bcc57295aa67b691dc6aa30/kpm-0.1.0.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "c41a9a1561bc2eb28559b1b8cf7db315", "sha256": "e53a08ec64eaa95df02bb452cb03b6aced3e7c4b5d7697c18323eca3878c308d" }, "downloads": -1, "filename": "kpm-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c41a9a1561bc2eb28559b1b8cf7db315", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12934, "upload_time": "2016-03-17T16:52:31", "url": "https://files.pythonhosted.org/packages/40/51/e76fe369b50e2b023436a7827414dbfd209272dbb2f2aaa174a8f4a042cb/kpm-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4e086d553ecb3c39e6c8adf5b53babd", "sha256": "38cb49ba13afeecfa8e704f50aca74ec31ed4585f5510c3ab504597b9ab8facd" }, "downloads": -1, "filename": "kpm-0.10.0.tar.gz", "has_sig": false, "md5_digest": "b4e086d553ecb3c39e6c8adf5b53babd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30228, "upload_time": "2016-03-17T16:52:20", "url": "https://files.pythonhosted.org/packages/8f/ec/0d64644444ecd62a7f0a59cf94fff2802c64b6f4c7a0fbcd9e9879a21979/kpm-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "b2a5a036dda5281a6084c2a3f6e4155f", "sha256": "520890f99bbf8d29b5b9d9abb4e7b162283c1cbbb2c45a7bbcbbc095e00641af" }, "downloads": -1, "filename": "kpm-0.10.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b2a5a036dda5281a6084c2a3f6e4155f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13027, "upload_time": "2016-03-19T15:11:32", "url": "https://files.pythonhosted.org/packages/1a/97/ccbb89dd3420518cfad270a9e459d41c7ba0dae46361d8b58445f138921d/kpm-0.10.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f87536d53ccf29cb3748f49e69c15d81", "sha256": "8a80c4b0e697231224682fc7e1620cdbee1789cc123c151d23ea4e7fe55d2a76" }, "downloads": -1, "filename": "kpm-0.10.1.tar.gz", "has_sig": false, "md5_digest": "f87536d53ccf29cb3748f49e69c15d81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30299, "upload_time": "2016-03-19T15:11:24", "url": "https://files.pythonhosted.org/packages/e5/d9/6439d895509f2675dc97562bb553470c6d2e22d0e03d6738d699f24a2032/kpm-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "db0a877f008cf1e2a9924e6bcb442966", "sha256": "4e3f6e4d233ed6c7b0a8285c50f0004ccf18b084f3d8af5e2b9fe1173625be71" }, "downloads": -1, "filename": "kpm-0.10.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "db0a877f008cf1e2a9924e6bcb442966", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13020, "upload_time": "2016-03-21T09:51:21", "url": "https://files.pythonhosted.org/packages/ea/04/3982ef19f938f33828046fc3d646af04adb4391814fb8fbd59c1e6be00b5/kpm-0.10.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f388e0267abd57581b91eb6a24284b35", "sha256": "b25f18f4cca7bc752b8791dd635872cd152f44e86a4740ce773a80169dda5dbb" }, "downloads": -1, "filename": "kpm-0.10.2.tar.gz", "has_sig": false, "md5_digest": "f388e0267abd57581b91eb6a24284b35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30290, "upload_time": "2016-03-21T09:51:12", "url": "https://files.pythonhosted.org/packages/d9/07/64e3846e44cae41c10f69b32b19d40003464df38633f88b7064ac0c03f93/kpm-0.10.2.tar.gz" } ], "0.10.3": [ { "comment_text": "", "digests": { "md5": "7f8c8ed6297c2f10c6a7f1cae378ce10", "sha256": "ff0ca0791751e85092b4bdebba51929fe64960aed96927ca089361944ec6291f" }, "downloads": -1, "filename": "kpm-0.10.3.tar.gz", "has_sig": false, "md5_digest": "7f8c8ed6297c2f10c6a7f1cae378ce10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14818, "upload_time": "2016-03-21T11:02:01", "url": "https://files.pythonhosted.org/packages/55/f5/a66ff686a8f10b4d19870b9856c5ec18edc1f5cdfaee193b53599616ebd2/kpm-0.10.3.tar.gz" } ], "0.10.4": [ { "comment_text": "", "digests": { "md5": "d89bd77540c06221469ccb580df456e4", "sha256": "dd73fb5fb81e34193cb5df43ebf58f9297c273304fdcf781d9bd43995b0779d5" }, "downloads": -1, "filename": "kpm-0.10.4.tar.gz", "has_sig": false, "md5_digest": "d89bd77540c06221469ccb580df456e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15176, "upload_time": "2016-03-21T11:17:31", "url": "https://files.pythonhosted.org/packages/db/47/1a338a336a290bfa0c234e06e730dd884c1e9f361f5d0a4123685c875a81/kpm-0.10.4.tar.gz" } ], "0.10.5": [ { "comment_text": "", "digests": { "md5": "5c671fd4fc43923ddc435e8d58608ed4", "sha256": "4a1a924488f42df0194d88534e6fdff4fa71d7b73ee2c178985d426fcda203a8" }, "downloads": -1, "filename": "kpm-0.10.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5c671fd4fc43923ddc435e8d58608ed4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15309, "upload_time": "2016-03-21T14:58:55", "url": "https://files.pythonhosted.org/packages/de/25/59673e65d14c089a8dcf53388dd49e4471e523a559d5a52b4a0b48ffd9e0/kpm-0.10.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8dd99ac2af6e0a008dc9aeb320a5db89", "sha256": "8eca53dc752a00ffdd4b525907adc1bf32f7fe011057d39c5017a6bdf618ab60" }, "downloads": -1, "filename": "kpm-0.10.5.tar.gz", "has_sig": false, "md5_digest": "8dd99ac2af6e0a008dc9aeb320a5db89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15237, "upload_time": "2016-03-21T14:58:27", "url": "https://files.pythonhosted.org/packages/af/1d/e4d85d1c8200fef8b6b4c28dfd8ed23be3559dcd31ed304804ff7673371e/kpm-0.10.5.tar.gz" } ], "0.10.6": [ { "comment_text": "", "digests": { "md5": "835631877d874d7cddd94b60def93429", "sha256": "b170448a3afeabc7949a1cdc9cd1e9ef2e8883343f0135c2df82e6055f8a7eb4" }, "downloads": -1, "filename": "kpm-0.10.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "835631877d874d7cddd94b60def93429", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15400, "upload_time": "2016-03-23T16:11:53", "url": "https://files.pythonhosted.org/packages/12/5d/cc29342d11249167b4148e71b5f80369cfa4e59ece9349ff57e3e10d2948/kpm-0.10.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9572fe880441ed5074b6041235717acc", "sha256": "efcec76645776e5609cccd1e1caf771d9acbdd70f3d75f5a5f53445fa8614fc2" }, "downloads": -1, "filename": "kpm-0.10.6.tar.gz", "has_sig": false, "md5_digest": "9572fe880441ed5074b6041235717acc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15329, "upload_time": "2016-03-23T16:11:31", "url": "https://files.pythonhosted.org/packages/dc/51/881c4214b62387aa800a73e9557d9968986ed91f61957af99506529ecf1a/kpm-0.10.6.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "7d07b72307ad83b597ac066ccd13d519", "sha256": "b1103d557534820c7ddaed2f6a8f7402ab78fdc62df44ac94d82d4df84ebba4c" }, "downloads": -1, "filename": "kpm-0.11.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d07b72307ad83b597ac066ccd13d519", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15900, "upload_time": "2016-03-28T15:01:29", "url": "https://files.pythonhosted.org/packages/db/4a/92b08981a9787c1263f14274123510626794a973ec0674f46a93a1dd2345/kpm-0.11.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fab30c679cc912e2bf7854cb15017866", "sha256": "927d16109830a6ec577c8939c26b7824f61223ea065ad8bc4d6eeb5627c7b675" }, "downloads": -1, "filename": "kpm-0.11.0.tar.gz", "has_sig": false, "md5_digest": "fab30c679cc912e2bf7854cb15017866", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15658, "upload_time": "2016-03-28T15:01:18", "url": "https://files.pythonhosted.org/packages/a1/99/a3fa01c1c4205f1c3b7f3118a386fa4d55fe06dbf9c74825ca94f8031612/kpm-0.11.0.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "714105c6fd4192caf8e220ef1c2ee216", "sha256": "625f326ef1a8f67880525c4a8efc34c8b9e1633eee4e8a278d859c3679f3e914" }, "downloads": -1, "filename": "kpm-0.12.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "714105c6fd4192caf8e220ef1c2ee216", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18569, "upload_time": "2016-04-07T15:40:48", "url": "https://files.pythonhosted.org/packages/f6/a7/502628cc70e7992b559e543895b1c3ee21696fec0249a3fa295886d0f68f/kpm-0.12.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ac739b4cbe3398bbc4d19104723cd89", "sha256": "600777ee53ea0059d677e35a79f6fd6e6a7e98b79497047192645c8d7348e58c" }, "downloads": -1, "filename": "kpm-0.12.0.tar.gz", "has_sig": false, "md5_digest": "6ac739b4cbe3398bbc4d19104723cd89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27190, "upload_time": "2016-04-07T15:40:33", "url": "https://files.pythonhosted.org/packages/f6/1b/ef3672ea1ff9bacd01db849bd6fc6df578f3db9257a372dcc5a166d3cb22/kpm-0.12.0.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "0ea0d095cc3501f8c37c564edb6f2fd9", "sha256": "1e5afe267baae64232937cde3749cb2dd64b2063d67ebd395a345916dd1bb484" }, "downloads": -1, "filename": "kpm-0.12.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ea0d095cc3501f8c37c564edb6f2fd9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18598, "upload_time": "2016-04-10T08:27:37", "url": "https://files.pythonhosted.org/packages/31/72/53d1eb57b0f3e3ed0b4c9bc1d3b8ef7326b949c21b0399e6e9e07b8905c5/kpm-0.12.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e76d921b42722cae61c7dda9a9d8785", "sha256": "c90e2e30ac44ef9007c15a2716c14fd0b1cfd642fbe2c7d9eb732543f9b43a8e" }, "downloads": -1, "filename": "kpm-0.12.1.tar.gz", "has_sig": false, "md5_digest": "5e76d921b42722cae61c7dda9a9d8785", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27228, "upload_time": "2016-04-10T08:27:31", "url": "https://files.pythonhosted.org/packages/ca/81/351cb457090b8c6fa6258c8cfd2dd667f317c2075907a9cfeee007e214d1/kpm-0.12.1.tar.gz" } ], "0.14.0": [], "0.14.1": [ { "comment_text": "", "digests": { "md5": "6ea4ad31eb88e02e28072f26f1d2281d", "sha256": "d9c60b5420085d16f4fc6f4f0035b1c62ff332fec32c6ae31808060ba6f119f1" }, "downloads": -1, "filename": "kpm-0.14.1.tar.gz", "has_sig": false, "md5_digest": "6ea4ad31eb88e02e28072f26f1d2281d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37743, "upload_time": "2016-04-24T16:08:56", "url": "https://files.pythonhosted.org/packages/72/62/61da00959311287b54725436a2fbb83eb70f7cb7e437fd20d5785f959129/kpm-0.14.1.tar.gz" } ], "0.14.2": [ { "comment_text": "", "digests": { "md5": "0d5ecbcea26c83f4c9088d546cb7d9c8", "sha256": "0bacdc7db9437f9955bf6f75d39f745ae4b2cdca71d1cf7c1d3bc1b135940b48" }, "downloads": -1, "filename": "kpm-0.14.2.tar.gz", "has_sig": false, "md5_digest": "0d5ecbcea26c83f4c9088d546cb7d9c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37738, "upload_time": "2016-04-24T16:58:51", "url": "https://files.pythonhosted.org/packages/5d/89/d5b43971055d9e8155d7c56849f32b5d5c8b9fd938b793cf66d5a1b66869/kpm-0.14.2.tar.gz" } ], "0.14.3": [ { "comment_text": "", "digests": { "md5": "9bc21ab5f12ccf17080e655db2d76116", "sha256": "852448e0d2569dd4cd898c1c217e876609d54c8978dcb3e95b02ebd4ff27e999" }, "downloads": -1, "filename": "kpm-0.14.3.tar.gz", "has_sig": false, "md5_digest": "9bc21ab5f12ccf17080e655db2d76116", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37830, "upload_time": "2016-04-24T20:04:21", "url": "https://files.pythonhosted.org/packages/b4/93/ad48c6c3abbe2b1f184d6c537300c299799cfde84bac6df16b529e36836c/kpm-0.14.3.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "cc92f2def1329c1f61cb05b85d78e405", "sha256": "0b707967be3982652c60820b2c2f45f6ea5eda424bfc4c30a8f6ac58bda37a8f" }, "downloads": -1, "filename": "kpm-0.15.0.tar.gz", "has_sig": false, "md5_digest": "cc92f2def1329c1f61cb05b85d78e405", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39176, "upload_time": "2016-04-27T15:39:31", "url": "https://files.pythonhosted.org/packages/ef/32/ff653a2f8d70c724ef083a33cab9815bfda6ecb0661eb848ea8462d280e3/kpm-0.15.0.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "f2f873db304d7deadb1fd836d2dd57ae", "sha256": "cbe646e896cfd63486444f177b1926e24a4eca81d50775d53bc77b3392884850" }, "downloads": -1, "filename": "kpm-0.16.0.tar.gz", "has_sig": false, "md5_digest": "f2f873db304d7deadb1fd836d2dd57ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39860, "upload_time": "2016-05-04T14:09:01", "url": "https://files.pythonhosted.org/packages/4e/06/cf4bb51333a582dc322034f1f6b099fb2124b348e348caecd0935177da1c/kpm-0.16.0.tar.gz" } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "9993d2bd09b0a53310bafc8d26dda884", "sha256": "46f0d85c2da17a1cfa1e7935a38dd2d04eea104d535456a4b29646bb48efef6b" }, "downloads": -1, "filename": "kpm-0.16.1.tar.gz", "has_sig": false, "md5_digest": "9993d2bd09b0a53310bafc8d26dda884", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40181, "upload_time": "2016-05-09T21:20:50", "url": "https://files.pythonhosted.org/packages/bd/59/e169f47dd0afe1dd6c22a0f24aa745020e35aad7f163845aca7dbe54b04e/kpm-0.16.1.tar.gz" } ], "0.21.1": [], "0.21.1rc0": [ { "comment_text": "", "digests": { "md5": "7473a67649a2fada1adbf82c6f1dc324", "sha256": "546aab618702f86cbc087cdce11d16139fbad1b27e61e2326b06859a0e74b9cf" }, "downloads": -1, "filename": "kpm-0.21.1rc0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7473a67649a2fada1adbf82c6f1dc324", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 59997, "upload_time": "2016-08-31T22:50:27", "url": "https://files.pythonhosted.org/packages/8b/39/7f264f16e0534a8f3ed5e49342918a2947701a2b96016a19a88185798cab/kpm-0.21.1rc0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c62e3383f9e49103c31015bc79f2aa1", "sha256": "cea54d15ff42c7453c3ffa341dc9482d761b77e2c063bf8bc682795c2e1d59f3" }, "downloads": -1, "filename": "kpm-0.21.1rc0.tar.gz", "has_sig": false, "md5_digest": "1c62e3383f9e49103c31015bc79f2aa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65965, "upload_time": "2016-08-31T22:50:24", "url": "https://files.pythonhosted.org/packages/a7/b4/73502b88bc80727fc399b396d5a48eebb748c710e56c40757cd76b1d2bf2/kpm-0.21.1rc0.tar.gz" } ], "0.21.1rc2": [ { "comment_text": "", "digests": { "md5": "9f2f857734c78a2373f01f3eb3688fd2", "sha256": "56e750b2e902f26d17ba8310175b2052524ec5a5f2bcff15743501dd280ccfaf" }, "downloads": -1, "filename": "kpm-0.21.1rc2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9f2f857734c78a2373f01f3eb3688fd2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 59988, "upload_time": "2016-09-01T11:46:24", "url": "https://files.pythonhosted.org/packages/f8/12/b610d6cf07c057c538d3b42c28fe03236c70aaf27f48b98f49c9563ff21f/kpm-0.21.1rc2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f19081dece8fc16f6fc131c3c1b57efe", "sha256": "e71f533748634e7f09649731a0dae9c391f65aedf4e77c3ba5c3baa17aed02d8" }, "downloads": -1, "filename": "kpm-0.21.1rc2.tar.gz", "has_sig": false, "md5_digest": "f19081dece8fc16f6fc131c3c1b57efe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66147, "upload_time": "2016-09-01T11:46:21", "url": "https://files.pythonhosted.org/packages/8b/c4/a1711cf18103f0c1f4e9d0b7c75ddd3b5deda645a433e54ac397657fc088/kpm-0.21.1rc2.tar.gz" } ], "0.24.0": [ { "comment_text": "", "digests": { "md5": "acb9111548d10aec53062187259e97b4", "sha256": "e89071acca708c7d0cabaaf02bcf5164bde5d4b0005e9daa66b43ce44bab6b51" }, "downloads": -1, "filename": "kpm-0.24.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "acb9111548d10aec53062187259e97b4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 50997, "upload_time": "2016-12-19T19:14:53", "url": "https://files.pythonhosted.org/packages/b6/be/6df7491805aefb119f613a74b218002c37dd59f64166e8a319de18776b6b/kpm-0.24.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aeada55c3e16f20f9a08194108ca134b", "sha256": "e056bd717bee63528f3a512b04449df7a6d619d4f1d761c6eb9bc2b7601fe424" }, "downloads": -1, "filename": "kpm-0.24.0.tar.gz", "has_sig": false, "md5_digest": "aeada55c3e16f20f9a08194108ca134b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59326, "upload_time": "2016-12-19T19:14:48", "url": "https://files.pythonhosted.org/packages/4b/98/0c8d22c8dab1d1a8fed439400e4cabef24c76d5e27ccfdaddeb9072b49ba/kpm-0.24.0.tar.gz" } ], "0.24.1": [ { "comment_text": "", "digests": { "md5": "1e78c0c8f0d5647e9683e2201f725f11", "sha256": "7bf7ead6c7e0e1cf1117fef41b12390144f26ff8c8979acd853b7de488dda79b" }, "downloads": -1, "filename": "kpm-0.24.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1e78c0c8f0d5647e9683e2201f725f11", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 51478, "upload_time": "2016-12-21T13:27:55", "url": "https://files.pythonhosted.org/packages/4d/fa/9d44a822ff4df2f96d01e7a68fd2458ebc2384ef5f1e6f0999714d4206a7/kpm-0.24.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3a8f06d139272851dd3d393779453da", "sha256": "2d3acdc907fd00e9ec954569c6bc4e894f214e319a94f631233f16a25d711612" }, "downloads": -1, "filename": "kpm-0.24.1.tar.gz", "has_sig": false, "md5_digest": "c3a8f06d139272851dd3d393779453da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59815, "upload_time": "2016-12-21T13:27:49", "url": "https://files.pythonhosted.org/packages/83/b7/154808a5be0970ed80c11b64cf946c51dc6ac81aa2df4e59b1ebb045f76c/kpm-0.24.1.tar.gz" } ], "0.24.3": [ { "comment_text": "", "digests": { "md5": "00ff20e8d23334ba3b21d3ade4c00124", "sha256": "2f9405753ea918f061c884a8a44ae9cb574505948932665b3da6095e1d0533e5" }, "downloads": -1, "filename": "kpm-0.24.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "00ff20e8d23334ba3b21d3ade4c00124", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46418, "upload_time": "2017-01-19T00:48:55", "url": "https://files.pythonhosted.org/packages/4d/bc/5c1e3af953a7a5f5166092238ce3b7a40ca907f8fa0765ca86168d00b03a/kpm-0.24.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "476401e385e4f30c46b7bf3ba373b353", "sha256": "c4be6b527660a6cbf58fb43f9b457d6f6d8f352b9b85ac46c558f73438ea17a7" }, "downloads": -1, "filename": "kpm-0.24.3.tar.gz", "has_sig": false, "md5_digest": "476401e385e4f30c46b7bf3ba373b353", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57282, "upload_time": "2017-01-19T00:48:51", "url": "https://files.pythonhosted.org/packages/3e/01/733596eeeff77103207dc250de5263a5f3f90efe942e839baaca4232cd67/kpm-0.24.3.tar.gz" } ], "0.24.4": [ { "comment_text": "", "digests": { "md5": "7eaf6381b7e952aa1a10f906326646f4", "sha256": "4d623daa1e698eb86a71f829f81abf84295403d0648ee9f41a19ffdb7572a8c9" }, "downloads": -1, "filename": "kpm-0.24.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7eaf6381b7e952aa1a10f906326646f4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46532, "upload_time": "2017-02-27T13:41:15", "url": "https://files.pythonhosted.org/packages/aa/f8/f0b0d21e9f3635f43bfa5d007cf7d9c6f6f8e5e97d8fd23ec4e9e6964b8d/kpm-0.24.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65cb1e59e350119439361e13774eb2a2", "sha256": "ccb538bdcb397051f53988bef658b3bb3c3d4d2ef77260f8b2cdf75fd34ad5d8" }, "downloads": -1, "filename": "kpm-0.24.4.tar.gz", "has_sig": false, "md5_digest": "65cb1e59e350119439361e13774eb2a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57408, "upload_time": "2017-02-27T13:41:11", "url": "https://files.pythonhosted.org/packages/a0/27/efb0fcd8510684b4c817014982f40d4d342e6c37b3ea30aaf8242b64deac/kpm-0.24.4.tar.gz" } ], "0.25.0": [ { "comment_text": "", "digests": { "md5": "a0c8781e6cc7ecec32394605d44c08a9", "sha256": "852a056e76515190fd3b29354b38e2baca066946e6fb83aa016d1272b565347d" }, "downloads": -1, "filename": "kpm-0.25.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0c8781e6cc7ecec32394605d44c08a9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46792, "upload_time": "2017-06-30T13:18:26", "url": "https://files.pythonhosted.org/packages/ba/48/3b2b6197f11a230bca815079b4d1bc5d9506acfe8be922118cf01f6d41a5/kpm-0.25.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ebeb40643967d44e205f475f610ae7f", "sha256": "f8b67d227cac74f88fc7442675c1bdb9b933ba04b47b85b820128e4448b3ab70" }, "downloads": -1, "filename": "kpm-0.25.0.tar.gz", "has_sig": false, "md5_digest": "4ebeb40643967d44e205f475f610ae7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58529, "upload_time": "2017-06-30T13:18:21", "url": "https://files.pythonhosted.org/packages/68/3c/14cb1c3be76e443063bdd48bbc4a3782b2f177e49ba636719f6a997812e7/kpm-0.25.0.tar.gz" } ], "0.4.0": [], "0.5.0": [ { "comment_text": "", "digests": { "md5": "68098e199ff38ecdc1da04161ab8fd14", "sha256": "764f20fbf812c586a5b785165bd5f5ce14309716a88e1fa54eeb5d05de6958e9" }, "downloads": -1, "filename": "kpm-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68098e199ff38ecdc1da04161ab8fd14", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9049, "upload_time": "2016-03-05T20:12:40", "url": "https://files.pythonhosted.org/packages/2f/17/c55a1af5a37753838a6ac8b8e1f3188fb954d7b6f972cea9b23e193ea1bd/kpm-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88a224b2a00297c1cbc5f1d9170efff1", "sha256": "4c4db9afa8bb3f8bed037e3fd0508ddbdc536dfd1d896fb4027fcbdb0f7e11da" }, "downloads": -1, "filename": "kpm-0.5.0.tar.gz", "has_sig": false, "md5_digest": "88a224b2a00297c1cbc5f1d9170efff1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27033, "upload_time": "2016-03-05T20:12:34", "url": "https://files.pythonhosted.org/packages/2d/c1/fb1f1b9f85845685a626110b209850c3ef3efc0d18de784b97796554ab5f/kpm-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "e88e45286dc44ff5f5410e979b2fb03d", "sha256": "3ad411f658a8baba656245cfbd6eb8b9e002c9822d8d6276791c0b00b9fbcda7" }, "downloads": -1, "filename": "kpm-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e88e45286dc44ff5f5410e979b2fb03d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10656, "upload_time": "2016-03-08T13:47:43", "url": "https://files.pythonhosted.org/packages/18/8e/560559f51f6815ea0d943819fc00fe9276fc3adfb5a31f25435ac1b7ba1e/kpm-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "799d7c00e37a9bdbf502a6fe5d40757e", "sha256": "0f2375cc492e23f1e2c2ed06e445c5886deccbfb08fdcb0b3b1bc4393f6800ef" }, "downloads": -1, "filename": "kpm-0.6.0.tar.gz", "has_sig": false, "md5_digest": "799d7c00e37a9bdbf502a6fe5d40757e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28185, "upload_time": "2016-03-08T13:47:26", "url": "https://files.pythonhosted.org/packages/ba/2f/03498979b91414689437f263ac02943b74cfc64bf47639891f6f883a3d6c/kpm-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "517e9256974478689417800cb8ddddb5", "sha256": "f007fd467ac1498067e7712191273a4da80d3072759fa701fca5d08768826c61" }, "downloads": -1, "filename": "kpm-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "517e9256974478689417800cb8ddddb5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10669, "upload_time": "2016-03-08T15:56:29", "url": "https://files.pythonhosted.org/packages/e4/7c/fdd01fdcca82109462d34a4c26e5c82924c540b99f8babb3c62e50bd43b9/kpm-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d63912d311d94352119c9357639bfd6e", "sha256": "a8a83e7b58b46dd10b294912320e414942c36a0712b209810245f694b60f3573" }, "downloads": -1, "filename": "kpm-0.6.1.tar.gz", "has_sig": false, "md5_digest": "d63912d311d94352119c9357639bfd6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28241, "upload_time": "2016-03-08T15:56:18", "url": "https://files.pythonhosted.org/packages/bb/53/4d8f74f42d46a566f84e4e9be37f621d2299c109aff31ae0b264aaf22b2c/kpm-0.6.1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "8413e8ad4a0e1d6a5fb1fa96878ada23", "sha256": "bb44bfc0f4ae2abe8f675e582e16220833deaa2b493be98c0021773f7ee17bbd" }, "downloads": -1, "filename": "kpm-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8413e8ad4a0e1d6a5fb1fa96878ada23", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11729, "upload_time": "2016-03-10T02:27:56", "url": "https://files.pythonhosted.org/packages/15/f9/f9c5533acb204e0cc3a95d3621f63dc6adcc6bf681735cd8b1f1f32e4197/kpm-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ae8f8e582c46e00732433ea2b81ef0d", "sha256": "1cf9fa37f0d48514e416eca5d0e41fc261087f4d6347a6dbe7602ee12336d28a" }, "downloads": -1, "filename": "kpm-0.7.0.tar.gz", "has_sig": false, "md5_digest": "3ae8f8e582c46e00732433ea2b81ef0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28937, "upload_time": "2016-03-10T02:27:37", "url": "https://files.pythonhosted.org/packages/3d/28/0c4cb17a4aef43bf10dd205043393a4f9cead2edd09b47604a54f36de9f0/kpm-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "4759172e0a06068e3541a0b13b560811", "sha256": "14a23155f4c5accd473c5c5d7ebccff39f0aae8046333df685d00164b6fc4032" }, "downloads": -1, "filename": "kpm-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4759172e0a06068e3541a0b13b560811", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11851, "upload_time": "2016-03-10T17:13:08", "url": "https://files.pythonhosted.org/packages/ec/8a/dd019e25bad217d69bbed8ee78f2fd41dc3acbc65266d866ce777776bdb0/kpm-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3033fc1ef08a563f869c9ef425b06978", "sha256": "343855662f7ecca9a2420801c914fc807d977f784d177287787cbf1f79f17fd5" }, "downloads": -1, "filename": "kpm-0.8.0.tar.gz", "has_sig": false, "md5_digest": "3033fc1ef08a563f869c9ef425b06978", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29131, "upload_time": "2016-03-10T17:13:02", "url": "https://files.pythonhosted.org/packages/f6/bf/a5912d1c9999fc3a9954055f8ffc7fa89a60fe69e6324013333e27373ee3/kpm-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "5a92ff738f4bb9556e28d5270bfd8244", "sha256": "ece77b37bfe13f8f9a0f603ed4847cc10382ff1deb59ff7c63ef8b1fef4d0071" }, "downloads": -1, "filename": "kpm-0.8.1.tar.gz", "has_sig": false, "md5_digest": "5a92ff738f4bb9556e28d5270bfd8244", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29095, "upload_time": "2016-03-11T13:05:06", "url": "https://files.pythonhosted.org/packages/6d/ce/8a3c7ffd8130f58423c62946ae935b49da7de2952a8a38d28abf8f7dff35/kpm-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "2f9cf782aa1545822aa10d5cae46a8a9", "sha256": "f888d007af28c28676075adaaf500532e049d677e7f8bf68004d2645d5ddb1f4" }, "downloads": -1, "filename": "kpm-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f9cf782aa1545822aa10d5cae46a8a9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12496, "upload_time": "2016-03-16T13:50:53", "url": "https://files.pythonhosted.org/packages/2e/48/b9c6ef10714e4f22d498190a12697ca2d60427ef75392cd5b2bf92770be3/kpm-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66953ef145e42b5093cade10a79b0f18", "sha256": "b48ac86e910ce81ce2f47909d3f96e360224a685991d552e6bb0524bf98eb25d" }, "downloads": -1, "filename": "kpm-0.9.0.tar.gz", "has_sig": false, "md5_digest": "66953ef145e42b5093cade10a79b0f18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29822, "upload_time": "2016-03-16T13:50:47", "url": "https://files.pythonhosted.org/packages/6f/36/29ebddef50e4006b248cee6d44ce55f3161dcbf1ba278562902a29f22da1/kpm-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "c4d53cf06392d6fdf21e8b7e1ad4b366", "sha256": "6b95f46438a31bdecb1b9d52c7eadd9829f5502dca4a41c16b605d8390863274" }, "downloads": -1, "filename": "kpm-0.9.1.tar.gz", "has_sig": false, "md5_digest": "c4d53cf06392d6fdf21e8b7e1ad4b366", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29914, "upload_time": "2016-03-17T13:11:31", "url": "https://files.pythonhosted.org/packages/4e/28/570900c4d1ef14238e8bdacf9980239f1cc19121fd4900570258e3ded7ae/kpm-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a0c8781e6cc7ecec32394605d44c08a9", "sha256": "852a056e76515190fd3b29354b38e2baca066946e6fb83aa016d1272b565347d" }, "downloads": -1, "filename": "kpm-0.25.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0c8781e6cc7ecec32394605d44c08a9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46792, "upload_time": "2017-06-30T13:18:26", "url": "https://files.pythonhosted.org/packages/ba/48/3b2b6197f11a230bca815079b4d1bc5d9506acfe8be922118cf01f6d41a5/kpm-0.25.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ebeb40643967d44e205f475f610ae7f", "sha256": "f8b67d227cac74f88fc7442675c1bdb9b933ba04b47b85b820128e4448b3ab70" }, "downloads": -1, "filename": "kpm-0.25.0.tar.gz", "has_sig": false, "md5_digest": "4ebeb40643967d44e205f475f610ae7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58529, "upload_time": "2017-06-30T13:18:21", "url": "https://files.pythonhosted.org/packages/68/3c/14cb1c3be76e443063bdd48bbc4a3782b2f177e49ba636719f6a997812e7/kpm-0.25.0.tar.gz" } ] }