# KPOps
[![Build status](https://github.com/bakdata/kpops/actions/workflows/ci.yaml/badge.svg)](https://github.com/bakdata/kpops/actions/workflows/ci.yaml)
[![pypi](https://img.shields.io/pypi/v/kpops.svg)](https://pypi.org/project/kpops)
[![versions](https://img.shields.io/pypi/pyversions/kpops.svg)](https://github.com/bakdata/kpops)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![license](https://img.shields.io/github/license/bakdata/kpops.svg)](https://github.com/bakdata/kpops/blob/main/LICENSE)
## Key features
- **Deploy Kafka apps to Kubernetes**: KPOps allows to deploy consecutive Kafka Streams applications and producers using an easy-to-read and -write pipeline definition.
- **Manage Kafka Connectors**: KPOps connects with your Kafka Connect cluster and deploys, validates, and deletes your connectors.
- **Configure multiple pipelines and steps**: KPOps has various abstractions that simplify configuring multiple pipelines and steps within pipelines by sharing common configuration between different components, such as producers or streaming applications.
- **Handle your topics and schemas**: KPOps not only creates and deletes your topics but also registers and deletes your schemas.
- **Clean termination of Kafka components**: KPOps removes your pipeline components (i.e., Kafka Streams applications) from the Kubernetes cluster _and_ cleans up the component-related states (i.e., removing/resetting offset of Kafka consumer groups).
- **Preview your pipeline changes**: With the KPOps dry-run, you can ensure your pipeline definition is set up correctly. This helps to minimize downtime and prevent potential errors or issues that could impact your production environment.
## Documentation
For detailed usage and installation instructions, check out
the [documentation](https://bakdata.github.io/kpops/latest).
## Install KPOps
KPOps comes as a [PyPI package](https://pypi.org/project/kpops/).
You can install it with [pip](https://github.com/pypa/pip):
```sh
pip install kpops
```
# GitHub action
Please refer to the [GitHub Actions section](https://bakdata.github.io/kpops/latest/user/references/ci-integration/github-actions) for the documentation.
## Contributing
We are happy if you want to contribute to this project.
If you find any bugs or have suggestions for improvements, please open an issue.
We are also happy to accept your PRs.
Just open an issue beforehand and let us know what you want to do and why.
## License
KPOps is licensed under the [MIT License](https://github.com/bakdata/kpops/blob/main/LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/bakdata/kpops",
"name": "kpops",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": "kafka, kubernetes, stream-processing, pipelines",
"author": "bakdata",
"author_email": "opensource@bakdata.com",
"download_url": "https://files.pythonhosted.org/packages/99/a2/6854b3bb459049d20d13cadd495daa01b36496451fa08b74cfaabd42b865/kpops-8.4.0.tar.gz",
"platform": null,
"description": "# KPOps\n\n[![Build status](https://github.com/bakdata/kpops/actions/workflows/ci.yaml/badge.svg)](https://github.com/bakdata/kpops/actions/workflows/ci.yaml)\n[![pypi](https://img.shields.io/pypi/v/kpops.svg)](https://pypi.org/project/kpops)\n[![versions](https://img.shields.io/pypi/pyversions/kpops.svg)](https://github.com/bakdata/kpops)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![license](https://img.shields.io/github/license/bakdata/kpops.svg)](https://github.com/bakdata/kpops/blob/main/LICENSE)\n\n## Key features\n\n- **Deploy Kafka apps to Kubernetes**: KPOps allows to deploy consecutive Kafka Streams applications and producers using an easy-to-read and -write pipeline definition.\n- **Manage Kafka Connectors**: KPOps connects with your Kafka Connect cluster and deploys, validates, and deletes your connectors.\n- **Configure multiple pipelines and steps**: KPOps has various abstractions that simplify configuring multiple pipelines and steps within pipelines by sharing common configuration between different components, such as producers or streaming applications.\n- **Handle your topics and schemas**: KPOps not only creates and deletes your topics but also registers and deletes your schemas.\n- **Clean termination of Kafka components**: KPOps removes your pipeline components (i.e., Kafka Streams applications) from the Kubernetes cluster _and_ cleans up the component-related states (i.e., removing/resetting offset of Kafka consumer groups).\n- **Preview your pipeline changes**: With the KPOps dry-run, you can ensure your pipeline definition is set up correctly. This helps to minimize downtime and prevent potential errors or issues that could impact your production environment.\n\n## Documentation\n\nFor detailed usage and installation instructions, check out\nthe [documentation](https://bakdata.github.io/kpops/latest).\n\n## Install KPOps\n\nKPOps comes as a [PyPI package](https://pypi.org/project/kpops/).\nYou can install it with [pip](https://github.com/pypa/pip):\n\n```sh\npip install kpops\n```\n\n# GitHub action\n\nPlease refer to the [GitHub Actions section](https://bakdata.github.io/kpops/latest/user/references/ci-integration/github-actions) for the documentation.\n\n## Contributing\n\nWe are happy if you want to contribute to this project.\nIf you find any bugs or have suggestions for improvements, please open an issue.\nWe are also happy to accept your PRs.\nJust open an issue beforehand and let us know what you want to do and why.\n\n## License\n\nKPOps is licensed under the [MIT License](https://github.com/bakdata/kpops/blob/main/LICENSE).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "KPOps is a tool to deploy Kafka pipelines to Kubernetes",
"version": "8.4.0",
"project_urls": {
"Documentation": "https://bakdata.github.io/kpops/latest",
"Homepage": "https://github.com/bakdata/kpops",
"Repository": "https://github.com/bakdata/kpops"
},
"split_keywords": [
"kafka",
" kubernetes",
" stream-processing",
" pipelines"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e338d47be1654917eaa0f8891086e9d40847a77f95045fe55ca76a56551e2f3b",
"md5": "2ba21c22f888a8a9e2fb4a69d7370cf0",
"sha256": "ab41209aacf9b2741ade3308679457ab699527b58c50a29555c33fc356c0bd6e"
},
"downloads": -1,
"filename": "kpops-8.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2ba21c22f888a8a9e2fb4a69d7370cf0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 102297,
"upload_time": "2024-12-18T14:29:16",
"upload_time_iso_8601": "2024-12-18T14:29:16.236337Z",
"url": "https://files.pythonhosted.org/packages/e3/38/d47be1654917eaa0f8891086e9d40847a77f95045fe55ca76a56551e2f3b/kpops-8.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "99a26854b3bb459049d20d13cadd495daa01b36496451fa08b74cfaabd42b865",
"md5": "0692e951c7721b5d9b3979d04b3bee82",
"sha256": "2130752b7aa8c4d539a30c74c8aa03f51c98cb6457d28273ffc308dfac0fd52f"
},
"downloads": -1,
"filename": "kpops-8.4.0.tar.gz",
"has_sig": false,
"md5_digest": "0692e951c7721b5d9b3979d04b3bee82",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 70642,
"upload_time": "2024-12-18T14:29:18",
"upload_time_iso_8601": "2024-12-18T14:29:18.803267Z",
"url": "https://files.pythonhosted.org/packages/99/a2/6854b3bb459049d20d13cadd495daa01b36496451fa08b74cfaabd42b865/kpops-8.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-18 14:29:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bakdata",
"github_project": "kpops",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kpops"
}