Changes between and of Initial VersionVersion 4Ticket #7945


Ignore:
Timestamp:
06/18/2015 10:12:35 PM (4 years ago)
Author:
hawkowl
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #7945

    • Property Keywords review added
    • Property Branch changed from to branches/external-cexts-7945
    • Property Author changed from to hawkowl
  • Ticket #7945 – Description

    initial v4  
    44- Removing them from Twisted
    55- Import them into Twisted from the external package
     6
     7As to why:
     8
     9Twisted has a handful of (mostly optional) C extension modules, to provide support for the IOCP reactor, some inetd stuff, sendmsg on Py2, and initgroups on Py2.6, among others. The vast majority of Twisted's users do not require these C modules, and it only makes it harder to install (requiring python-dev + a compiler). If they were bundled into another package and distributed on PyPI, then it would make the majority case simpler, but still allowing easy access to the extension modules.
     10
     11This has the following direct benefits:
     12
     13- Twisted users (Tahoe, Crossbar/Autobahn, Buildbot) no longer need to have a C compiler to install Twisted. (It will still be required for things like PyOpenSSL, but that is an optional dependency)
     14- Twisted can distribute a single wheel and a single source distribution on PyPI. The msi and exe installers and the Windows wheel will only be the C extensions, and therefore much smaller. Since these rarely change, they will not need to be changed on pypi for a long while.
     15- We can add extra C modules to this package, without having to hard-depend on CFFI in the future.