Skip to content

Commit

Permalink
Merge pull request #50 from Yelp/jlynch_optional_tls
Browse files Browse the repository at this point in the history
Make TLS support an extras_requires
  • Loading branch information
sjaensch authored Jun 21, 2017
2 parents d0b5d7a + c313cf1 commit c42642a
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 6 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
4.2.0 (2016-09-26)
------------------
- Move TLS support into an extras so that the vast majority of users that are
not using TLS don't need to install extra dependencies. Note that if this
causes breakage for you change your dependency to fido[tls] and it should
be fine

4.1.0 (2016-09-26)
---------------------
- Drop support for Python 2.6, fixing a build failure due to attrs not being Python 2.6 compatible anymore.
Expand Down
18 changes: 15 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,23 @@ Here is an example of using Fido::
Frequently Asked Questions
==========================

Do you support SSL?
Do you support TLS?
-------------------

Yes, although this has not been vetted by security professionals. One should use this functionality at their own risk. In more detail: Fido uses the Twisted defaults, which delegate to pyOpenSSL_ and `service_identity`_ for the actual SSL work.
Yes, although this has not been vetted by security professionals.
One should use this functionality at their own risk.
In more detail: Fido uses the Twisted defaults, which delegate to
pyOpenSSL_ and `service_identity`_ for the actual TLS work.

Note that to get this you need to install the `tls` extra::

$ pip install --upgrade fido[tls]

Is the API stable?
------------------

Probably not. However, it is currently very simple, so it shouldn't be hard to upgrade code if there's a non backwards-compatible change.
Probably not. However, it is currently very simple, so it shouldn't be hard
to upgrade code if there's a non backwards-compatible change.

Do I need to initialize `Crochet`_?
-----------------------------------
Expand All @@ -65,6 +73,10 @@ Fido can be installed using `pip install`, like so::

$ pip install --upgrade fido

If you want TLS capabilities::

$ pip install --upgrade fido[tls]

License
========

Expand Down
2 changes: 1 addition & 1 deletion fido/__about__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
__summary__ = "Intelligent asynchronous HTTP client"
__uri__ = "https://github.com/Yelp/fido"

__version__ = "4.1.0"
__version__ = "4.2.0"

__author__ = "John Billings"
__email__ = "[email protected]"
Expand Down
12 changes: 10 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,19 @@
],
install_requires=[
'crochet',
'service_identity',
'six',
'pyOpenSSL',
'twisted >= 14.0.0',
'yelp_bytes',
],
extras_require={
'tls': [
# Bug in pip's resolution of extras of extras is broken
# so we list twisted[tls] out manually
# see https://github.com/pypa/pip/issues/988
'pyOpenSSL >= 16.0.0',
'service-identity',
'idna >= 0.6, != 2.3',
]
},
license=about['__license__'],
)
5 changes: 5 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,10 @@ deps = {[testenv]deps}
changedir = docs
commands = sphinx-build -b html -d build/doctrees source build/html

[testenv:tls]
commands =
pip install .[tls]
python -c 'import twisted.internet.ssl'

[flake8]
exclude = .tox,virtualenv_*,docs

0 comments on commit c42642a

Please sign in to comment.