Bump version to 1.0.0, update changelog, setup.py, README
Hooray!
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
1.0.0 Final
|
1.0.0 Final
|
||||||
===========
|
===========
|
||||||
(In Progress)
|
Jan 29, 2014
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
---------
|
---------
|
||||||
@@ -21,6 +21,14 @@ Bug Fixes
|
|||||||
* Properly defunct connections when libev reports an error by setting
|
* Properly defunct connections when libev reports an error by setting
|
||||||
errno instead of simply logging the error
|
errno instead of simply logging the error
|
||||||
* Fix endless hanging of some requests when using the libev reactor
|
* Fix endless hanging of some requests when using the libev reactor
|
||||||
|
* Always start a reconnection process when we fail to connect to
|
||||||
|
a newly bootstrapped node
|
||||||
|
* Generators map to CQL lists, not key sequences
|
||||||
|
* Always defunct connections when an internal operation fails
|
||||||
|
* Correctly break from handle_write() if nothing was sent (asyncore
|
||||||
|
reactor only)
|
||||||
|
* Avoid potential double-erroring of callbacks when a connection
|
||||||
|
becomes defunct
|
||||||
|
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
@@ -28,6 +36,8 @@ Features
|
|||||||
* Add timeout parameter to ``Session.execute()``
|
* Add timeout parameter to ``Session.execute()``
|
||||||
* Add ``WhiteListRoundRobinPolicy`` as a load balancing policy option
|
* Add ``WhiteListRoundRobinPolicy`` as a load balancing policy option
|
||||||
* Support for consistency level ``LOCAL_ONE``
|
* Support for consistency level ``LOCAL_ONE``
|
||||||
|
* Make the backoff for fetching traces exponentially increasing and
|
||||||
|
configurable
|
||||||
|
|
||||||
Other
|
Other
|
||||||
-----
|
-----
|
||||||
@@ -38,6 +48,11 @@ Other
|
|||||||
* Benchmark improvements, including command line options and eay
|
* Benchmark improvements, including command line options and eay
|
||||||
multithreading support
|
multithreading support
|
||||||
* Reduced lock contention when using the asyncore reactor
|
* Reduced lock contention when using the asyncore reactor
|
||||||
|
* Warn when non-datetimes are used for 'timestamp' column values in
|
||||||
|
prepared statements
|
||||||
|
* Add requirements.txt and test-requirements.txt
|
||||||
|
* TravisCI integration for running unit tests against Python 2.6,
|
||||||
|
Python 2.7, and PyPy
|
||||||
|
|
||||||
1.0.0b7
|
1.0.0b7
|
||||||
=======
|
=======
|
||||||
|
|||||||
124
README.rst
124
README.rst
@@ -8,17 +8,35 @@ A Python client driver for Apache Cassandra. This driver works exclusively
|
|||||||
with the Cassandra Query Language v3 (CQL3) and Cassandra's native
|
with the Cassandra Query Language v3 (CQL3) and Cassandra's native
|
||||||
protocol. As such, only Cassandra 1.2+ is supported.
|
protocol. As such, only Cassandra 1.2+ is supported.
|
||||||
|
|
||||||
**Warning**
|
Installation
|
||||||
|
------------
|
||||||
|
Installation through pip is recommended::
|
||||||
|
|
||||||
This driver is currently under heavy development, so the API and layout of
|
$ pip install cassandra-driver
|
||||||
packages, modules, classes, and functions are subject to change. There may
|
|
||||||
also be serious bugs, so usage in a production environment is *not*
|
|
||||||
recommended at this time.
|
|
||||||
|
|
||||||
* `JIRA <https://datastax-oss.atlassian.net/browse/PYTHON>`_
|
For more complete installation instructions, see the
|
||||||
* `Mailing List <https://groups.google.com/a/lists.datastax.com/forum/#!forum/python-driver-user>`_
|
`installation guide <http://datastax.github.io/python-driver/installation.html>`_.
|
||||||
* IRC: #datastax-drivers on irc.freenode.net (you can use `freenode's web-based client <http://webchat.freenode.net/?channels=#datastax-drivers>`_)
|
|
||||||
* `Documentation <http://datastax.github.io/python-driver/index.html>`_
|
Documentation
|
||||||
|
-------------
|
||||||
|
All documentation for the python driver, including installation details, API documentation,
|
||||||
|
and a Getting Started guide, can be found `here <http://datastax.github.io/python-driver/index.html>`_.
|
||||||
|
|
||||||
|
Reporting Problems
|
||||||
|
------------------
|
||||||
|
Please report any bugs and make any feature requests on the
|
||||||
|
`JIRA <https://datastax-oss.atlassian.net/browse/PYTHON>`_ issue tracker.
|
||||||
|
|
||||||
|
If you would like to contribute, please feel free to open a pull request.
|
||||||
|
|
||||||
|
Getting Help
|
||||||
|
------------
|
||||||
|
Your two best options for getting help with the driver are the
|
||||||
|
`mailing list <https://groups.google.com/a/lists.datastax.com/forum/#!forum/python-driver-user>`_
|
||||||
|
and the IRC channel.
|
||||||
|
|
||||||
|
For IRC, use the #datastax-drivers channel on irc.freenode.net. If you don't have an IRC client,
|
||||||
|
you can use `freenode's web-based client <http://webchat.freenode.net/?channels=#datastax-drivers>`_.
|
||||||
|
|
||||||
Features to be Added
|
Features to be Added
|
||||||
--------------------
|
--------------------
|
||||||
@@ -27,94 +45,6 @@ Features to be Added
|
|||||||
* Python 3 support
|
* Python 3 support
|
||||||
* IPv6 Support
|
* IPv6 Support
|
||||||
|
|
||||||
Installation
|
|
||||||
------------
|
|
||||||
If you would like to use the optional C extensions, please follow
|
|
||||||
the instructions in the section below before installing the driver.
|
|
||||||
|
|
||||||
Installation through pip is recommended::
|
|
||||||
|
|
||||||
$ pip install cassandra-driver --pre
|
|
||||||
|
|
||||||
If you want to install manually, you can instead do::
|
|
||||||
|
|
||||||
$ pip install futures scales blist # install dependencies
|
|
||||||
$ python setup.py install
|
|
||||||
|
|
||||||
C Extensions
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
By default, two C extensions are compiled: one that adds support
|
|
||||||
for token-aware routing with the Murmur3Partitioner, and one that
|
|
||||||
allows you to use libev for the event loop, which improves performance.
|
|
||||||
|
|
||||||
When running setup.py, you can disable both with the ``--no-extensions``
|
|
||||||
option, or selectively disable one or the other with ``--no-murmur3`` and
|
|
||||||
``--no-libev``.
|
|
||||||
|
|
||||||
To compile the extenions, ensure that GCC and the Python headers are available.
|
|
||||||
|
|
||||||
On Ubuntu and Debian, this can be accomplished by running::
|
|
||||||
|
|
||||||
$ sudo apt-get install build-essential python-dev
|
|
||||||
|
|
||||||
On RedHat and RedHat-based systems like CentOS and Fedora::
|
|
||||||
|
|
||||||
$ sudo yum install gcc python-devel
|
|
||||||
|
|
||||||
On OS X, homebrew installations of Python should provide the necessary headers.
|
|
||||||
|
|
||||||
libev support
|
|
||||||
^^^^^^^^^^^^^
|
|
||||||
The driver currently uses Python's ``asyncore`` module for its default
|
|
||||||
event loop. For better performance, ``libev`` is also supported through
|
|
||||||
a C extension.
|
|
||||||
|
|
||||||
If you're on Linux, you should be able to install libev
|
|
||||||
through a package manager. For example, on Debian/Ubuntu::
|
|
||||||
|
|
||||||
$ sudo apt-get install libev4 libev-dev
|
|
||||||
|
|
||||||
On RHEL/CentOS/Fedora::
|
|
||||||
|
|
||||||
$ sudo yum install libev libev-devel
|
|
||||||
|
|
||||||
If you're on Mac OS X, you should be able to install libev
|
|
||||||
through `Homebrew <http://brew.sh/>`_. For example, on Mac OS X::
|
|
||||||
|
|
||||||
$ brew install libev
|
|
||||||
|
|
||||||
If successful, you should be able to build and install the extension
|
|
||||||
(just using ``setup.py build`` or ``setup.py install``) and then use
|
|
||||||
the libev event loop by doing the following:
|
|
||||||
|
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
>>> from cassandra.io.libevreactor import LibevConnection
|
|
||||||
>>> from cassandra.cluster import Cluster
|
|
||||||
|
|
||||||
>>> cluster = Cluster()
|
|
||||||
>>> cluster.connection_class = LibevConnection
|
|
||||||
>>> session = cluster.connect()
|
|
||||||
|
|
||||||
Compression Support
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
Compression can optionally be used for communication between the driver and
|
|
||||||
Cassandra. There are currently two supported compression algorithms:
|
|
||||||
snappy (in Cassandra 1.2+) and LZ4 (only in Cassandra 2.0+). If either is
|
|
||||||
available for the driver and Cassandra also supports it, it will
|
|
||||||
be used automatically.
|
|
||||||
|
|
||||||
For lz4 support::
|
|
||||||
|
|
||||||
$ pip install lz4
|
|
||||||
|
|
||||||
For snappy support::
|
|
||||||
|
|
||||||
$ pip install python-snappy
|
|
||||||
|
|
||||||
(If using a Debian Linux derivative such as Ubuntu, it may be easier to
|
|
||||||
just run ``apt-get install python-snappy``.)
|
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
Copyright 2013, DataStax
|
Copyright 2013, DataStax
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class NullHandler(logging.Handler):
|
|||||||
logging.getLogger('cassandra').addHandler(NullHandler())
|
logging.getLogger('cassandra').addHandler(NullHandler())
|
||||||
|
|
||||||
|
|
||||||
__version_info__ = (1, 0, '0b7', 'post')
|
__version_info__ = (1, 0, '0')
|
||||||
__version__ = '.'.join(map(str, __version_info__))
|
__version__ = '.'.join(map(str, __version_info__))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ master_doc = 'index'
|
|||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'Cassandra Driver'
|
project = u'Cassandra Driver'
|
||||||
copyright = u'2013, DataStax'
|
copyright = u'2014, DataStax'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -165,7 +165,7 @@ def run_setup(extensions):
|
|||||||
install_requires=dependencies,
|
install_requires=dependencies,
|
||||||
tests_require=['nose', 'mock', 'ccm', 'unittest2', 'PyYAML'],
|
tests_require=['nose', 'mock', 'ccm', 'unittest2', 'PyYAML'],
|
||||||
classifiers=[
|
classifiers=[
|
||||||
'Development Status :: 4 - Beta',
|
'Development Status :: 5 - Production/Stable',
|
||||||
'Intended Audience :: Developers',
|
'Intended Audience :: Developers',
|
||||||
'License :: OSI Approved :: Apache Software License',
|
'License :: OSI Approved :: Apache Software License',
|
||||||
'Natural Language :: English',
|
'Natural Language :: English',
|
||||||
|
|||||||
Reference in New Issue
Block a user