| 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/ |