Roadmap

Tickets which are necessary before we can truly automate Twisted releases.

Removing Python 2.7 support from Twisted.

rodrigc wrote in #9278:

"I did the following to enable more warnings when running trial using Python 3.5 under Fedora 25:

python -Wall -m twisted.trial twisted

I saw a lot of ResourceWarnings for example:

twisted.trial._dist.test.test_disttrial
  DistTrialRunnerTests
    test_createLocalWorkers ...                                            [OK]
    test_launchWorkerProcesses ...                                         [OK]
    test_minimalWorker ...                                                 [OK]
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_minimalWorker/dlun7z9m/temp/0/out.log' mode='w' encoding='UTF-8'>wisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_minimalWorker/dlun7z9m/temp/0/err.log' mode='w' encoding='UTF-8'>
    test_runUntilFailure ...                                               [OK]
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:397: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUntilFailure/bzgokndm/temp/0/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:397: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUntilFailure/bzgokndm/temp/0/err.log' mode='w' encoding='UTF-8'>
    test_runUsedDirectory ...                                              [OK]
/home/vagrant/twisted5/src/twisted/python/reflect.py:448: ResourceWarning: unclosed file <_io.FileIO name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUncleanWarnings/08r9fpn6/temp/0/test.log' mode='wb' closefd=True>
/home/vagrant/twisted5/src/twisted/python/reflect.py:448: ResourceWarning: unclosed file <_io.FileIO name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUnexpectedError/77x3rje8/temp/0/test.log' mode='wb' closefd=True>
/home/vagrant/twisted5/src/twisted/python/reflect.py:448: ResourceWarning: unclosed file <_io.FileIO name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUntilFailure/bzgokndm/temp/0/test.log' mode='wb' closefd=True>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/3/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/3/err.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/2/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/2/err.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/1/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/1/err.log' mode='w' en:
}}}"

These can cause spurious test failures on Python 3 and resource leaks on PyPy.  As they're discovered, they should be fixed.

Support PyPy as a platform.

This means getting this buildbot green - http://buildbot.twistedmatrix.com/builders/trusty64-pypy-2.4/ - and adding it to the supported list.

Make Twisted completely compatible with a reasonable Python 3.x release.

Tickets for fixing problems introduced by Python 3.x porting work should also be added to this milestone.

Note: See TracRoadmap for help on using the roadmap.