Giter Site home page Giter Site logo

kafkapy's Introduction

version codecov docs

Kafkapy

A python command line interface for inspection and management of a kafka cluster. kafkapy is a single utility for all management and inspection actions. I wrote this tool when working with AWS MSK as dealing with many different utility scripts from confluence was combersome and often required additional pre/post processing of the data which is not in a suitable format for piping etc, thus kafkapy was born.

kafkapy aims to implement all the actions supported by the confluence utility scripts, but also plans to build in testability for common tasks, such as calculating the sum of all offset lag across all partitions for a topic etc.

All output from kafkapy to stdout is fully compliant json and suitable for piping to tools etc.

Caution

Kafkapy requires broker versions 0.11.0.0 or greater.


Quick Start

kafkapy is very simple to use, you need two simple things to get started.

# install the python package:
pip install kafkapy

# to get started:
kafkapy --help

Tip

Ensure your kafka cluster is up and running.

In order to interact with kafka, you should create a properties.yaml file on disk and provide it's path to any commands, the properties.yaml file will honour any librdkafka properties. By default kafkapy will look inside ~/.kafkapy/properties.yaml as a fallback should you not provide the option explicitly via --properties.

Additionally all commands take an (Optional) --bootstrap-servers (List) option which you can specify the broker addresses manually, these are also available via librdkafka config via the bootstrap.servers property so can reside in your properties.yaml file if you so choose.

Tip

Ensure your ~/.kafkapy/properties.yaml contains appropriate properties for auth etc.

View librdkafka properties Here

Tip

kafkapy looks great, but when piping to other tooling colour is automatically excluded for unix compatibility


User Guide

Tip

For full examples, visit the user guide at: https://symonk.github.io/kafkapy/


Contributing

If you want to contribute with Kafkapy check out the Contributing Guide to learn how to start.

kafkapy's People

Contributors

symonk avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

kafkapy's Issues

Roadmap - version 1.0

The current implementation for non alpha release 1.0 is as follows:

  • list_topics
  • describe_topics
  • delete_topics
  • destroy_topics (delete all)
  • ... TBD

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.