PyTables/PyTables — pull request #224 by scopatz (2013-04-11 00:33:52+00:00)
Title: PEP 8 Compliance

This implements the PEP 8 compliance that I originally suggested on the users list back in July 2012 [1]. This includes a command line tool, ``pt2to3``, for easily converting between the 2.x APIs and the 3.x APIs. I am reasonably confident that this tool is in fully working order since it was what I used to update the PyTables code base itself.

This represents a major API departure from previous versions and should only be released with v3.0. Because the API changes are so large, the old API remains intact except for rare cases [2]. Old function names are present as decorated versions of the new API. This uses the ``previous_api()`` function present in the ``_past.py`` module. This allows for the old API to issue warning when called but not do anything extra or special for the new API. Therefore the new API is slightly faster and is now used by PyTables internally.

Here is a proposed release plan for the warnings issued when calling into the old API:

- [x] 3.0 - PendingDeprecationWarning
- [ ] 3.1 - DeprecationWarning
- [ ] <=3.2 - Remove warnings, ``previous_api()``, and ``_past.py``; keep pt2to3,

I recommend that the old API be present in some form for at least 2 years.

All tests pass for me ;) Looking forward to your reviews!

1. http://sourceforge.net/mailarchive/message.php?msg_id=29584752
2. private module level variables simply had their names changed.