sqlalchemy / README.py3k

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

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

This document will refer to the Python 2.6 interpreter binary as
"python26" and the Python 3.xx interpreter binary as "python3".

To build the Python 3K version, use the Python 2.6 interpreter to
run the 2to3 script on the lib/ directory, and optionally the test/
directory.   The -w flag indicates that the new files should be
written.

    python26 sa2to3.py ./lib/ ./test/ -w

You now have a Python 3 version of SQLAlchemy in lib/.   

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

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

The unit test runner, described in README.unittests, is built on
Nose, and uses a plugin that is ordinarily installed using setuptools
entry points.  At the time of this writing setuptools isn't available 
for Python 3 although the "Distribute" project does seem to provide support.
Additionally, Nose itself is only available in an old version for Python 3,
which is available at http://bitbucket.org/jpellerin/nose3/ .

To run the unit tests using the old version of nose and without the usage of 
setuptools, use the "sqla_nose.py" script:

    python3 sqla_nose.py
    
When running with Python 3, lots of debug output is dumped to the console.
This is due to hacking around the old version of Nose to support the 
SQLAlchemy test plugin without setuptools (details at 
http://groups.google.com/group/nose-dev/browse_thread/thread/c6a25531baaa2531).
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.