=================
PYTHON 3 SUPPORT
=================

Current Python 3k support in SQLAlchemy is provided by a customized
2to3 script which wraps Python's 2to3 tool.

Installing Distribute
---------------------

Distribute should be installed with the Python3 installation.  The
distribute bootloader is included.

Running as a user with permission to modify the Python distribution,
install Distribute:

    python3 distribute_setup.py


Installing SQLAlchemy in Python 3
---------------------------------

Once Distribute is installed, SQLAlchemy can be installed directly.
The 2to3 process will kick in which takes several minutes:

    python3 setup.py install

Converting Tests, Examples, Source to Python 3
----------------------------------------------

To convert all files in the source distribution, run 
SQLAlchemys "sa2to3.py" script, which monkeypatches a preprocessor
onto the 2to3 tool:

    python3 sa2to3.py --no-diffs -w lib test examples

The above will rewrite all files in-place in Python 3 format.

Running Tests
-------------

To run unit tests in Py3k, Nose 1.0 is required, or a development
version of Nose that supports Python 3.   The tests are run
using ./sqla_nose.py as described in README.unittests.

Current 3k Issues
-----------------

Current bugs and tickets related to Py3k are on the Py3k milestone in trac:

http://www.sqlalchemy.org/trac/query?status=new&status=assigned&status=reopened&milestone=py3k

