| Releasing |
| ========= |
| * Run the tests and ensure they all pass |
| * Update CHANGELOG.rst |
| * Update the version in ``cassandra/__init__.py`` |
| * Commit the changelog and version changes |
| * Tag the release. For example: ``git tag -a 1.0.0 -m 'version 1.0.0'`` |
| * Push the commit and tag: ``git push --tags origin master`` |
| * Upload the package to pypi:: |
| |
| python setup.py register |
| python setup.py sdist upload |
| |
| * Update the docs (see below) |
| * Append a 'post' string to the version tuple in ``cassandra/__init__.py`` |
| so that it looks like ``(x, y, z, 'post')`` |
| * Commit and push |
| |
| Building the Docs |
| ================= |
| Sphinx is required to build the docs. You probably want to install through apt, |
| if possible:: |
| |
| sudo apt-get install python-sphinx |
| |
| pip may also work:: |
| |
| sudo pip install -U Sphinx |
| |
| To build the docs, run:: |
| |
| python setup.py doc |
| |
| To upload the docs, checkout the ``gh-pages`` branch (it's usually easier to |
| clone a second copy of this repo and leave it on that branch) and copy the entire |
| contents all of ``docs/_build/X.Y.Z/*`` into the root of the ``gh-pages`` branch |
| and then push that branch to github. |
| |
| For example:: |
| |
| python setup.py doc |
| cp -R docs/_build/1.0.0-beta1/* ~/python-driver-docs/ |
| cd ~/python-driver-docs |
| git push origin gh-pages |
| |
| Running the Tests |
| ================= |
| In order for the extensions to be built and used in the test, run:: |
| |
| python setup.py nosetests |
| |
| You can run a specific test module or package like so:: |
| |
| python setup.py nosetests -w tests/unit/ |
| |
| If you want to test all of python 2.6, 2.7, and pypy, use tox (this is what |
| TravisCI runs):: |
| |
| tox |
| |
| By default, tox only runs the unit tests because I haven't put in the effort |
| to get the integration tests to run on TravicCI. However, the integration |
| tests should work locally. To run them, edit the following line in tox.ini:: |
| |
| commands = {envpython} setup.py build_ext --inplace nosetests --verbosity=2 tests/unit/ |
| |
| and change ``tests/unit/`` to ``tests/``. |