Hacker News new | ask | show | jobs
by neokya 3499 days ago
Well, have a look here http://py3readiness.org without having to figure where 9 of those come from ;)
1 comments

Some research on most of the projects which don't:

supervisor: Application supervisor, not a widely used library - it's probably in the top 360 since people install it using pip instead of the distro's package manager

carbon, graphite-web and diamond: Components of the time series DB Graphite, see supervisor

Thrift: Apparently there's a Python 3 pull request? [1]

ansible: Difficult story since they have to support old systems which only support Python 2, so no point in migrating to Python 2 until those are no longer in use (that includes Python 2.4!).

This is a really unique use case for Python so it's hard to compare it to the rest. The part of Ansible which runs on the controller has been ported already [2].

google-apputils: There are Debian packages for Python 3, so probably missing the PyPi metadata [3]. Appears to be unmaintained.

aspen: Niche web framework. They seem to be working on Python 3 support [4].

newrelic_plugin_agent: see supervisord

python-cjson: Unmaintained drop-in JSON library that can be replaced with something else with no effort [5].

python-openid: There's a Python 3 fork which looks nicer than the original [6].

m2crypto: Porting effort underway, but mostly an issue for existing cde - there's no reason to use it for new projects since python-cryptography is better in all regards

python-ldap: Issue for many enterprise Django projects (this is the one library in the list that I personally use), but there's a Python 3 fork so it's fine [7].

INITools: Abandoned, it used to be pip dependency so that's probably why it's in this list (?).

marionette: see supervisord

pathtools: moved to stdlib in Python 3.

So, nothing major left in the top 360.

All of the huge blockers like Twisted and Paramiko are now green and I migrated all my stuff over.

The Fedora porting project has some great insight into how it's going in the real world:

https://portingdb-encukou.rhcloud.com/

OpenStack is interesting, too: https://wiki.openstack.org/wiki/Python3

In general, no major libraries left, but lots of grunt work that needs to be done.

Some stuff not on the list, that I encountered:

python-dajax: Turns out it's a bad idea to put frontend logic in your backend code, but that doesn't make the dependency go away (great opportunity to finally undo that mistake in my code)

wxPython: They decided to do a full rewrite instead of a port so it takes some time. Qt, I guess?

[1]: https://github.com/apache/thrift/pull/213

[2]: https://docs.ansible.com/ansible/dev_guide/developing_module...

[3]: https://packages.debian.org/sid/python/python3-google-apputi...

[4]: https://github.com/whit537/mongs/issues/17

[5]: http://artem.krylysov.com/blog/2015/09/29/benchmark-python-j...

[6]: https://github.com/necaris/python3-openid

[7]: https://github.com/pyldap/pyldap/