Earlier in December I was approached by Chris McDonough with a reddit pm asking if I could or would implement some kind of behavior regarding a “Python 2 only” classifier on the wall of shame. After some aggressive googling I found the original discussion in catalog-sig. The idea was to add a classifier that signified “the authors have no current intention to port this code to Python 3”. By declaring such an intent, Chris explained, a python package should be erased from the wall of shame. Not that I completely understood this intuition but still I tried to somehow apply myself to the effort of improving the WOS. So here’s what’s new:
- Packages with the “Programming Language :: Python :: 2 :: Only” trove classifier will have a lock next to their package with a mouse over explaining their intent.
- Packages that have an equivalent py3k package are now not erased from the wall but rather show a link to the equivalent package. This rightfully boosts the compatibles count by 4. Note that packages that would doubly boost the count are still erased (eg Jinja is erased because Jinja2 is in the top 200).
- Packages that are python 3 compatible but lack the trove classifier won’t stay red if brought to my attention. I’ve always stated the WOS can only be as good as pypi, not better. Hoping that in time PyPI would become more accurate, this move saddens me a bit. To keep a bit of the spirit the artificially green packages have a red triangle signifying the maintainer’s lack of trove classifiers (again with a relevant mouse over).
- The WOS is now written for python 2.7 and migrated to the HRD, woohoo!
Please do contact me if there are any more inaccuracies or mistakes. I’m reachable at ubershmekel at gmail and by comments on this blog.
Ps, we’re at 57/200, so maybe by this time next year we can have that Python 3 Wall of Superpowers party! Amen to that…
I don’t think that ordereddict is going to be ported to Python 3. 🙂
I could have sworn I’d already fixed that one. Thanks for find!
No need to port it,
Raymond Hettinger saw to it that it’s long since built into python3. (Addable to py 2.7 and prev.)
Shouldn’t be red in wos, but green. There seems no provision in wos for constructs of this sort….
To wit:
$ python3
Python 3.2.1rc1 (default, May 18 2011, 11:01:17)
[GCC 4.6.1 20110507 (prerelease)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import collections
>>> collections.OrderedDict.fromkeys(‘abcde’)
OrderedDict([(‘a’, None), (‘b’, None), (‘c’, None), (‘d’, None), (‘e’, None)])
>>>
Great construct. See also pypi for ordered dict where keys can have multiple vals.
Pymongo has a ‘semi-official’ port under the name pymongo3: http://pypi.python.org/pypi/pymongo3
I wonder if it’s worth automatically checking for name+’3′ for packages without a port (and obviously marking them as unverified). It’s a pattern I’ve seen a few times.
Seems legit and fixed. Thanks!
xlrd and xlwt are in red, but they are available for Python 3 under the names xlrd3 and xlwt3
python-dateutil is in red, but when I follow the link from the WOS, I get a page telling me it works with Python 3.
Good job and thanks for all 3 of those. The dateutil bug was actually hard – it took me 6 hours to find and 5 minutes to squash. See the diff if you’re curious http://code.google.com/p/python3wos/source/diff?spec=svn25&r=25&format=side&path=/trunk/pypi_parser.py
Nice! How does the WOS determine that a package is Python3-compatible without the trove classifier?
Sadly I have to modify the listings manually. I still hold the stance that the WOS should perfectly reflect the situation as seen on PyPI. The compromise was adding the red triangles.
pyFirebirdSQL works with Python3
https://github.com/nakagami/pyfirebirdsql
In pypi is at this url
http://pypi.python.org/pypi/firebirdsql
Also there is the new fdb driver http://pypi.python.org/pypi/fdb/
That works with Python3 (only in git for the moment http://pypi.python.org/pypi/fdb/0.7.0)
You can follow the progress on the mailing list
http://comments.gmane.org/gmane.comp.db.firebird.python/117