summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Arthur <mumrah@gmail.com>2013-04-02 20:18:55 -0400
committerDavid Arthur <mumrah@gmail.com>2013-04-02 20:21:07 -0400
commitfd45ca59336f01d84ba0d04ab855c94903d67d52 (patch)
tree9777915d9e7a19c151353b0d8f927a0a4349567b
parentc275c023c5958c3b2b7d1aaf8642f2475d7780c8 (diff)
downloadkafka-python-fd45ca59336f01d84ba0d04ab855c94903d67d52.tar.gz
Update README and setup.py with new version
-rw-r--r--README.md99
-rw-r--r--setup.py2
2 files changed, 57 insertions, 44 deletions
diff --git a/README.md b/README.md
index 9fdfbaf..a1b88b4 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,13 @@
# Kafka Python client
-This module provides low-level protocol support Apache Kafka. It implements the five basic request types
-(and their responses): Produce, Fetch, MultiFetch, MultiProduce, and Offsets. Gzip and Snappy compression
-is also supported.
+This module provides low-level protocol support for Apache Kafka as well as
+high-level consumer and producer classes. Request batching is supported by the
+protocol as well as broker-aware request routing. Gzip and Snappy compression
+is also supported for message sets.
-Compatible with Apache Kafka 0.7x. Tested against 0.8
+Compatible with Apache Kafka 0.8.1
-http://incubator.apache.org/kafka/
+http://kafka.apache.org/
# License
@@ -14,7 +15,47 @@ Copyright 2013, David Arthur under Apache License, v2.0. See `LICENSE`
# Status
-Current version is 0.2-alpha. This version is under development, APIs are subject to change
+I'm following the version numbers of Kafka, plus one number to indicate the
+version of this project. The current version is 0.8.1-1. This version is under
+development, APIs are subject to change.
+
+# Usage
+
+## High level
+
+```python
+from kafka.client import KafkaClient
+from kafka.consumer import SimpleConsumer
+from kafka.producer import SimpleProducer
+
+kafka = KafkaClient("localhost", 9092)
+
+producer = SimpleProducer(kafka, "my-topic")
+producer.send_messages("some message")
+producer.send_messages("this method", "is variadic")
+
+consumer = SimpleConsumer(kafka, "my-group", "my-topic")
+for message in consumer:
+ print(message)
+
+kafka.close()
+```
+
+## Low level
+
+```python
+from kafka.client import KafkaClient
+kafka = KafkaClient("localhost", 9092)
+req = ProduceRequest(topic="my-topic", partition=1,
+ messages=[KafkaProdocol.encode_message("some message")])
+resps = kafka.send_produce_request(payloads=[req], fail_on_error=True)
+kafka.close()
+
+resps[0].topic # "my-topic"
+resps[0].partition # 1
+resps[0].error # 0 (hopefully)
+resps[0].offset # offset of the first message sent in this request
+```
# Install
@@ -60,11 +101,14 @@ pip install python-snappy
# Tests
-Some of the tests will fail if Snappy is not installed. These tests will throw NotImplementedError. If you see other failures,
-they might be bugs - so please report them!
+Some of the tests will fail if Snappy is not installed. These tests will throw
+NotImplementedError. If you see other failures, they might be bugs - so please
+report them!
## Run the unit tests
+_These are broken at the moment_
+
```shell
python -m test.unit
```
@@ -81,42 +125,11 @@ cd kafka-src
./sbt package
```
-Then from the root directory, run the integration tests
+Next start up a ZooKeeper server on localhost:2181
```shell
-python -m test.integration
+/opt/zookeeper/bin/zkServer.sh start
```
-# Usage
-
-## High level
-
-```python
-from kafka.client import KafkaClient
-
-producer = SimpleProducer(kafka, "my-topic")
-producer.send_messages("some message")
-producer.send_messages("this method", "is variadic")
-
-consumer = SimpleConsumer(kafka, "my-group", "my-topic")
-for message in consumer:
- print(message)
-
-kafka.close()
-```
-
-## Low level
-
-```python
-from kafka.client import KafkaClient
-kafka = KafkaClient("localhost", 9092)
-req = ProduceRequest(topic="my-topic", partition=1,
- messages=[KafkaProdocol.encode_message("some message")])
-resps = kafka.send_produce_request(payloads=[req], fail_on_error=True)
-kafka.close()
-
-resps[0].topic # "my-topic"
-resps[0].partition # 1
-resps[0].error # 0 (hopefully)
-resps[0].offset # offset of the first message sent in this request
-```
+This will actually start up real Kafka brokers and send messages in using the
+client.
diff --git a/setup.py b/setup.py
index 18f9fcc..d615694 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@ from distutils.core import setup
setup(
name="kafka-python",
- version="0.2-alpha",
+ version="0.8.1-1",
author="David Arthur",
author_email="mumrah@gmail.com",
url="https://github.com/mumrah/kafka-python",