You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@senssoft.apache.org by ar...@apache.org on 2016/12/16 17:11:08 UTC

[50/58] [abbrv] [partial] incubator-senssoft-tap git commit: Fixed .gitignore file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA
deleted file mode 100644
index 0839366..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA
+++ /dev/null
@@ -1,35 +0,0 @@
-Metadata-Version: 2.0
-Name: PyYAML
-Version: 3.12
-Summary: YAML parser and emitter for Python
-Home-page: http://pyyaml.org/wiki/PyYAML
-Author: Kirill Simonov
-Author-email: xi@resolvent.net
-License: MIT
-Download-URL: http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz
-Platform: Any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Classifier: Topic :: Text Processing :: Markup
-
-YAML is a data serialization format designed for human readability
-and interaction with scripting languages.  PyYAML is a YAML parser
-and emitter for Python.
-
-PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
-support, capable extension API, and sensible error messages.  PyYAML
-supports standard YAML tags and provides Python-specific tags that
-allow to represent an arbitrary Python object.
-
-PyYAML is applicable for a broad range of tasks from complex
-configuration files to object serialization and persistance.
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD
deleted file mode 100644
index d0c14a2..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD
+++ /dev/null
@@ -1,41 +0,0 @@
-PyYAML-3.12.dist-info/DESCRIPTION.rst,sha256=4nzkrOwMTYfusIfdRz4-dl_9Blan5axHPKMiVJEOV-4,534
-PyYAML-3.12.dist-info/METADATA,sha256=pLhIwT2X7saN_aEwYCwTMYl0U9KDA4jYEyL140QAOJg,1424
-PyYAML-3.12.dist-info/RECORD,,
-PyYAML-3.12.dist-info/WHEEL,sha256=c72nWt1i7I3ForbdXG35p-8sTv3cN_E1sA3uLvkN51M,110
-PyYAML-3.12.dist-info/metadata.json,sha256=ACNazIcYAAYWEcmweRN5f76IWRewL5YSVmjkqEx4gFo,1013
-PyYAML-3.12.dist-info/top_level.txt,sha256=mBo8NF3j3lG5BeAeV7Eg19Y0FKQnxcXuw9SUEemIwB4,11
-yaml/__init__.py,sha256=qfSzlV4ZwTZZBGZQg7CfDRj4cfVXlk4B7cltM61_ZyU,9776
-yaml/composer.py,sha256=pOjZ5afqNfH22WXyS6xlQCB2PbSrFPjK-qFPOEI76fw,4921
-yaml/constructor.py,sha256=S_Pux76-hgmgtJeJVtSvQ9ynmtEIR2jAx2ljAochKU0,25145
-yaml/cyaml.py,sha256=xK_IxkrRcetZeNwB_wzDAHYCWsumOFfsTlk3CeoM5kQ,3290
-yaml/dumper.py,sha256=ONPYNHirnLm-qCm-h9swnMWzZhncilexboIPRoNdcq4,2719
-yaml/emitter.py,sha256=Xya7zhTX3ykxMAdAgDIedejmLb1Q71W2G4yt4nTSMIM,43298
-yaml/error.py,sha256=7K-NdIv0qNKPKbnXxEg0L_b9K7nYDORr3rzm8_b-iBY,2559
-yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445
-yaml/loader.py,sha256=t_WLbw1-iWQ4KT_FUppJu30cFIU-l8NCb7bjoXJoV6A,1132
-yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440
-yaml/parser.py,sha256=sgXahZA3DkySYnaC4D_zcl3l2y4Y5R40icWtdwkF_NE,25542
-yaml/reader.py,sha256=hKuxSbid1rSlfKBsshf5qaPwVduaCJA5t5S9Jum6CAA,6746
-yaml/representer.py,sha256=x3F9vDF4iiPit8sR8tgR-kjtotWTzH_Zv9moq0fMtlY,17711
-yaml/resolver.py,sha256=5Z3boiMikL6Qt6fS5Mt8fHym0GxbW7CMT2f2fnD1ZPQ,9122
-yaml/scanner.py,sha256=ft5i4fP9m0MrpKY9N8Xa24H1LqKhwGQXLG1Hd9gCSsk,52446
-yaml/serializer.py,sha256=tRsRwfu5E9fpLU7LY3vBQf2prt77hwnYlMt5dnBJLig,4171
-yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573
-PyYAML-3.12.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-yaml/loader.pyc,,
-yaml/__init__.pyc,,
-yaml/reader.pyc,,
-yaml/cyaml.pyc,,
-yaml/resolver.pyc,,
-yaml/constructor.pyc,,
-yaml/scanner.pyc,,
-yaml/dumper.pyc,,
-yaml/serializer.pyc,,
-yaml/nodes.pyc,,
-yaml/events.pyc,,
-yaml/representer.pyc,,
-yaml/error.pyc,,
-yaml/tokens.pyc,,
-yaml/parser.pyc,,
-yaml/composer.pyc,,
-yaml/emitter.pyc,,

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL
deleted file mode 100644
index 0d9cf7a..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL
+++ /dev/null
@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.29.0)
-Root-Is-Purelib: false
-Tag: cp27-cp27m-macosx_10_11_intel
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json
deleted file mode 100644
index 73f25a1..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Markup"], "download_url": "http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz", "extensions": {"python.details": {"contacts": [{"email": "xi@resolvent.net", "name": "Kirill Simonov", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://pyyaml.org/wiki/PyYAML"}}}, "generator": "bdist_wheel (0.29.0)", "license": "MIT", "metadata_version": "2.0", "name": "PyYAML", "platform": "Any", "summary": "YAML parser and emitter for Python", "v
 ersion": "3.12"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt
