wheel support for twitter.common.python

Review Request #94 — Created March 11, 2014 and submitted

wickman
commons
pants-reviews
patricklaw, travis
Final change.

Adds WheelPackage, WheelTranslator and updates the resolvers to use the wheel format instead.  This just means it builds wheels when it needs to build from source, but if eggs are available, it will use those.


PA
  1. 
      
  2. Is this just to ban position args?
  3. 
      
PA
  1. Ship It!
  2. 
      
WI
WI
  1. much of this diff is code drift from master -- the real diff is:
    
    
    mba=twitter-commons=; git diff master --stat
     src/python/twitter/common/python/BUILD                 |  2 +-
     src/python/twitter/common/python/bin/BUILD             |  1 +
     src/python/twitter/common/python/bin/pex.py            | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
     src/python/twitter/common/python/environment.py        |  5 +++--
     src/python/twitter/common/python/finders.py            | 13 +++++++++++++
     src/python/twitter/common/python/obtainer.py           |  9 ++++++++-
     src/python/twitter/common/python/package.py            | 42 ++++++++++++++++++++++++++++++++++++++++++
     src/python/twitter/common/python/pex_builder.py        | 10 +++++-----
     src/python/twitter/common/python/resolver.py           |  3 ++-
     src/python/twitter/common/python/translator.py         | 13 ++++++++++---
     tests/python/twitter/common/python/BUILD               |  2 +-
     tests/python/twitter/common/python/http/BUILD          |  3 +++
     tests/python/twitter/common/python/http/test_http.py   | 12 ++++++------
     tests/python/twitter/common/python/test_finders.py     |  6 +++++-
     tests/python/twitter/common/python/test_interpreter.py |  3 +++
     tests/python/twitter/common/python/test_obtainer.py    | 22 ++++++++++++++--------
     tests/python/twitter/common/python/test_package.py     |  5 ++++-
     tests/python/twitter/common/python/test_util.py        | 19 +++++++++++++++----
     18 files changed, 200 insertions(+), 45 deletions(-)
    
  2. src/python/twitter/common/python/obtainer.py (Diff revisions 1 - 2)
     
     
    these changes are drift -- this code is already on master.
  3. 
      
WI
PA
  1. 
      
  2. Any reason not to freeze this to a specific version?
    1. no great reasons -- this was put in initially as a hack but then stuck.
      
      i'm considering splitting the pex tool and twitter.common.python apart -- the pex tool should probably get at a minimum 'wheel' and 'requests' but twitter.common.python doesn't need them nor should it require them.  'pip install pex' currently aliases pex -> twitter.common.python but we could change that easily.
  3. 
      
PA
  1. Ship It!
  2. 
      
WI
Review request changed

Status: Closed (submitted)

Loading...