Merge pull request #310 from dpkp/kafka_python_0_9_3

kafka-python 0.9.3
This commit is contained in:
Dana Powers
2015-02-03 15:04:02 -08:00
4 changed files with 43 additions and 12 deletions

View File

@@ -12,6 +12,7 @@ env:
- KAFKA_VERSION=0.8.0 - KAFKA_VERSION=0.8.0
- KAFKA_VERSION=0.8.1 - KAFKA_VERSION=0.8.1
- KAFKA_VERSION=0.8.1.1 - KAFKA_VERSION=0.8.1.1
- KAFKA_VERSION=0.8.2.0
before_install: before_install:
- sudo apt-get install libsnappy-dev - sudo apt-get install libsnappy-dev

View File

@@ -1,5 +1,26 @@
# 0.9.3 (Unreleased) # 0.9.3 (Feb 3, 2015)
* Add coveralls.io support (sontek PR 307)
* Fix python2.6 threading.Event bug in ReentrantTimer (dpkp PR 312)
* Add kafka 0.8.2.0 to travis integration tests (dpkp PR 310)
* Auto-convert topics to utf-8 bytes in Producer (sontek PR 306)
* Fix reference cycle between SimpleConsumer and ReentrantTimer (zhaopengzp PR 309)
* Add Sphinx API docs (wedaly PR 282)
* Handle additional error cases exposed by 0.8.2.0 kafka server (dpkp PR 295)
* Refactor error class management (alexcb PR 289)
* Expose KafkaConsumer in __all__ for easy imports (Dinoshauer PR 286)
* SimpleProducer starts on random partition by default (alexcb PR 288)
* Add keys to compressed messages (meandthewallaby PR 281)
* Add new high-level KafkaConsumer class based on java client api (dpkp PR 234)
* Add KeyedProducer.send_messages api (pubnub PR 277)
* Fix consumer pending() method (jettify PR 276)
* Update low-level demo in README (sunisdown PR 274)
* Include key in KeyedProducer messages (se7entyse7en PR 268)
* Fix SimpleConsumer timeout behavior in get_messages (dpkp PR 238)
* Fix error in consumer.py test against max_buffer_size (rthille/wizzat PR 225/242)
* Improve string concat performance on pypy / py3 (dpkp PR 233)
* Reorg directory layout for consumer/producer/partitioners (dpkp/wizzat PR 232/243)
* Add OffsetCommitContext (locationlabs PR 217)
* Metadata Refactor (dpkp PR 223) * Metadata Refactor (dpkp PR 223)
* Add Python 3 support (brutasse/wizzat - PR 227) * Add Python 3 support (brutasse/wizzat - PR 227)
* Minor cleanups - imports / README / PyPI classifiers (dpkp - PR 221) * Minor cleanups - imports / README / PyPI classifiers (dpkp - PR 221)

View File

@@ -1,6 +1,7 @@
# Kafka Python client # Kafka Python client
[![Build Status](https://api.travis-ci.org/mumrah/kafka-python.png?branch=master)](https://travis-ci.org/mumrah/kafka-python) [![Build Status](https://api.travis-ci.org/mumrah/kafka-python.png?branch=master)](https://travis-ci.org/mumrah/kafka-python)
[![Coverage Status](https://coveralls.io/repos/mumrah/kafka-python/badge.svg?branch=master)](https://coveralls.io/r/mumrah/kafka-python?branch=master)
[Full documentation available on ReadTheDocs](http://kafka-python.readthedocs.org/en/latest/) [Full documentation available on ReadTheDocs](http://kafka-python.readthedocs.org/en/latest/)
@@ -22,15 +23,17 @@ Copyright 2014, David Arthur under Apache License, v2.0. See `LICENSE`
# Status # Status
The current stable version of this package is [**0.9.2**](https://github.com/mumrah/kafka-python/releases/tag/v0.9.2) and is compatible with The current stable version of this package is [**0.9.3**](https://github.com/mumrah/kafka-python/releases/tag/v0.9.3) and is compatible with
Kafka broker versions Kafka broker versions
- 0.8.0 - 0.8.2.0 [offset management currently ZK only -- does not support ConsumerCoordinator offset management APIs]
- 0.8.1
- 0.8.1.1 - 0.8.1.1
- 0.8.1
- 0.8.0
Python versions Python versions
- 2.6 (tested on 2.6.9) - 2.6 (tested on 2.6.9)
- 2.7 (tested on 2.7.8) - 2.7 (tested on 2.7.9)
- pypy (tested on pypy 2.3.1 / python 2.7.6) - 3.3 (tested on 3.3.5)
- (Python 3.3 and 3.4 support has been added to trunk and will be available the next release) - 3.4 (tested on 3.4.2)
- pypy (tested on pypy 2.4.0 / python 2.7.8)

View File

@@ -1,11 +1,11 @@
#!/bin/bash #!/bin/bash
# Versions available for testing via binary distributions # Versions available for testing via binary distributions
OFFICIAL_RELEASES="0.8.0 0.8.1 0.8.1.1" OFFICIAL_RELEASES="0.8.0 0.8.1 0.8.1.1 0.8.2.0"
# Useful configuration vars, with sensible defaults # Useful configuration vars, with sensible defaults
if [ -z "$SCALA_VERSION" ]; then if [ -z "$SCALA_VERSION" ]; then
SCALA_VERSION=2.8.0 SCALA_VERSION=2.10
fi fi
# On travis CI, empty KAFKA_VERSION means skip integration tests # On travis CI, empty KAFKA_VERSION means skip integration tests
@@ -45,12 +45,18 @@ pushd servers
echo "-------------------------------------" echo "-------------------------------------"
echo "Checking kafka binaries for ${kafka}" echo "Checking kafka binaries for ${kafka}"
echo echo
wget -N https://archive.apache.org/dist/kafka/$kafka/kafka_${SCALA_VERSION}-${kafka}.tgz || wget -N https://archive.apache.org/dist/kafka/$kafka/kafka_${SCALA_VERSION}-${kafka}.tar.gz # kafka 0.8.0 is only available w/ scala 2.8.0
if [ "$kafka" == "0.8.0" ]; then
KAFKA_ARTIFACT="kafka_2.8.0-${kafka}"
else
KAFKA_ARTIFACT="kafka_${SCALA_VERSION}-${kafka}"
fi
wget -N https://archive.apache.org/dist/kafka/$kafka/${KAFKA_ARTIFACT}.tgz || wget -N https://archive.apache.org/dist/kafka/$kafka/${KAFKA_ARTIFACT}.tar.gz
echo echo
if [ ! -d "../$kafka/kafka-bin" ]; then if [ ! -d "../$kafka/kafka-bin" ]; then
echo "Extracting kafka binaries for ${kafka}" echo "Extracting kafka binaries for ${kafka}"
tar xzvf kafka_${SCALA_VERSION}-${kafka}.t* -C ../$kafka/ tar xzvf ${KAFKA_ARTIFACT}.t* -C ../$kafka/
mv ../$kafka/kafka_${SCALA_VERSION}-${kafka} ../$kafka/kafka-bin mv ../$kafka/${KAFKA_ARTIFACT} ../$kafka/kafka-bin
else else
echo "$kafka/kafka-bin directory already exists -- skipping tgz extraction" echo "$kafka/kafka-bin directory already exists -- skipping tgz extraction"
fi fi