deleted file mode 100644
index 7a159e7..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-yaml
-_yaml

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst
deleted file mode 100644
index b8800d6..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-The ssl.match_hostname() function from Python 3.5
-=================================================
-
-The Secure Sockets Layer is only actually *secure*
-if you check the hostname in the certificate returned
-by the server to which you are connecting,
-and verify that it matches to hostname
-that you are trying to reach.
-
-But the matching logic, defined in `RFC2818`_,
-can be a bit tricky to implement on your own.
-So the ``ssl`` package in the Standard Library of Python 3.2
-and greater now includes a ``match_hostname()`` function
-for performing this check instead of requiring every application
-to implement the check separately.
-
-This backport brings ``match_hostname()`` to users
-of earlier versions of Python.
-Simply make this distribution a dependency of your package,
-and then use it like this::
-
-    from backports.ssl_match_hostname import match_hostname, CertificateError
-    [...]
-    sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv23,
-                              cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
-    try:
-        match_hostname(sslsock.getpeercert(), hostname)
-    except CertificateError, ce:
-        ...
-
-Brandon Craig Rhodes is merely the packager of this distribution;
-the actual code inside comes from Python 3.5 with small changes for
-portability.
-
-
-Requirements
-------------
-
-* If you want to verify hosts match with certificates via ServerAltname
-  IPAddress fields, you need to install the `ipaddress module`_.
-  backports.ssl_match_hostname will continue to work without ipaddress but
-  will only be able to handle ServerAltName DNSName fields, not IPAddress.
-  System packagers (Linux distributions, et al) are encouraged to add
-  this as a hard dependency in their packages.
-
-* If you need to use this on Python versions earlier than 2.6 you will need to
-  install the `ssl module`_.  From Python 2.6 upwards ``ssl`` is included in
-  the Python Standard Library so you do not need to install it separately.
-
-.. _`ipaddress module`:: https://pypi.python.org/pypi/ipaddress
-.. _`ssl module`:: https://pypi.python.org/pypi/ssl
-
-History
--------
-
-* This function was introduced in python-3.2
-* It was updated for python-3.4a1 for a CVE 
-  (backports-ssl_match_hostname-3.4.0.1)
-* It was updated from RFC2818 to RFC 6125 compliance in order to fix another
-  security flaw for python-3.3.3 and python-3.4a5
-  (backports-ssl_match_hostname-3.4.0.2)
-* It was updated in python-3.5 to handle IPAddresses in ServerAltName fields
-  (something that backports.ssl_match_hostname will do if you also install the
-  ipaddress library from pypi).
-
-
-.. _RFC2818: http://tools.ietf.org/html/rfc2818.html
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER
deleted file mode 100644
index a1b589e..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER
+++ /dev/null
@@ -1 +0,0 @@
-pip

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA
deleted file mode 100644
index 550988e..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA
+++ /dev/null
@@ -1,90 +0,0 @@
-Metadata-Version: 2.0
-Name: backports.ssl-match-hostname
-Version: 3.5.0.1
-Summary: The ssl.match_hostname() function from Python 3.5
-Home-page: http://bitbucket.org/brandon/backports.ssl_match_hostname
-Author: Toshio Kuratomi
-Author-email: toshio@fedoraproject.org
-License: Python Software Foundation License
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: License :: OSI Approved :: Python Software Foundation License
-Classifier: Programming Language :: Python :: 2.4
-Classifier: Programming Language :: Python :: 2.5
-Classifier: Programming Language :: Python :: 2.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.0
-Classifier: Programming Language :: Python :: 3.1
-Classifier: Topic :: Security :: Cryptography
-
-The ssl.match_hostname() function from Python 3.5
-=================================================
-
-The Secure Sockets Layer is only actually *secure*
-if you check the hostname in the certificate returned
-by the server to which you are connecting,
-and verify that it matches to hostname
-that you are trying to reach.
-
-But the matching logic, defined in `RFC2818`_,
-can be a bit tricky to implement on your own.
-So the ``ssl`` package in the Standard Library of Python 3.2
-and greater now includes a ``match_hostname()`` function
-for performing this check instead of requiring every application
-to implement the check separately.
-
-This backport brings ``match_hostname()`` to users
-of earlier versions of Python.
-Simply make this distribution a dependency of your package,
-and then use it like this::
-
-    from backports.ssl_match_hostname import match_hostname, CertificateError
-    [...]
-    sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv23,
-                              cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
-    try:
-        match_hostname(sslsock.getpeercert(), hostname)
-    except CertificateError, ce:
-        ...
-
-Brandon Craig Rhodes is merely the packager of this distribution;
-the actual code inside comes from Python 3.5 with small changes for
-portability.
-
-
-Requirements
-------------
-
-* If you want to verify hosts match with certificates via ServerAltname
-  IPAddress fields, you need to install the `ipaddress module`_.
-  backports.ssl_match_hostname will continue to work without ipaddress but
-  will only be able to handle ServerAltName DNSName fields, not IPAddress.
-  System packagers (Linux distributions, et al) are encouraged to add
-  this as a hard dependency in their packages.
-
-* If you need to use this on Python versions earlier than 2.6 you will need to
-  install the `ssl module`_.  From Python 2.6 upwards ``ssl`` is included in
-  the Python Standard Library so you do not need to install it separately.
-
-.. _`ipaddress module`:: https://pypi.python.org/pypi/ipaddress
-.. _`ssl module`:: https://pypi.python.org/pypi/ssl
-
-History
--------
-
-* This function was introduced in python-3.2
-* It was updated for python-3.4a1 for a CVE 
-  (backports-ssl_match_hostname-3.4.0.1)
-* It was updated from RFC2818 to RFC 6125 compliance in order to fix another
-  security flaw for python-3.3.3 and python-3.4a5
-  (backports-ssl_match_hostname-3.4.0.2)
-* It was updated in python-3.5 to handle IPAddresses in ServerAltName fields
-  (something that backports.ssl_match_hostname will do if you also install the
-  ipaddress library from pypi).
-
-
-.. _RFC2818: http://tools.ietf.org/html/rfc2818.html
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD
deleted file mode 100644
index 0b501a8..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD
+++ /dev/null
@@ -1,11 +0,0 @@
-backports/__init__.py,sha256=1Mf6P1hIdW75vC992JfI0YyknVYpv1dH3_DZzUShnS0,155
-backports/ssl_match_hostname/__init__.py,sha256=hjwZEix1F_V1qLqTRRxypradJ9tKqTvrjW3FOOvNfXc,5574
-backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst,sha256=0zIPlb6puJyjxvzmHnKDMmgMASFn8UknYAeEOX02Hb4,2635
-backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA,sha256=qTHOOSgi0oj9E_kwdUFJzj9zJ77v-SCDv0i7k39tiSM,3487
-backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD,,
-backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL,sha256=BtVfdXUcEYLcFjOkbIrCFRyXU4qszVPt-E9o3RWkSNw,93
-backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json,sha256=u8N-bnr7EwOGQ2JEy5ytSx7vWWH3aNiu3PhTdanaK4U,965
-backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt,sha256=cGjaLMOoBR1FK0ApojtzWVmViTtJ7JGIK_HwXiEsvtU,10
-backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-backports/__init__.pyc,,
-backports/ssl_match_hostname/__init__.pyc,,

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL
deleted file mode 100644
index 5a93381..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL
+++ /dev/null
@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.29.0)
-Root-Is-Purelib: true
-Tag: cp27-none-any
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json
deleted file mode 100644
index 1511aca..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"classifiers": ["Development Status :: 5 - Production/Stable", "License :: OSI Approved :: Python Software Foundation License", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Topic :: Security :: Cryptography"], "extensions": {"python.details": {"contacts": [{"email": "toshio@fedoraproject.org", "name": "Toshio Kuratomi", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://bitbucket.org/brandon/backports.ssl_match_hostname"}}}, "generator": "bdist_wheel (0.29.0)", "license": "Python Software Foundation License", "metadata_version": "2.0", "name": "backports.ssl-match-hostname", "summary": "The ssl.match_hostname() function from Python 3.5", "version": "3.5.0.1"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt
deleted file mode 100644
index 99d2be5..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-backports

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports/__init__.py b/env2/lib/python2.7/site-packages/backports/__init__.py
deleted file mode 100644
index 612d328..0000000
--- a/env2/lib/python2.7/site-packages/backports/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# This is a Python "namespace package" http://www.python.org/dev/peps/pep-0382/
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py b/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py
deleted file mode 100644
index 06538ec..0000000
--- a/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py
+++ /dev/null
@@ -1,154 +0,0 @@
-"""The match_hostname() function from Python 3.3.3, essential when using SSL."""
-
-import re
-import sys
-
-# ipaddress has been backported to 2.6+ in pypi.  If it is installed on the
-# system, use it to handle IPAddress ServerAltnames (this was added in
-# python-3.5) otherwise only do DNS matching.  This allows
-# backports.ssl_match_hostname to continue to be used all the way back to
-# python-2.4.
-try:
-    import ipaddress
-except ImportError:
-    ipaddress = None
-
-__version__ = '3.5.0.1'
-
-
-class CertificateError(ValueError):
-    pass
-
-
-def _dnsname_match(dn, hostname, max_wildcards=1):
-    """Matching according to RFC 6125, section 6.4.3
-
-    http://tools.ietf.org/html/rfc6125#section-6.4.3
-    """
-    pats = []
-    if not dn:
-        return False
-
-    # Ported from python3-syntax:
-    # leftmost, *remainder = dn.split(r'.')
-    parts = dn.split(r'.')
-    leftmost = parts[0]
-    remainder = parts[1:]
-
-    wildcards = leftmost.count('*')
-    if wildcards > max_wildcards:
-        # Issue #17980: avoid denials of service by refusing more
-        # than one wildcard per fragment.  A survey of established
-        # policy among SSL implementations showed it to be a
-        # reasonable choice.
-        raise CertificateError(
-            "too many wildcards in certificate DNS name: " + repr(dn))
-
-    # speed up common case w/o wildcards
-    if not wildcards:
-        return dn.lower() == hostname.lower()
-
-    # RFC 6125, section 6.4.3, subitem 1.
-    # The client SHOULD NOT attempt to match a presented identifier in which
-    # the wildcard character comprises a label other than the left-most label.
-    if leftmost == '*':
-        # When '*' is a fragment by itself, it matches a non-empty dotless
-        # fragment.
-        pats.append('[^.]+')
-    elif leftmost.startswith('xn--') or hostname.startswith('xn--'):
-        # RFC 6125, section 6.4.3, subitem 3.
-        # The client SHOULD NOT attempt to match a presented identifier
-        # where the wildcard character is embedded within an A-label or
-        # U-label of an internationalized domain name.
-        pats.append(re.escape(leftmost))
-    else:
-        # Otherwise, '*' matches any dotless string, e.g. www*
-        pats.append(re.escape(leftmost).replace(r'\*', '[^.]*'))
-
-    # add the remaining fragments, ignore any wildcards
-    for frag in remainder:
-        pats.append(re.escape(frag))
-
-    pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE)
-    return pat.match(hostname)
-
-
-def _to_unicode(obj):
-    if isinstance(obj, str) and sys.version_info < (3,):
-        obj = unicode(obj, encoding='ascii', errors='strict')
-    return obj
-
-def _ipaddress_match(ipname, host_ip):
-    """Exact matching of IP addresses.
-
-    RFC 6125 explicitly doesn't define an algorithm for this
-    (section 1.7.2 - "Out of Scope").
-    """
-    # OpenSSL may add a trailing newline to a subjectAltName's IP address
-    # Divergence from upstream: ipaddress can't handle byte str
-    ip = ipaddress.ip_address(_to_unicode(ipname).rstrip())
-    return ip == host_ip
-
-
-def match_hostname(cert, hostname):
-    """Verify that *cert* (in decoded format as returned by
-    SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 and RFC 6125
-    rules are followed, but IP addresses are not accepted for *hostname*.
-
-    CertificateError is raised on failure. On success, the function
-    returns nothing.
-    """
-    if not cert:
-        raise ValueError("empty or no certificate, match_hostname needs a "
-                         "SSL socket or SSL context with either "
-                         "CERT_OPTIONAL or CERT_REQUIRED")
-    try:
-        # Divergence from upstream: ipaddress can't handle byte str
-        host_ip = ipaddress.ip_address(_to_unicode(hostname))
-    except ValueError:
-        # Not an IP address (common case)
-        host_ip = None
-    except UnicodeError:
-        # Divergence from upstream: Have to deal with ipaddress not taking
-        # byte strings.  addresses should be all ascii, so we consider it not
-        # an ipaddress in this case
-        host_ip = None
-    except AttributeError:
-        # Divergence from upstream: Make ipaddress library optional
-        if ipaddress is None:
-            host_ip = None
-        else:
-            raise
-    dnsnames = []
-    san = cert.get('subjectAltName', ())
-    for key, value in san:
-        if key == 'DNS':
-            if host_ip is None and _dnsname_match(value, hostname):
-                return
-            dnsnames.append(value)
-        elif key == 'IP Address':
-            if host_ip is not None and _ipaddress_match(value, host_ip):
-                return
-            dnsnames.append(value)
-    if not dnsnames:
-        # The subject is only checked when there is no dNSName entry
-        # in subjectAltName
-        for sub in cert.get('subject', ()):
-            for key, value in sub:
-                # XXX according to RFC 2818, the most specific Common Name
-                # must be used.
-                if key == 'commonName':
-                    if _dnsname_match(value, hostname):
-                        return
-                    dnsnames.append(value)
-    if len(dnsnames) > 1:
-        raise CertificateError("hostname %r "
-            "doesn't match either of %s"
-            % (hostname, ', '.join(map(repr, dnsnames))))
-    elif len(dnsnames) == 1:
-        raise CertificateError("hostname %r "
-            "doesn't match %r"
-            % (hostname, dnsnames[0]))
-    else:
-        raise CertificateError("no appropriate commonName or "
-            "subjectAltName fields were found")

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst
deleted file mode 100644
index 0387194..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst
+++ /dev/null
@@ -1,264 +0,0 @@
-===============================
-cached-property
-===============================
-
-.. image:: https://img.shields.io/pypi/v/cached-property.svg
-    :target: https://pypi.python.org/pypi/cached-property
-
-.. image:: https://img.shields.io/travis/pydanny/cached-property/master.svg
-        :target: https://travis-ci.org/pydanny/cached-property
-
-
-A decorator for caching properties in classes.
-
-Why?
------
-
-* Makes caching of time or computational expensive properties quick and easy.
-* Because I got tired of copy/pasting this code from non-web project to non-web project.
-* I needed something really simple that worked in Python 2 and 3.
-
-How to use it
---------------
-
-Let's define a class with an expensive property. Every time you stay there the
-price goes up by $50!
-
-.. code-block:: python
-
-    class Monopoly(object):
-
-        def __init__(self):
-            self.boardwalk_price = 500
-
-        @property
-        def boardwalk(self):
-            # In reality, this might represent a database call or time
-            # intensive task like calling a third-party API.
-            self.boardwalk_price += 50
-            return self.boardwalk_price
-
-Now run it:
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    600
-
-Let's convert the boardwalk property into a ``cached_property``.
-
-.. code-block:: python
-
-    from cached_property import cached_property
-
-    class Monopoly(object):
-
-        def __init__(self):
-            self.boardwalk_price = 500
-
-        @cached_property
-        def boardwalk(self):
-            # Again, this is a silly example. Don't worry about it, this is
-            #   just an example for clarity.
-            self.boardwalk_price += 50
-            return self.boardwalk_price
-
-Now when we run it the price stays at $550.
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    550
-
-Why doesn't the value of ``monopoly.boardwalk`` change? Because it's a **cached property**!
-
-Invalidating the Cache
-----------------------
-
-Results of cached functions can be invalidated by outside forces. Let's demonstrate how to force the cache to invalidate:
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    550
-    >>> # invalidate the cache
-    >>> del monopoly.__dict__['boardwalk']
-    >>> # request the boardwalk property again
-    >>> monopoly.boardwalk
-    600
-    >>> monopoly.boardwalk
-    600
-
-Working with Threads
----------------------
-
-What if a whole bunch of people want to stay at Boardwalk all at once? This means using threads, which
-unfortunately causes problems with the standard ``cached_property``. In this case, switch to using the
-``threaded_cached_property``:
-
-.. code-block:: python
-
-    from cached_property import threaded_cached_property
-
-    class Monopoly(object):
-
-        def __init__(self):
-            self.boardwalk_price = 500
-
-        @threaded_cached_property
-        def boardwalk(self):
-            """threaded_cached_property is really nice for when no one waits
-                for other people to finish their turn and rudely start rolling
-                dice and moving their pieces."""
-
-            sleep(1)
-            self.boardwalk_price += 50
-            return self.boardwalk_price
-
-Now use it:
-
-.. code-block:: python
-
-    >>> from threading import Thread
-    >>> from monopoly import Monopoly
-    >>> monopoly = Monopoly()
-    >>> threads = []
-    >>> for x in range(10):
-    >>>     thread = Thread(target=lambda: monopoly.boardwalk)
-    >>>     thread.start()
-    >>>     threads.append(thread)
-
-    >>> for thread in threads:
-    >>>     thread.join()
-
-    >>> self.assertEqual(m.boardwalk, 550)
-
-
-Timing out the cache
---------------------
-
-Sometimes you want the price of things to reset after a time. Use the ``ttl``
-versions of ``cached_property`` and ``threaded_cached_property``.
-
-.. code-block:: python
-
-    import random
-    from cached_property import cached_property_with_ttl
-
-    class Monopoly(object):
-
-        @cached_property_with_ttl(ttl=5) # cache invalidates after 5 seconds
-        def dice(self):
-            # I dare the reader to implement a game using this method of 'rolling dice'.
-            return random.randint(2,12)
-
-Now use it:
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.dice
-    10
-    >>> monopoly.dice
-    10
-    >>> from time import sleep
-    >>> sleep(6) # Sleeps long enough to expire the cache
-    >>> monopoly.dice
-    3
-    >>> monopoly.dice
-    3
-
-**Note:** The ``ttl`` tools do not reliably allow the clearing of the cache. This
-is why they are broken out into seperate tools. See https://github.com/pydanny/cached-property/issues/16.
-
-Credits
---------
-
-* Pip, Django, Werkzueg, Bottle, Pyramid, and Zope for having their own implementations. This package uses an implementation that matches the Bottle version.
-* Reinout Van Rees for pointing out the `cached_property` decorator to me.
-* My awesome wife `@audreyr`_ who created `cookiecutter`_, which meant rolling this out took me just 15 minutes.
-* @tinche for pointing out the threading issue and providing a solution.
-* @bcho for providing the time-to-expire feature
-
-.. _`@audreyr`: https://github.com/audreyr
-.. _`cookiecutter`: https://github.com/audreyr/cookiecutter
-
-
-
-
-History
--------
-
-1.3.0 (2015-11-24)
-++++++++++++++++++
-
-* Added official support for Python 3.5, thanks to @pydanny and @audreyr
-* Removed confusingly placed lock from example, thanks to @ionelmc
-* Corrected invalidation cache documentation, thanks to @proofit404
-* Updated to latest Travis-CI environment, thanks to @audreyr
-
-1.2.0 (2015-04-28)
-++++++++++++++++++
-
-* Overall code and test refactoring, thanks to @gsakkis
-* Allow the del statement for resetting cached properties with ttl instead of del obj._cache[attr], thanks to @gsakkis.
-* Uncovered a bug in PyPy, https://bitbucket.org/pypy/pypy/issue/2033/attributeerror-object-attribute-is-read, thanks to @gsakkis
-* Fixed threaded_cached_property_with_ttl to actually be thread-safe, thanks to @gsakkis
-
-1.1.0 (2015-04-04)
-++++++++++++++++++
-
-* Regression: As the cache was not always clearing, we've broken out the time to expire feature to its own set of specific tools, thanks to @pydanny
-* Fixed typo in README, thanks to @zoidbergwill
-
-1.0.0 (2015-02-13)
-++++++++++++++++++
-
-* Added timed to expire feature to ``cached_property`` decorator.
-* **Backwards incompatiblity**: Changed ``del monopoly.boardwalk`` to ``del monopoly['boardwalk']`` in order to support the new TTL feature.
-
-0.1.5 (2014-05-20)
-++++++++++++++++++
-
-* Added threading support with new ``threaded_cached_property`` decorator
-* Documented cache invalidation
-* Updated credits
-* Sourced the bottle implementation
-
-0.1.4 (2014-05-17)
-++++++++++++++++++
-
-* Fix the dang-blarged py_modules argument.
-
-0.1.3 (2014-05-17)
-++++++++++++++++++
-
-* Removed import of package into ``setup.py``
-
-0.1.2 (2014-05-17)
-++++++++++++++++++
-
-* Documentation fixes. Not opening up a RTFD instance for this because it's so simple to use.
-
-0.1.1 (2014-05-17)
-++++++++++++++++++
-
-* setup.py fix. Whoops!
-
-0.1.0 (2014-05-17)
-++++++++++++++++++
-
-* First release on PyPI.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER
deleted file mode 100644
index a1b589e..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER
+++ /dev/null
@@ -1 +0,0 @@
-pip

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA
deleted file mode 100644
index e5764e7..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA
+++ /dev/null
@@ -1,286 +0,0 @@
-Metadata-Version: 2.0
-Name: cached-property
-Version: 1.3.0
-Summary: A decorator for caching properties in classes.
-Home-page: https://github.com/pydanny/cached-property
-Author: Daniel Greenfeld
-Author-email: pydanny@gmail.com
-License: BSD
-Keywords: cached-property
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Natural Language :: English
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-
-===============================
-cached-property
-===============================
-
-.. image:: https://img.shields.io/pypi/v/cached-property.svg
-    :target: https://pypi.python.org/pypi/cached-property
-
-.. image:: https://img.shields.io/travis/pydanny/cached-property/master.svg
-        :target: https://travis-ci.org/pydanny/cached-property
-
-
-A decorator for caching properties in classes.
-
-Why?
------
-
-* Makes caching of time or computational expensive properties quick and easy.
-* Because I got tired of copy/pasting this code from non-web project to non-web project.
-* I needed something really simple that worked in Python 2 and 3.
-
-How to use it
---------------
-
-Let's define a class with an expensive property. Every time you stay there the
-price goes up by $50!
-
-.. code-block:: python
-
-    class Monopoly(object):
-
-        def __init__(self):
-            self.boardwalk_price = 500
-
-        @property
-        def boardwalk(self):
-            # In reality, this might represent a database call or time
-            # intensive task like calling a third-party API.
-            self.boardwalk_price += 50
-            return self.boardwalk_price
-
-Now run it:
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    600
-
-Let's convert the boardwalk property into a ``cached_property``.
-
-.. code-block:: python
-
-    from cached_property import cached_property
-
-    class Monopoly(object):
-
-        def __init__(self):
-            self.boardwalk_price = 500
-
-        @cached_property
-        def boardwalk(self):
-            # Again, this is a silly example. Don't worry about it, this is
-            #   just an example for clarity.
-            self.boardwalk_price += 50
-            return self.boardwalk_price
-
-Now when we run it the price stays at $550.
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    550
-
-Why doesn't the value of ``monopoly.boardwalk`` change? Because it's a **cached property**!
-
-Invalidating the Cache
-----------------------
-
-Results of cached functions can be invalidated by outside forces. Let's demonstrate how to force the cache to invalidate:
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.boardwalk
-    550
-    >>> monopoly.boardwalk
-    550
-    >>> # invalidate the cache
-    >>> del monopoly.__dict__['boardwalk']
-    >>> # request the boardwalk property again
-    >>> monopoly.boardwalk
-    600
-    >>> monopoly.boardwalk
-    600
-
-Working with Threads
----------------------
-
-What if a whole bunch of people want to stay at Boardwalk all at once? This means using threads, which
-unfortunately causes problems with the standard ``cached_property``. In this case, switch to using the
-``threaded_cached_property``:
-
-.. code-block:: python
-
-    from cached_property import threaded_cached_property
-
-    class Monopoly(object):
-
-        def __init__(self):
-            self.boardwalk_price = 500
-
-        @threaded_cached_property
-        def boardwalk(self):
-            """threaded_cached_property is really nice for when no one waits
-                for other people to finish their turn and rudely start rolling
-                dice and moving their pieces."""
-
-            sleep(1)
-            self.boardwalk_price += 50
-            return self.boardwalk_price
-
-Now use it:
-
-.. code-block:: python
-
-    >>> from threading import Thread
-    >>> from monopoly import Monopoly
-    >>> monopoly = Monopoly()
-    >>> threads = []
-    >>> for x in range(10):
-    >>>     thread = Thread(target=lambda: monopoly.boardwalk)
-    >>>     thread.start()
-    >>>     threads.append(thread)
-
-    >>> for thread in threads:
-    >>>     thread.join()
-
-    >>> self.assertEqual(m.boardwalk, 550)
-
-
-Timing out the cache
---------------------
-
-Sometimes you want the price of things to reset after a time. Use the ``ttl``
-versions of ``cached_property`` and ``threaded_cached_property``.
-
-.. code-block:: python
-
-    import random
-    from cached_property import cached_property_with_ttl
-
-    class Monopoly(object):
-
-        @cached_property_with_ttl(ttl=5) # cache invalidates after 5 seconds
-        def dice(self):
-            # I dare the reader to implement a game using this method of 'rolling dice'.
-            return random.randint(2,12)
-
-Now use it:
-
-.. code-block:: python
-
-    >>> monopoly = Monopoly()
-    >>> monopoly.dice
-    10
-    >>> monopoly.dice
-    10
-    >>> from time import sleep
-    >>> sleep(6) # Sleeps long enough to expire the cache
-    >>> monopoly.dice
-    3
-    >>> monopoly.dice
-    3
-
-**Note:** The ``ttl`` tools do not reliably allow the clearing of the cache. This
-is why they are broken out into seperate tools. See https://github.com/pydanny/cached-property/issues/16.
-
-Credits
---------
-
-* Pip, Django, Werkzueg, Bottle, Pyramid, and Zope for having their own implementations. This package uses an implementation that matches the Bottle version.
-* Reinout Van Rees for pointing out the `cached_property` decorator to me.
-* My awesome wife `@audreyr`_ who created `cookiecutter`_, which meant rolling this out took me just 15 minutes.
-* @tinche for pointing out the threading issue and providing a solution.
-* @bcho for providing the time-to-expire feature
-
-.. _`@audreyr`: https://github.com/audreyr
-.. _`cookiecutter`: https://github.com/audreyr/cookiecutter
-
-
-
-
-History
--------
-
-1.3.0 (2015-11-24)
-++++++++++++++++++
-
-* Added official support for Python 3.5, thanks to @pydanny and @audreyr
-* Removed confusingly placed lock from example, thanks to @ionelmc
-* Corrected invalidation cache documentation, thanks to @proofit404
-* Updated to latest Travis-CI environment, thanks to @audreyr
-
-1.2.0 (2015-04-28)
-++++++++++++++++++
-
-* Overall code and test refactoring, thanks to @gsakkis
-* Allow the del statement for resetting cached properties with ttl instead of del obj._cache[attr], thanks to @gsakkis.
-* Uncovered a bug in PyPy, https://bitbucket.org/pypy/pypy/issue/2033/attributeerror-object-attribute-is-read, thanks to @gsakkis
-* Fixed threaded_cached_property_with_ttl to actually be thread-safe, thanks to @gsakkis
-
-1.1.0 (2015-04-04)
-++++++++++++++++++
-
-* Regression: As the cache was not always clearing, we've broken out the time to expire feature to its own set of specific tools, thanks to @pydanny
-* Fixed typo in README, thanks to @zoidbergwill
-
-1.0.0 (2015-02-13)
-++++++++++++++++++
-
-* Added timed to expire feature to ``cached_property`` decorator.
-* **Backwards incompatiblity**: Changed ``del monopoly.boardwalk`` to ``del monopoly['boardwalk']`` in order to support the new TTL feature.
-
-0.1.5 (2014-05-20)
-++++++++++++++++++
-
-* Added threading support with new ``threaded_cached_property`` decorator
-* Documented cache invalidation
-* Updated credits
-* Sourced the bottle implementation
-
-0.1.4 (2014-05-17)
-++++++++++++++++++
-
-* Fix the dang-blarged py_modules argument.
-
-0.1.3 (2014-05-17)
-++++++++++++++++++
-
-* Removed import of package into ``setup.py``
-
-0.1.2 (2014-05-17)
-++++++++++++++++++
-
-* Documentation fixes. Not opening up a RTFD instance for this because it's so simple to use.
-
-0.1.1 (2014-05-17)
-++++++++++++++++++
-
-* setup.py fix. Whoops!
-
-0.1.0 (2014-05-17)
-++++++++++++++++++
-
-* First release on PyPI.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD
deleted file mode 100644
index b764fa9..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD
+++ /dev/null
@@ -1,9 +0,0 @@
-cached_property.py,sha256=eL8h26nf5AKH37NqxcFQrCj1n9eWQ-QEUxO0HUXpThQ,3900
-cached_property-1.3.0.dist-info/DESCRIPTION.rst,sha256=CsyB7KnTiNEfAvDLhcg88JtLLedX_mQ94LaRCzZjHDA,7293
-cached_property-1.3.0.dist-info/METADATA,sha256=OF00ShiPHaabB6TussjxZ3bkdulyzCT4wWbwxzDw55M,8114
-cached_property-1.3.0.dist-info/RECORD,,
-cached_property-1.3.0.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110
-cached_property-1.3.0.dist-info/metadata.json,sha256=0Z7QJmhQLcCRzDaIKB3CKSfAQvxriQKDiVG4rJdkgEc,932
-cached_property-1.3.0.dist-info/top_level.txt,sha256=Pst93XQ2enhlPVfCIpc4Kv38f6JXEYuki96hkyh-1JE,16
-cached_property-1.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-cached_property.pyc,,

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL
deleted file mode 100644
index 0de529b..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL
+++ /dev/null
@@ -1,6 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.26.0)
-Root-Is-Purelib: true
-Tag: py2-none-any
-Tag: py3-none-any
-

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json
deleted file mode 100644
index 8196b43..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"generator": "bdist_wheel (0.26.0)", "summary": "A decorator for caching properties in classes.", "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5"], "extensions": {"python.details": {"project_urls": {"Home": "https://github.com/pydanny/cached-property"}, "contacts": [{"email": "pydanny@gmail.com", "name": "Daniel Greenfeld", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}}}, "keywords": ["cached-property"], "license": "BSD", "metadata_version": "2.0", "name": "cached-property", "version": "1.3.0"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt
deleted file mode 100644
index 05a3432..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-cached_property

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property.py b/env2/lib/python2.7/site-packages/cached_property.py
deleted file mode 100644
index 6a342d5..0000000
--- a/env2/lib/python2.7/site-packages/cached_property.py
+++ /dev/null
@@ -1,131 +0,0 @@
-# -*- coding: utf-8 -*-
-
-__author__ = 'Daniel Greenfeld'
-__email__ = 'pydanny@gmail.com'
-__version__ = '1.3.0'
-__license__ = 'BSD'
-
-from time import time
-import threading
-
-
-class cached_property(object):
-    """
-    A property that is only computed once per instance and then replaces itself
-    with an ordinary attribute. Deleting the attribute resets the property.
-    Source: https://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76
-    """  # noqa
-
-    def __init__(self, func):
-        self.__doc__ = getattr(func, '__doc__')
-        self.func = func
-
-    def __get__(self, obj, cls):
-        if obj is None:
-            return self
-        value = obj.__dict__[self.func.__name__] = self.func(obj)
-        return value
-
-
-class threaded_cached_property(object):
-    """
-    A cached_property version for use in environments where multiple threads
-    might concurrently try to access the property.
-    """
-
-    def __init__(self, func):
-        self.__doc__ = getattr(func, '__doc__')
-        self.func = func
-        self.lock = threading.RLock()
-
-    def __get__(self, obj, cls):
-        if obj is None:
-            return self
-
-        obj_dict = obj.__dict__
-        name = self.func.__name__
-        with self.lock:
-            try:
-                # check if the value was computed before the lock was acquired
-                return obj_dict[name]
-            except KeyError:
-                # if not, do the calculation and release the lock
-                return obj_dict.setdefault(name, self.func(obj))
-
-
-class cached_property_with_ttl(object):
-    """
-    A property that is only computed once per instance and then replaces itself
-    with an ordinary attribute. Setting the ttl to a number expresses how long
-    the property will last before being timed out.
-    """
-
-    def __init__(self, ttl=None):
-        if callable(ttl):
-            func = ttl
-            ttl = None
-        else:
-            func = None
-        self.ttl = ttl
-        self._prepare_func(func)
-
-    def __call__(self, func):
-        self._prepare_func(func)
-        return self
-
-    def __get__(self, obj, cls):
-        if obj is None:
-            return self
-
-        now = time()
-        obj_dict = obj.__dict__
-        name = self.__name__
-        try:
-            value, last_updated = obj_dict[name]
-        except KeyError:
-            pass
-        else:
-            ttl_expired = self.ttl and self.ttl < now - last_updated
-            if not ttl_expired:
-                return value
-
-        value = self.func(obj)
-        obj_dict[name] = (value, now)
-        return value
-
-    def __delete__(self, obj):
-        obj.__dict__.pop(self.__name__, None)
-
-    def __set__(self, obj, value):
-        obj.__dict__[self.__name__] = (value, time())
-
-    def _prepare_func(self, func):
-        self.func = func
-        if func:
-            self.__doc__ = func.__doc__
-            self.__name__ = func.__name__
-            self.__module__ = func.__module__
-
-# Aliases to make cached_property_with_ttl easier to use
-cached_property_ttl = cached_property_with_ttl
-timed_cached_property = cached_property_with_ttl
-
-
-class threaded_cached_property_with_ttl(cached_property_with_ttl):
-    """
-    A cached_property version for use in environments where multiple threads
-    might concurrently try to access the property.
-    """
-
-    def __init__(self, ttl=None):
-        super(threaded_cached_property_with_ttl, self).__init__(ttl)
-        self.lock = threading.RLock()
-
-    def __get__(self, obj, cls):
-        with self.lock:
-            return super(threaded_cached_property_with_ttl, self).__get__(obj,
-                                                                          cls)
-
-# Alias to make threaded_cached_property_with_ttl easier to use
-threaded_cached_property_ttl = threaded_cached_property_with_ttl
-timed_threaded_cached_property = threaded_cached_property_with_ttl

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/GITSHA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/GITSHA b/env2/lib/python2.7/site-packages/compose/GITSHA
deleted file mode 100644
index 0b6e76f..0000000
--- a/env2/lib/python2.7/site-packages/compose/GITSHA
+++ /dev/null
@@ -1 +0,0 @@
-94f7016

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/__init__.py b/env2/lib/python2.7/site-packages/compose/__init__.py
deleted file mode 100644
index c550f99..0000000
--- a/env2/lib/python2.7/site-packages/compose/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-__version__ = '1.8.0'

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/__main__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/__main__.py b/env2/lib/python2.7/site-packages/compose/__main__.py
deleted file mode 100644
index 27a7acb..0000000
--- a/env2/lib/python2.7/site-packages/compose/__main__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-from compose.cli.main import main
-
-main()

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/bundle.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/bundle.py b/env2/lib/python2.7/site-packages/compose/bundle.py
deleted file mode 100644
index afbdabf..0000000
--- a/env2/lib/python2.7/site-packages/compose/bundle.py
+++ /dev/null
@@ -1,257 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import json
-import logging
-
-import six
-from docker.utils import split_command
-from docker.utils.ports import split_port
-
-from .cli.errors import UserError
-from .config.serialize import denormalize_config
-from .network import get_network_defs_for_service
-from .service import format_environment
-from .service import NoSuchImageError
-from .service import parse_repository_tag
-
-
-log = logging.getLogger(__name__)
-
-
-SERVICE_KEYS = {
-    'working_dir': 'WorkingDir',
-    'user': 'User',
-    'labels': 'Labels',
-}
-
-IGNORED_KEYS = {'build'}
-
-SUPPORTED_KEYS = {
-    'image',
-    'ports',
-    'expose',
-    'networks',
-    'command',
-    'environment',
-    'entrypoint',
-} | set(SERVICE_KEYS)
-
-VERSION = '0.1'
-
-
-class NeedsPush(Exception):
-    def __init__(self, image_name):
-        self.image_name = image_name
-
-
-class NeedsPull(Exception):
-    def __init__(self, image_name):
-        self.image_name = image_name
-
-
-class MissingDigests(Exception):
-    def __init__(self, needs_push, needs_pull):
-        self.needs_push = needs_push
-        self.needs_pull = needs_pull
-
-
-def serialize_bundle(config, image_digests):
-    return json.dumps(to_bundle(config, image_digests), indent=2, sort_keys=True)
-
-
-def get_image_digests(project, allow_push=False):
-    digests = {}
-    needs_push = set()
-    needs_pull = set()
-
-    for service in project.services:
-        try:
-            digests[service.name] = get_image_digest(
-                service,
-                allow_push=allow_push,
-            )
-        except NeedsPush as e:
-            needs_push.add(e.image_name)
-        except NeedsPull as e:
-            needs_pull.add(e.image_name)
-
-    if needs_push or needs_pull:
-        raise MissingDigests(needs_push, needs_pull)
-
-    return digests
-
-
-def get_image_digest(service, allow_push=False):
-    if 'image' not in service.options:
-        raise UserError(
-            "Service '{s.name}' doesn't define an image tag. An image name is "
-            "required to generate a proper image digest for the bundle. Specify "
-            "an image repo and tag with the 'image' option.".format(s=service))
-
-    _, _, separator = parse_repository_tag(service.options['image'])
-    # Compose file already uses a digest, no lookup required
-    if separator == '@':
-        return service.options['image']
-
-    try:
-        image = service.image()
-    except NoSuchImageError:
-        action = 'build' if 'build' in service.options else 'pull'
-        raise UserError(
-            "Image not found for service '{service}'. "
-            "You might need to run `docker-compose {action} {service}`."
-            .format(service=service.name, action=action))
-
-    if image['RepoDigests']:
-        # TODO: pick a digest based on the image tag if there are multiple
-        # digests
-        return image['RepoDigests'][0]
-
-    if 'build' not in service.options:
-        raise NeedsPull(service.image_name)
-
-    if not allow_push:
-        raise NeedsPush(service.image_name)
-
-    return push_image(service)
-
-
-def push_image(service):
-    try:
-        digest = service.push()
-    except:
-        log.error(
-            "Failed to push image for service '{s.name}'. Please use an "
-            "image tag that can be pushed to a Docker "
-            "registry.".format(s=service))
-        raise
-
-    if not digest:
-        raise ValueError("Failed to get digest for %s" % service.name)
-
-    repo, _, _ = parse_repository_tag(service.options['image'])
-    identifier = '{repo}@{digest}'.format(repo=repo, digest=digest)
-
-    # only do this if RepoDigests isn't already populated
-    image = service.image()
-    if not image['RepoDigests']:
-        # Pull by digest so that image['RepoDigests'] is populated for next time
-        # and we don't have to pull/push again
-        service.client.pull(identifier)
-        log.info("Stored digest for {}".format(service.image_name))
-
-    return identifier
-
-
-def to_bundle(config, image_digests):
-    if config.networks:
-        log.warn("Unsupported top level key 'networks' - ignoring")
-
-    if config.volumes:
-        log.warn("Unsupported top level key 'volumes' - ignoring")
-
-    config = denormalize_config(config)
-
-    return {
-        'Version': VERSION,
-        'Services': {
-            name: convert_service_to_bundle(
-                name,
-                service_dict,
-                image_digests[name],
-            )
-            for name, service_dict in config['services'].items()
-        },
-    }
-
-
-def convert_service_to_bundle(name, service_dict, image_digest):
-    container_config = {'Image': image_digest}
-
-    for key, value in service_dict.items():
-        if key in IGNORED_KEYS:
-            continue
-
-        if key not in SUPPORTED_KEYS:
-            log.warn("Unsupported key '{}' in services.{} - ignoring".format(key, name))
-            continue
-
-        if key == 'environment':
-            container_config['Env'] = format_environment({
-                envkey: envvalue for envkey, envvalue in value.items()
-                if envvalue
-            })
-            continue
-
-        if key in SERVICE_KEYS:
-            container_config[SERVICE_KEYS[key]] = value
-            continue
-
-    set_command_and_args(
-        container_config,
-        service_dict.get('entrypoint', []),
-        service_dict.get('command', []))
-    container_config['Networks'] = make_service_networks(name, service_dict)
-
-    ports = make_port_specs(service_dict)
-    if ports:
-        container_config['Ports'] = ports
-
-    return container_config
-
-
-# See https://github.com/docker/swarmkit/blob//agent/exec/container/container.go#L95
-def set_command_and_args(config, entrypoint, command):
-    if isinstance(entrypoint, six.string_types):
-        entrypoint = split_command(entrypoint)
-    if isinstance(command, six.string_types):
-        command = split_command(command)
-
-    if entrypoint:
-        config['Command'] = entrypoint + command
-        return
-
-    if command:
-        config['Args'] = command
-
-
-def make_service_networks(name, service_dict):
-    networks = []
-
-    for network_name, network_def in get_network_defs_for_service(service_dict).items():
-        for key in network_def.keys():
-            log.warn(
-                "Unsupported key '{}' in services.{}.networks.{} - ignoring"
-                .format(key, name, network_name))
-
-        networks.append(network_name)
-
-    return networks
-
-
-def make_port_specs(service_dict):
-    ports = []
-
-    internal_ports = [
-        internal_port
-        for port_def in service_dict.get('ports', [])
-        for internal_port in split_port(port_def)[0]
-    ]
-
-    internal_ports += service_dict.get('expose', [])
-
-    for internal_port in internal_ports:
-        spec = make_port_spec(internal_port)
-        if spec not in ports:
-            ports.append(spec)
-
-    return ports
-
-
-def make_port_spec(value):
-    components = six.text_type(value).partition('/')
-    return {
-        'Protocol': components[2] or 'tcp',
-        'Port': int(components[0]),
-    }

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/__init__.py b/env2/lib/python2.7/site-packages/compose/cli/__init__.py
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/colors.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/colors.py b/env2/lib/python2.7/site-packages/compose/cli/colors.py
deleted file mode 100644
index 3c18886..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/colors.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-NAMES = [
-    'grey',
-    'red',
-    'green',
-    'yellow',
-    'blue',
-    'magenta',
-    'cyan',
-    'white'
-]
-
-
-def get_pairs():
-    for i, name in enumerate(NAMES):
-        yield(name, str(30 + i))
-        yield('intense_' + name, str(30 + i) + ';1')
-
-
-def ansi(code):
-    return '\033[{0}m'.format(code)
-
-
-def ansi_color(code, s):
-    return '{0}{1}{2}'.format(ansi(code), s, ansi(0))
-
-
-def make_color_fn(code):
-    return lambda s: ansi_color(code, s)
-
-
-for (name, code) in get_pairs():
-    globals()[name] = make_color_fn(code)
-
-
-def rainbow():
-    cs = ['cyan', 'yellow', 'green', 'magenta', 'red', 'blue',
-          'intense_cyan', 'intense_yellow', 'intense_green',
-          'intense_magenta', 'intense_red', 'intense_blue']
-
-    for c in cs:
-        yield globals()[c]

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/command.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/command.py b/env2/lib/python2.7/site-packages/compose/cli/command.py
deleted file mode 100644
index 2c70d31..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/command.py
+++ /dev/null
@@ -1,130 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import logging
-import os
-import re
-import ssl
-
-import six
-
-from . import verbose_proxy
-from .. import config
-from ..config.environment import Environment
-from ..const import API_VERSIONS
-from ..project import Project
-from .docker_client import docker_client
-from .docker_client import tls_config_from_options
-from .utils import get_version_info
-
-log = logging.getLogger(__name__)
-
-
-def project_from_options(project_dir, options):
-    environment = Environment.from_env_file(project_dir)
-    host = options.get('--host')
-    if host is not None:
-        host = host.lstrip('=')
-    return get_project(
-        project_dir,
-        get_config_path_from_options(project_dir, options, environment),
-        project_name=options.get('--project-name'),
-        verbose=options.get('--verbose'),
-        host=host,
-        tls_config=tls_config_from_options(options),
-        environment=environment
-    )
-
-
-def get_config_from_options(base_dir, options):
-    environment = Environment.from_env_file(base_dir)
-    config_path = get_config_path_from_options(
-        base_dir, options, environment
-    )
-    return config.load(
-        config.find(base_dir, config_path, environment)
-    )
-
-
-def get_config_path_from_options(base_dir, options, environment):
-    file_option = options.get('--file')
-    if file_option:
-        return file_option
-
-    config_files = environment.get('COMPOSE_FILE')
-    if config_files:
-        return config_files.split(os.pathsep)
-    return None
-
-
-def get_tls_version(environment):
-    compose_tls_version = environment.get('COMPOSE_TLS_VERSION', None)
-    if not compose_tls_version:
-        return None
-
-    tls_attr_name = "PROTOCOL_{}".format(compose_tls_version)
-    if not hasattr(ssl, tls_attr_name):
-        log.warn(
-            'The "{}" protocol is unavailable. You may need to update your '
-            'version of Python or OpenSSL. Falling back to TLSv1 (default).'
-            .format(compose_tls_version)
-        )
-        return None
-
-    return getattr(ssl, tls_attr_name)
-
-
-def get_client(environment, verbose=False, version=None, tls_config=None, host=None,
-               tls_version=None):
-
-    client = docker_client(
-        version=version, tls_config=tls_config, host=host,
-        environment=environment, tls_version=get_tls_version(environment)
-    )
-    if verbose:
-        version_info = six.iteritems(client.version())
-        log.info(get_version_info('full'))
-        log.info("Docker base_url: %s", client.base_url)
-        log.info("Docker version: %s",
-                 ", ".join("%s=%s" % item for item in version_info))
-        return verbose_proxy.VerboseProxy('docker', client)
-    return client
-
-
-def get_project(project_dir, config_path=None, project_name=None, verbose=False,
-                host=None, tls_config=None, environment=None):
-    if not environment:
-        environment = Environment.from_env_file(project_dir)
-    config_details = config.find(project_dir, config_path, environment)
-    project_name = get_project_name(
-        config_details.working_dir, project_name, environment
-    )
-    config_data = config.load(config_details)
-
-    api_version = environment.get(
-        'COMPOSE_API_VERSION',
-        API_VERSIONS[config_data.version])
-
-    client = get_client(
-        verbose=verbose, version=api_version, tls_config=tls_config,
-        host=host, environment=environment
-    )
-
-    return Project.from_config(project_name, config_data, client)
-
-
-def get_project_name(working_dir, project_name=None, environment=None):
-    def normalize_name(name):
-        return re.sub(r'[^a-z0-9]', '', name.lower())
-
-    if not environment:
-        environment = Environment.from_env_file(working_dir)
-    project_name = project_name or environment.get('COMPOSE_PROJECT_NAME')
-    if project_name:
-        return normalize_name(project_name)
-
-    project = os.path.basename(os.path.abspath(working_dir))
-    if project:
-        return normalize_name(project)
-
-    return 'default'

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/docker_client.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/docker_client.py b/env2/lib/python2.7/site-packages/compose/cli/docker_client.py
deleted file mode 100644
index ce191fb..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/docker_client.py
+++ /dev/null
@@ -1,73 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import logging
-
-from docker import Client
-from docker.errors import TLSParameterError
-from docker.tls import TLSConfig
-from docker.utils import kwargs_from_env
-
-from ..const import HTTP_TIMEOUT
-from .errors import UserError
-from .utils import generate_user_agent
-
-log = logging.getLogger(__name__)
-
-
-def tls_config_from_options(options):
-    tls = options.get('--tls', False)
-    ca_cert = options.get('--tlscacert')
-    cert = options.get('--tlscert')
-    key = options.get('--tlskey')
-    verify = options.get('--tlsverify')
-    skip_hostname_check = options.get('--skip-hostname-check', False)
-
-    advanced_opts = any([ca_cert, cert, key, verify])
-
-    if tls is True and not advanced_opts:
-        return True
-    elif advanced_opts:  # --tls is a noop
-        client_cert = None
-        if cert or key:
-            client_cert = (cert, key)
-
-        return TLSConfig(
-            client_cert=client_cert, verify=verify, ca_cert=ca_cert,
-            assert_hostname=False if skip_hostname_check else None
-        )
-
-    return None
-
-
-def docker_client(environment, version=None, tls_config=None, host=None,
-                  tls_version=None):
-    """
-    Returns a docker-py client configured using environment variables
-    according to the same logic as the official Docker client.
-    """
-    try:
-        kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
-    except TLSParameterError:
-        raise UserError(
-            "TLS configuration is invalid - make sure your DOCKER_TLS_VERIFY "
-            "and DOCKER_CERT_PATH are set correctly.\n"
-            "You might need to run `eval \"$(docker-machine env default)\"`")
-
-    if host:
-        kwargs['base_url'] = host
-    if tls_config:
-        kwargs['tls'] = tls_config
-
-    if version:
-        kwargs['version'] = version
-
-    timeout = environment.get('COMPOSE_HTTP_TIMEOUT')
-    if timeout:
-        kwargs['timeout'] = int(timeout)
-    else:
-        kwargs['timeout'] = HTTP_TIMEOUT
-
-    kwargs['user_agent'] = generate_user_agent()
-
-    return Client(**kwargs)

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py b/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py
deleted file mode 100644
index 809a4b7..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py
+++ /dev/null
@@ -1,59 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-from inspect import getdoc
-
-from docopt import docopt
-from docopt import DocoptExit
-
-
-def docopt_full_help(docstring, *args, **kwargs):
-    try:
-        return docopt(docstring, *args, **kwargs)
-    except DocoptExit:
-        raise SystemExit(docstring)
-
-
-class DocoptDispatcher(object):
-
-    def __init__(self, command_class, options):
-        self.command_class = command_class
-        self.options = options
-
-    def parse(self, argv):
-        command_help = getdoc(self.command_class)
-        options = docopt_full_help(command_help, argv, **self.options)
-        command = options['COMMAND']
-
-        if command is None:
-            raise SystemExit(command_help)
-
-        handler = get_handler(self.command_class, command)
-        docstring = getdoc(handler)
-
-        if docstring is None:
-            raise NoSuchCommand(command, self)
-
-        command_options = docopt_full_help(docstring, options['ARGS'], options_first=True)
-        return options, handler, command_options
-
-
-def get_handler(command_class, command):
-    command = command.replace('-', '_')
-    # we certainly want to have "exec" command, since that's what docker client has
-    # but in python exec is a keyword
-    if command == "exec":
-        command = "exec_command"
-
-    if not hasattr(command_class, command):
-        raise NoSuchCommand(command, command_class)
-
-    return getattr(command_class, command)
-
-
-class NoSuchCommand(Exception):
-    def __init__(self, command, supercommand):
-        super(NoSuchCommand, self).__init__("No such command: %s" % command)
-
-        self.command = command
-        self.supercommand = supercommand

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/errors.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/errors.py b/env2/lib/python2.7/site-packages/compose/cli/errors.py
deleted file mode 100644
index 5af3ede..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/errors.py
+++ /dev/null
@@ -1,139 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import contextlib
-import logging
-import socket
-from textwrap import dedent
-
-from docker.errors import APIError
-from requests.exceptions import ConnectionError as RequestsConnectionError
-from requests.exceptions import ReadTimeout
-from requests.exceptions import SSLError
-from requests.packages.urllib3.exceptions import ReadTimeoutError
-
-from ..const import API_VERSION_TO_ENGINE_VERSION
-from .utils import call_silently
-from .utils import is_docker_for_mac_installed
-from .utils import is_mac
-from .utils import is_ubuntu
-
-
-log = logging.getLogger(__name__)
-
-
-class UserError(Exception):
-
-    def __init__(self, msg):
-        self.msg = dedent(msg).strip()
-
-    def __unicode__(self):
-        return self.msg
-
-    __str__ = __unicode__
-
-
-class ConnectionError(Exception):
-    pass
-
-
-@contextlib.contextmanager
-def handle_connection_errors(client):
-    try:
-        yield
-    except SSLError as e:
-        log.error('SSL error: %s' % e)
-        raise ConnectionError()
-    except RequestsConnectionError as e:
-        if e.args and isinstance(e.args[0], ReadTimeoutError):
-            log_timeout_error(client.timeout)
-            raise ConnectionError()
-        exit_with_error(get_conn_error_message(client.base_url))
-    except APIError as e:
-        log_api_error(e, client.api_version)
-        raise ConnectionError()
-    except (ReadTimeout, socket.timeout) as e:
-        log_timeout_error()
-        raise ConnectionError()
-
-
-def log_timeout_error(timeout):
-    log.error(
-        "An HTTP request took too long to complete. Retry with --verbose to "
-        "obtain debug information.\n"
-        "If you encounter this issue regularly because of slow network "
-        "conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher "
-        "value (current value: %s)." % timeout)
-
-
-def log_api_error(e, client_version):
-    if b'client is newer than server' not in e.explanation:
-        log.error(e.explanation)
-        return
-
-    version = API_VERSION_TO_ENGINE_VERSION.get(client_version)
-    if not version:
-        # They've set a custom API version
-        log.error(e.explanation)
-        return
-
-    log.error(
-        "The Docker Engine version is less than the minimum required by "
-        "Compose. Your current project requires a Docker Engine of "
-        "version {version} or greater.".format(version=version))
-
-
-def exit_with_error(msg):
-    log.error(dedent(msg).strip())
-    raise ConnectionError()
-
-
-def get_conn_error_message(url):
-    if call_silently(['which', 'docker']) != 0:
-        if is_mac():
-            return docker_not_found_mac
-        if is_ubuntu():
-            return docker_not_found_ubuntu
-        return docker_not_found_generic
-    if is_docker_for_mac_installed():
-        return conn_error_docker_for_mac
-    if call_silently(['which', 'docker-machine']) == 0:
-        return conn_error_docker_machine
-    return conn_error_generic.format(url=url)
-
-
-docker_not_found_mac = """
-    Couldn't connect to Docker daemon. You might need to install Docker:
-
-    https://docs.docker.com/engine/installation/mac/
-"""
-
-
-docker_not_found_ubuntu = """
-    Couldn't connect to Docker daemon. You might need to install Docker:
-
-    https://docs.docker.com/engine/installation/ubuntulinux/
-"""
-
-
-docker_not_found_generic = """
-    Couldn't connect to Docker daemon. You might need to install Docker:
-
-    https://docs.docker.com/engine/installation/
-"""
-
-
-conn_error_docker_machine = """
-    Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
-"""
-
-conn_error_docker_for_mac = """
-    Couldn't connect to Docker daemon. You might need to start Docker for Mac.
-"""
-
-
-conn_error_generic = """
-    Couldn't connect to Docker daemon at {url} - is it running?
-
-    If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
-"""

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/formatter.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/formatter.py b/env2/lib/python2.7/site-packages/compose/cli/formatter.py
deleted file mode 100644
index d0ed0f8..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/formatter.py
+++ /dev/null
@@ -1,48 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import logging
-import os
-
-import texttable
-
-from compose.cli import colors
-
-
-def get_tty_width():
-    tty_size = os.popen('stty size', 'r').read().split()
-    if len(tty_size) != 2:
-        return 0
-    _, width = tty_size
-    return int(width)
-
-
-class Formatter(object):
-    """Format tabular data for printing."""
-    def table(self, headers, rows):
-        table = texttable.Texttable(max_width=get_tty_width())
-        table.set_cols_dtype(['t' for h in headers])
-        table.add_rows([headers] + rows)
-        table.set_deco(table.HEADER)
-        table.set_chars(['-', '|', '+', '-'])
-
-        return table.draw()
-
-
-class ConsoleWarningFormatter(logging.Formatter):
-    """A logging.Formatter which prints WARNING and ERROR messages with
-    a prefix of the log level colored appropriate for the log level.
-    """
-
-    def get_level_message(self, record):
-        separator = ': '
-        if record.levelno == logging.WARNING:
-            return colors.yellow(record.levelname) + separator
-        if record.levelno == logging.ERROR:
-            return colors.red(record.levelname) + separator
-
-        return ''
-
-    def format(self, record):
-        message = super(ConsoleWarningFormatter, self).format(record)
-        return self.get_level_message(record) + message

http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/log_printer.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/log_printer.py b/env2/lib/python2.7/site-packages/compose/cli/log_printer.py
deleted file mode 100644
index b48462f..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/log_printer.py
+++ /dev/null
@@ -1,230 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import sys
-from collections import namedtuple
-from itertools import cycle
-from threading import Thread
-
-from six.moves import _thread as thread
-from six.moves.queue import Empty
-from six.moves.queue import Queue
-
-from . import colors
-from compose import utils
-from compose.cli.signals import ShutdownException
-from compose.utils import split_buffer
-
-
-class LogPresenter(object):
-
-    def __init__(self, prefix_width, color_func):
-        self.prefix_width = prefix_width
-        self.color_func = color_func
-
-    def present(self, container, line):
-        prefix = container.name_without_project.ljust(self.prefix_width)
-        return '{prefix} {line}'.format(
-            prefix=self.color_func(prefix + ' |'),
-            line=line)
-
-
-def build_log_presenters(service_names, monochrome):
-    """Return an iterable of functions.
-
-    Each function can be used to format the logs output of a container.
-    """
-    prefix_width = max_name_width(service_names)
-
-    def no_color(text):
-        return text
-
-    for color_func in cycle([no_color] if monochrome else colors.rainbow()):
-        yield LogPresenter(prefix_width, color_func)
-
-
-def max_name_width(service_names, max_index_width=3):
-    """Calculate the maximum width of container names so we can make the log
-    prefixes line up like so:
-
-    db_1  | Listening
-    web_1 | Listening
-    """
-    return max(len(name) for name in service_names) + max_index_width
-
-
-class LogPrinter(object):
-    """Print logs from many containers to a single output stream."""
-
-    def __init__(self,
-                 containers,
-                 presenters,
-                 event_stream,
-                 output=sys.stdout,
-                 cascade_stop=False,
-                 log_args=None):
-        self.containers = containers
-        self.presenters = presenters
-        self.event_stream = event_stream
-        self.output = utils.get_output_stream(output)
-        self.cascade_stop = cascade_stop
-        self.log_args = log_args or {}
-
-    def run(self):
-        if not self.containers:
-            return
-
-        queue = Queue()
-        thread_args = queue, self.log_args
-        thread_map = build_thread_map(self.containers, self.presenters, thread_args)
-        start_producer_thread((
-            thread_map,
-            self.event_stream,
-            self.presenters,
-            thread_args))
-
-        for line in consume_queue(queue, self.cascade_stop):
-            remove_stopped_threads(thread_map)
-
-            if not line:
-                if not thread_map:
-                    # There are no running containers left to tail, so exit
-                    return
-                # We got an empty line because of a timeout, but there are still
-                # active containers to tail, so continue
-                continue
-
-            self.output.write(line)
-            self.output.flush()
-
-
-def remove_stopped_threads(thread_map):
-    for container_id, tailer_thread in list(thread_map.items()):
-        if not tailer_thread.is_alive():
-            thread_map.pop(container_id, None)
-
-
-def build_thread(container, presenter, queue, log_args):
-    tailer = Thread(
-        target=tail_container_logs,
-        args=(container, presenter, queue, log_args))
-    tailer.daemon = True
-    tailer.start()
-    return tailer
-
-
-def build_thread_map(initial_containers, presenters, thread_args):
-    return {
-        container.id: build_thread(container, next(presenters), *thread_args)
-        for container in initial_containers
-    }
-
-
-class QueueItem(namedtuple('_QueueItem', 'item is_stop exc')):
-
-    @classmethod
-    def new(cls, item):
-        return cls(item, None, None)
-
-    @classmethod
-    def exception(cls, exc):
-        return cls(None, None, exc)
-
-    @classmethod
-    def stop(cls):
-        return cls(None, True, None)
-
-
-def tail_container_logs(container, presenter, queue, log_args):
-    generator = get_log_generator(container)
-
-    try:
-        for item in generator(container, log_args):
-            queue.put(QueueItem.new(presenter.present(container, item)))
-    except Exception as e:
-        queue.put(QueueItem.exception(e))
-        return
-
-    if log_args.get('follow'):
-        queue.put(QueueItem.new(presenter.color_func(wait_on_exit(container))))
-    queue.put(QueueItem.stop())
-
-
-def get_log_generator(container):
-    if container.has_api_logs:
-        return build_log_generator
-    return build_no_log_generator
-
-
-def build_no_log_generator(container, log_args):
-    """Return a generator that prints a warning about logs and waits for
-    container to exit.
-    """
-    yield "WARNING: no logs are available with the '{}' log driver\n".format(
-        container.log_driver)
-
-
-def build_log_generator(container, log_args):
-    # if the container doesn't have a log_stream we need to attach to container
-    # before log printer starts running
-    if container.log_stream is None:
-        stream = container.logs(stdout=True, stderr=True, stream=True, **log_args)
-    else:
-        stream = container.log_stream
-
-    return split_buffer(stream)
-
-
-def wait_on_exit(container):
-    exit_code = container.wait()
-    return "%s exited with code %s\n" % (container.name, exit_code)
-
-
-def start_producer_thread(thread_args):
-    producer = Thread(target=watch_events, args=thread_args)
-    producer.daemon = True
-    producer.start()
-
-
-def watch_events(thread_map, event_stream, presenters, thread_args):
-    for event in event_stream:
-        if event['action'] == 'stop':
-            thread_map.pop(event['id'], None)
-
-        if event['action'] != 'start':
-            continue
-
-        if event['id'] in thread_map:
-            if thread_map[event['id']].is_alive():
-                continue
-            # Container was stopped and started, we need a new thread
-            thread_map.pop(event['id'], None)
-
-        thread_map[event['id']] = build_thread(
-            event['container'],
-            next(presenters),
-            *thread_args)
-
-
-def consume_queue(queue, cascade_stop):
-    """Consume the queue by reading lines off of it and yielding them."""
-    while True:
-        try:
-            item = queue.get(timeout=0.1)
-        except Empty:
-            yield None
-            continue
-        # See https://github.com/docker/compose/issues/189
-        except thread.error:
-            raise ShutdownException()
-
-        if item.exc:
-            raise item.exc
-
-        if item.is_stop:
-            if cascade_stop:
-                raise StopIteration
-            else:
-                continue
-
-        yield item.item