[Twisted-Python] INCOMPATIBLE CHANGE: removing dependency on PyCrypto

Adi Roiban adi at roiban.ro
Sun Nov 1 01:27:23 MST 2015


On 1 November 2015 at 08:16, Glyph Lefkowitz <glyph at twistedmatrix.com> wrote:
> There are a few places within Conch which currently export PyCrypto objects
> as part of a public interface in Twisted.
>
> These include:
>
> twisted.conch.ssh.keys.Key.keyObject
> twisted.conch.ssh.keys.objectType
>
> I'm working on a ticket - https://twistedmatrix.com/trac/ticket/7413 - to
> eliminate the dependency on PyCrypto.  Right now, in that branch, those
> objects are Cryptography key objects instead of PyCrypto key objects.
>
> It is possible to preserve compatibility with keyObject, and we could
> deprecate and then remove objectType, with conditional dependencies on
> PyCrypto.  But before I go through the effort there, I'm wondering if any
> users of conch actually care.

I care about conch and PyCrypto, but I prefer to update my own code now.
... rather than work on Twisted to support the compatibility and later
still work on my own code to make it work once compatibility is
removed.

I care about PyCrypto in the sense that I would like to see it gone.

In the same time, I am commited to Twisted deprecation policy and I am
happy to work on having a lean PyCrypto deprecation path.

------------

I see that objectType document that it accepts an
Crypto.PublicKey.pubkey.pubkey.... the latest patch ask for
cryptography.hazmat.primitives.interfaces

I would say that we can deprecate it now without changing the current
implementation and without replacing it with something.

Disclaimer: I have no idea why someone would need that function.

-----------

I think that twisted.conch.ssh.keys.Key.keyObject should also be
deprecated without being replace with something else... as such things
should stay private.


I can work at implementing a compatibility getter / setter for
keyObject while deprecating it in the same time.

-------------

I am happy to work or review any code which tries to remove PyCrypto
dependency and work on deprecating current PyCrytpo dependency.

--------

Many thanks for working on this!

-- 
Adi Roiban



More information about the Twisted-Python mailing list