Monday, September 14, 2015

Twisted Devlog - September 2015

Hello everyone! This is something I'm going to try a bit more often -- writing about what's going on with Twisted, what changes are coming, what to expect, and how you can take advantage of what we're doing.

More Python 3

Twisted 15.4 has been released, and with it, the first Trial on Python 3. This means that downstream projects can now use the same testing tools for both Python 2 and Python 3. It is stable enough to be used by the Twisted project on our buildbots, but bugs may exist; if you find something that doesn't work as it should, please let us know by filing a ticket on the issue tracker.

Twisted 15.5 (coming Oct/Nov) will also contain the first release of twistd (the Twisted Daemon runner) on Python 3. The only plugin shipping with it right now is web, with most base features (file serving, running user-specified Resources). WSGI support and distributed web serving has not yet made it in, but the WSGI support is coming soon.

Twisted's porting status is now at ~50% by 'covered lines' (including tests).

More Developer Tools

Developers of Twisted should find the new tox.ini in our source tree useful. It provides a bunch of environments for tox (a testing helper that automatically builds test virtualenvs). Run "tox -l" in your Twisted checkout to see what environments are available.

Removing Python 2.6 Support

Twisted 15.4 was the last release with Python 2.6 support. Now it is not a supported platform and support code is being removed, Twisted 15.5 will no longer be importable on Pythons before 2.7 (for 2.x -- it is unimportable on Py3 versions before 3.3 as well).

Supported Platforms

This year, a handful of new platforms have been added to the fold -- FreeBSD 10.1 (Python 2.7/3.4), RHEL7 (Python 2.7), OS X 10.10 (Python 2.7), Fedora 21/22 (Python 2.7/3.4), Ubuntu 15.04 (Python 2.7/3.4), and Debian 8 (Python 2.7/3.4).

The older platforms which have been removed are RHEL6 (only has 2.6), Debian 6 (only has 2.6), Fedora 17/18/19 (EOL OS), and OS X 10.6 (only has 2.6, EOL OS).

Python 3.5 has now been released, and we will aim to make that a supported platform as soon as it is available in a released OS or official Ubuntu PPA.

Packaging Modernisation

More work is being done on bringing Twisted's packaging into the 21.1st Century.

In Twisted 15.3, we stopped supporting Twisted being packaged as 'subprojects'. There is now only one Twisted package. This has simplified our build tools considerably and made it less confusing when installing Twisted, just giving the one option with the whole distribution, rather than several with fuzzily-defined boundaries and unclear requirements.

Twisted 15.1 was the first release which uses the Setuptools extra_requires feature, where extra dependencies can be installed using pip automatically. For example, to install Twisted and the dependencies required for TLS support, you can use "pip install twisted[tls]". A full list of the optional dependencies that can be installed in this manner can be found in our docs.

It's long been the case that Twisted needs a C compiler to be installed, but that may not be the case for much longer. There is a ticket which is working on moving Twisted's optional C Extensions to another package, _twistedextensions. The base Twisted package will then be installable without a C compiler, and users that require the C extensions provided in _twistedextensions will be able to get it on PyPI.

Since the base Twisted release will be pure-Python, we will now be able to start shipping wheels for both Python 2 (full release) and Python 3 (limited release, containing only the Py3 ported modules).

Additionally, .msi and .exe installers will no longer be released for Windows, making .whls the the only binary installation method for Twisted's C extensions. A CExt .whl will additionally be shipped for Python 2.7 on OS X 10.10 (64bit). No C Extension package will be shipped for Python 3 on any platform, until it contains Python 3 compatible C Extensions.

Call for Sponsors & Volunteers

Twisted's lifeblood is volunteers, either personal or corporate. More people power means that we can get more done, more eyes reviewing code, more ideas and solutions that might solve our unique problems.

Glyph has written more about fundraising for Twisted, and why you should do so here. If you would like to support financially directly, you can donate to Twisted through the Twisted Software Foundation/Software Freedom Conservancy, a 501(c)3 non-profit.

If you would like to volunteer your time to the project, please see our contributors documentation.

Until next time,

Amber Brown (HawkOwl)
Twisted Release Manager

4 comments:

Unknown said...

> This is something I'm going to try a bit more often

Please do: for those who don't follow IRC or the commit logs regularly (even this one can be hard to follow), these are very interesting bits, thanks for writing this up (and looking forward for the next one!)

Milagros091tep Dotson56xuj said...

OH! I love your blog .Thank you for your share.By the way,i want to share a ms data recovery to you!

sayhi said...

Thank you for sharing this helpful post! Do you need fake ray ban sunglasses? Go to have a look and you may find a desirable one.

KB said...

This is a smart blog. I mean it. You have so much knowledge about this issue, and so much passion. You also know how to make people rally behind it, obviously from the responses.
Data Entry Companies in India