{ "info": { "author": "Floris Bruynooghe", "author_email": "flub@cobe.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries" ], "description": "Opinionated Python interface for the Kubernetes API\n===================================================\n\nThis package provides a Pythonic interface to use the Kubernetes_ API\nfrom within Python code. It is hand-crafted and opinionated in an\nattempt to hide the edge cases and cumbersome parts of the raw API\nwhich would be exposed by a client using the swagger_ definitions.\n\n.. _Kubernetes: http://kubernetes.io\n.. _swagger: http://kubernetes.io/third_party/swagger-ui/\n\nThis package is far from finished, the current major features are:\n\n- Major resources wrapped:\n\n - Nodes\n - Namespaces\n - Pods\n - ReplicaSets/ReplicationControllers\n - Services\n - Secrets\n\n- Good labelling support\n- Both blocking and non-blocking support for the WATCH API.\n- Query, create and delete resources.\n- Low-level API to use Kubernetes API more directly.\n- Write tests without needing a real cluster\n\nWe are working on these features:\n\n- Modifying ReplicaSets: i.e. changing number of replicas, changing selectors.\n- Modifying resources in general.\n- Creating new resource items.\n- Deleting resource items.\n\n\nInstallation\n============\n\n::\n\n pip install kube\n\n\nUsage\n=====\n\nTo use the API one has to authenticate to the Kubernetes apiserver.\nCurrently only the recommended approach_ of using kubectl in proxy\nmode is supported. Simply run ``kubectl proxy`` on the localhost and\nthe connection will work. When running in a cluster itself this can\nbe easily achieved by running the kubectl proxy in another container_\nin the same pod.\n\n.. _approach: http://kubernetes.io/docs/user-guide/accessing-the-cluster/#directly-accessing-the-rest-api\n.. _container: http://kubernetes.io/docs/user-guide/accessing-the-cluster/#accessing-the-api-from-a-pod\n\nThe central object to work with the Kubernetes cluster is the\n``Cluster`` object::\n\n import kube\n\n cluster = kube.Cluster()\n rs = cluster.replicasets.fetch('proxy', namespace='default')\n pods = cluster.pods.filter(labels=rs.meta.labels,\n filter={'metadata.namespace': 'default'})\n for pod in pods:\n assert pod.phase is pod.PodPhase.Running\n\n\nDocumentation\n=============\n\nThe kube library is fully documented at http://python-kube.readthedocs.io.\n\n\nContributing\n============\n\nThe project is still in it's early stages, feel free to submit\nsuggestions, issues or pull requests to the project.\nhttps://bitbucket.org/cobeio/kube All feedback is welcome.\n\n\nDevelopment Dependencies\n------------------------\n\nWhen developing kube you will need some extra dependencies:\n\n- pytest\n- pytest-cov\n- pylint\n- invoke\n\n\nTesting Kube\n------------\n\nThe tests can be run in two ways: Using a stubbed-out API server (default),\nor against a real Kubernetes cluster. The former runs very fast and will\nnot mess around with a real cluster. The latter is a bit slower but can be\nused to verify that the code behaves correctly against a real Kubernetes\ncluster. To reiterate, by default the tests will use the stubbed-out\napiserver. To execute the tests against a real cluster, invoke them\nwith ``py.test --verify ``. There is no need to run a\n``kubectl proxy``, this is done automatically. The tests will try not to\nbreak your cluster or leave any artefacts around after the test run, however\nwe'd recommend that ```` refers to a test cluster.\n\n\nLicense\n=======\n\nKube is available under the LGPLv3_ which allows you to use it in your\nown projects regardless of the license you choose, be it proprietary\nor open source, while keeping kube itself free software.\n\n.. _LGPLv3: https://www.gnu.org/licenses/lgpl.html", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/cobeio/kube", "keywords": "kubernetes k8s watch", "license": "LGPLv3", "maintainer": "", "maintainer_email": "", "name": "kube", "package_url": "https://pypi.org/project/kube/", "platform": "", "project_url": "https://pypi.org/project/kube/", "project_urls": { "Homepage": "http://bitbucket.org/cobeio/kube" }, "release_url": "https://pypi.org/project/kube/0.10.0/", "requires_dist": null, "requires_python": "", "summary": "Opinionated interface for the Kubernetes API", "version": "0.10.0" }, "last_serial": 2646741, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9a457fdaf92cebd8296f0ec2ec8d6f85", "sha256": "5d78f4dd4b5d0a5e4018a732433cfa244c7ec44f42a67d7868b6a9e7b3584499" }, "downloads": -1, "filename": "kube-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9a457fdaf92cebd8296f0ec2ec8d6f85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25869, "upload_time": "2016-07-07T10:09:37", "url": "https://files.pythonhosted.org/packages/fe/69/5eeffa3b025fb087f817336b4df5caf4006d535aa5e31a53441dbf13c662/kube-0.1.0.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "bc9db217a09d1c7fec2f88c9b363fc3f", "sha256": "a3eadf3d21f9502f1112740b57e5d1f87630072ba9701ef9da3af348a48964c9" }, "downloads": -1, "filename": "kube-0.10.0.tar.gz", "has_sig": false, "md5_digest": "bc9db217a09d1c7fec2f88c9b363fc3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58602, "upload_time": "2017-02-16T13:25:49", "url": "https://files.pythonhosted.org/packages/85/6a/687af199eb014ea795c6ddc166baadd965d407b46d15e9bccaccc665d158/kube-0.10.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "661019f10116e0e3079096014bcae46b", "sha256": "f5ccb131bcb63d3ae3d4d388dd8cfa4eee939b1b67131e2c3cd14a2ab431ddf7" }, "downloads": -1, "filename": "kube-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "661019f10116e0e3079096014bcae46b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38828, "upload_time": "2016-05-17T10:04:30", "url": "https://files.pythonhosted.org/packages/8f/d6/7f0cbfddb3be8c5389ebef67beb28513386ea23674d34a83a756515b85f3/kube-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "847b4791d364e41b533c24a9faa5feb2", "sha256": "e66d92792c7caec22e7d2f16538a7b8c8f7b59618cf1bbefecab94ea5a44d2f8" }, "downloads": -1, "filename": "kube-0.8.0.tar.gz", "has_sig": false, "md5_digest": "847b4791d364e41b533c24a9faa5feb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40100, "upload_time": "2016-05-17T10:04:41", "url": "https://files.pythonhosted.org/packages/af/90/596a8f50842d4dcf72e00933463a73cf0f9c2b800e33005eb183bd2c56c7/kube-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "aafa338f107b1e641dac36851ba746ab", "sha256": "18aa8b6ad8dc9ee802673ea063008e57793f21ed509a88eab51195e834c4f0d1" }, "downloads": -1, "filename": "kube-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "aafa338f107b1e641dac36851ba746ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33299, "upload_time": "2016-07-13T15:40:45", "url": "https://files.pythonhosted.org/packages/af/8b/559f1d5726790f444630cc5c803e7342566ec1a079b1a9f33653a73adad4/kube-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c5eb1f1889b1a8a57af6354372efcad", "sha256": "c7981d944a0dc24b5f087f324143964a7cddb6a1a83abba857421aaa835a2eff" }, "downloads": -1, "filename": "kube-0.9.0.tar.gz", "has_sig": false, "md5_digest": "5c5eb1f1889b1a8a57af6354372efcad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40578, "upload_time": "2016-07-13T15:40:47", "url": "https://files.pythonhosted.org/packages/a2/18/d1683a7e943b0a10d6047f1dcf42635592bd02f1379dff55a558a558ebaf/kube-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "76b43c67bf93af34e48b975cec898cd9", "sha256": "e045cb8399171a7ccc386df9f33bcd77e264a0fcf44914f37118b4af265d39bc" }, "downloads": -1, "filename": "kube-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "76b43c67bf93af34e48b975cec898cd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36756, "upload_time": "2016-09-17T19:15:13", "url": "https://files.pythonhosted.org/packages/63/ce/9fab2e2790c17143730d2cebac4846e04cb33f48526f174183b8ac2be527/kube-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd5ce815a4bce85556bb5f7f552cc674", "sha256": "f1199c7bccd6d8e5967345d781099f2601ee67e2bc870284fd3a8324e99478c8" }, "downloads": -1, "filename": "kube-0.9.1.tar.gz", "has_sig": false, "md5_digest": "cd5ce815a4bce85556bb5f7f552cc674", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55018, "upload_time": "2016-09-17T19:15:16", "url": "https://files.pythonhosted.org/packages/25/70/c50b92c9e93c20e869b89e84d3ac68e2d2730152e4725a49aeeaf2900b27/kube-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bc9db217a09d1c7fec2f88c9b363fc3f", "sha256": "a3eadf3d21f9502f1112740b57e5d1f87630072ba9701ef9da3af348a48964c9" }, "downloads": -1, "filename": "kube-0.10.0.tar.gz", "has_sig": false, "md5_digest": "bc9db217a09d1c7fec2f88c9b363fc3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58602, "upload_time": "2017-02-16T13:25:49", "url": "https://files.pythonhosted.org/packages/85/6a/687af199eb014ea795c6ddc166baadd965d407b46d15e9bccaccc665d158/kube-0.10.0.tar.gz" } ] }