[Python-modules-commits] [python-dugong] 01/05: Import python-dugong_3.7+dfsg.orig.tar.bz2

Nikolaus Rath nikratio-guest at moszumanska.debian.org
Thu Jun 15 17:54:42 UTC 2017


This is an automated email from the git hooks/post-receive script.

nikratio-guest pushed a commit to annotated tag archive/debian/3.7.1+dfsg-1
in repository python-dugong.

commit 674ad1f9c1acc452eeb89e478b295c94ee3796ca
Author: Nikolaus Rath <Nikolaus at rath.org>
Date:   Mon Jun 20 11:01:26 2016 -0700

    Import python-dugong_3.7+dfsg.orig.tar.bz2
    
    [dgit import orig python-dugong_3.7+dfsg.orig.tar.bz2]
---
 Changes.rst                          |  180 ++++
 LICENSE                              |  244 +++++
 PKG-INFO                             |  113 +++
 README.rst                           |   95 ++
 dugong.egg-info/PKG-INFO             |  113 +++
 dugong.egg-info/SOURCES.txt          |   78 ++
 dugong.egg-info/dependency_links.txt |    1 +
 dugong.egg-info/top_level.txt        |    1 +
 dugong.egg-info/zip-safe             |    1 +
 dugong/__init__.py                   | 1749 ++++++++++++++++++++++++++++++++++
 examples/extract_links.py            |  100 ++
 examples/httpcat.py                  |   72 ++
 examples/pipeline1.py                |   81 ++
 rst/_templates/localtoc.html         |    2 +
 rst/api.rst                          |  101 ++
 rst/conf.py                          |   30 +
 rst/coroutines.rst                   |  276 ++++++
 rst/index.rst                        |   23 +
 rst/intro.rst                        |    8 +
 rst/issues.rst                       |   11 +
 rst/tutorial.rst                     |  296 ++++++
 rst/whatsnew.rst                     |    6 +
 setup.cfg                            |   12 +
 setup.py                             |   90 ++
 test/ca.crt                          |   20 +
 test/ca.key                          |  165 ++++
 test/conftest.py                     |   65 ++
 test/pytest.ini                      |    2 +
 test/pytest_checklogs.py             |  130 +++
 test/server.crt                      |   22 +
 test/server.key                      |  165 ++++
 test/test_aio.py                     |   66 ++
 test/test_dugong.py                  | 1174 +++++++++++++++++++++++
 test/test_examples.py                |   80 ++
 34 files changed, 5572 insertions(+)

diff --git a/Changes.rst b/Changes.rst
new file mode 100644
index 0000000..7005d90
--- /dev/null
+++ b/Changes.rst
@@ -0,0 +1,180 @@
+.. currentmodule:: dugong
+
+Relase 3.7 (2016-06-20)
+=======================
+
+* Dugong now supports server responses that specify just ``Connection:
+  close`` instead of providing the response length or using chunked
+  encoding.
+
+* Dugong now honors the `~ssl.SSLContext.check_hostname` attribute of
+  `~ssl.SSLContext` objects.
+
+Release 3.6 (2016-04-23)
+========================
+
+* Dugong now uses semantic versioning. This means that
+  backwards-incompatible versions (i.e., versions that change the
+  existing API in some way) will be reflected in an increase of the
+  major version number, i.e. the next backwards-incompatible version
+  will have version 4.0.
+
+* Various minor bugfixes.
+
+Release 3.5 (2015-01-31)
+========================
+
+* The `is_temp_network_error` function now knows about more kinds of
+  temporary errors, in particular also about those that do not have a
+  corresponding Python exception (e.g. no route to host).
+
+Release 3.4 (2014-11-29)
+========================
+
+* The :file:`examples/extract_links.py` script is now Python 3.3
+  compatible again.
+
+* Dugong now has proper proxy support for plain HTTP
+  connections. Thanks to Vincent Bernat for the patch.
+
+* Dugong now raises `DNSUnavailable` or `HostnameNotResolvable`
+  exceptions instead of the more generic `socket.gaierror` and
+  `socket.herror` exceptions where possible.
+
+Release 3.3 (2014-08-06)
+========================
+
+* It was possible for some methods to raise `BrokenPipeError`, or
+  `ConnectionResetError` instead of `ConnectionClosed` (especially
+  under FreeBSD). This has now been fixed.
+
+* It was possible for methods that need to read data from the server
+  to raise `AssertionError` in some circumstances. This has been
+  fixed.
+
+Release 3.2 (2014-07-27)
+========================
+
+* A `HTTPConnection` instance can now be used as a context manager.
+
+* If a connection is closed unexpectedly while request body data is
+  being written to the server (i.e., during a call to
+  `HTTPConnection.write` or `HTTPConnection.co_write`), dugong now
+  pretends that the body has been sent to the server completely (while
+  still raising `ConnectionClosed`).
+
+  This makes it possible to catch the exception and nevertheless call
+  `~HTTPConnection.read_response` (or
+  `~HTTPConnection.co_read_response`) to try to read an error response
+  that the server may have sent during the upload (if no response has
+  been received, `ConnectionClosed` will be raised again).
+
+* `is_temp_network_error` now actively tries to distinguish between
+  permanent and temporary name resolution problems by attempting to
+  resolve a number of test hostnames.
+
+* `HTTPConnection` has a new `~HTTPConnection.timeout`
+  attribute. Regular `HTTPConnection` methods (i.e., no coroutines)
+  will now raise `ConnectionTimedOut` if no data could be send or
+  received for *timeout* seconds.
+
+Release 3.1 (2014-06-28)
+========================
+
+* Fixed a problem with some testcases failing with a BrokenPipeError.
+
+* Fixed a bug that, in some cases, resulted in additional ``\0`` bytes
+  being appended at the end of the response body, or in an incorrect
+  `InvalidResponse` exception being raised.
+
+* When trying to continue reading or writing body data after calling
+  `HTTPConnection.disconnect`, dugong now raises `ConnectionClosed`
+  instead of `AttributeError`.
+
+Release 3.0, (2014-04-20)
+=========================
+
+* Major version bump because of backwards incompatible changes.
+
+* Added `HTTPConnection.read_raw` method.
+
+* The `PollNeeded` class now uses the `!select.POLLIN` and
+  `!select.POLLOUT` constants instead of `!select.EPOLLIN` and
+  `!select.EPOLLOUT` to signal what kind of I/O needs to be
+  performed. This makes dugong compatible with systems lacking epoll
+  (e.g. FreeBSD).
+
+* The unit tests now check if the host is reachable before trying to
+  run the example scripts. This avoids bogus test errors if
+  there is no internet connection or if the remote host is down.
+  (issue #7).
+
+
+Release 2.2 (2014-03-14)
+========================
+
+* Unittests requiring the `asyncio` module are now skipped if this
+  module is not available.
+
+
+Release 2.1 (2014-03-11)
+========================
+
+* Fixed a problem where data was not sent to the server if the syscall
+  was interrupted by a signal.
+
+* It is no longer necessary to read from response body at least once
+  even if has zero length.
+
+* `PollNeeded.poll` now uses `select.poll` instead of
+  `select.select`. This avoids a "filedescriptor out of range"
+  exception that may be raised by `select.select` when the
+  filedescriptor exceeds some system-specific value.
+
+
+Release 2.0 (2014-02-23)
+========================
+
+* Renamed module from *httpio* to *dugong*.
+
+* The coroutine based API was completely overhauled.
+
+* Introduced `BodyFollowing` class for use with *body* parameter of
+  `~HTTPConnection.send_request` method.
+
+* `~HTTPConnection.send_request` now returns a `HTTPResponse` instance
+  instead of a tuple.
+
+* The :meth:`!HTTPConnection.get_current_response` method has been removed.
+
+* The :meth:`!HTTPConnection.fileno` method has been removed.
+
+* Added `CaseInsensitiveDict` class.
+
+* `~HTTPConnection.send_request` now converts the *header* parameter
+  to a `CaseInsensitiveDict`.
+
+* `~HTTPConnection.send_request` now automatically generates a
+  ``Content-MD5`` header when the body is passed in as a bytes-like
+  object.
+
+* `HTTPConnection.read` now accepts `None` for the *len_* parameter.
+
+* `HTTPConnection` instances now support a bare-bones `io.IOBase`
+  interface so that they can be combined with `io.TextIOWrapper` to
+  read text response bodies.
+
+* The :meth:`!HTTPConnection.close` method was renamed to
+  `HTTPConnection.disconnect` to prevent confusion related to the
+  ``closed`` attribute (which may be `True` if the connection is
+  established, but there is no active response body).
+
+* Repeatedly trying to read more response data after the response body
+  has been read completely no longer results in `StateError`  being
+  raised, but simply returns ``b''``.
+
+
+Release 1.0 (2013-07-13)
+========================
+
+* Initial release.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..49c2cac
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,244 @@
+======================================
+ License for the Dugong Python module
+======================================
+
+This module is copyright (C) Nikolaus Rath <Nikolaus at rath.org>.
+
+It may be distributed under the terms of the Python Software
+Foundation License Version 2, reproduced below.
+
+The included CaseInsensitiveDict implementation is copyright 2013
+Kenneth Reitz and licensed under the Apache License, Version 2.0
+(http://www.apache.org/licenses/LICENSE-2.0, reproduced below.)
+
+
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+============================================
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF hereby
+grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
+analyze, test, perform and/or display publicly, prepare derivative works,
+distribute, and otherwise use Python alone or in any derivative version,
+provided, however, that PSF's License Agreement and PSF's notice of copyright,
+i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+2011, 2012, 2013, 2014 Python Software Foundation; All Rights Reserved" are retained
+in Python alone or in any derivative version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee.  This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Apache License, Version 2.0
+===========================
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..dedc06a
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,113 @@
+Metadata-Version: 1.1
+Name: dugong
+Version: 3.7
+Summary: A HTTP 1.1 client module supporting asynchronous IO, pipelining and `Expect: 100-continue`. Designed for RESTful protocols.
+Home-page: https://bitbucket.org/nikratio/python-dugong
+Author: Nikolaus Rath
+Author-email: Nikolaus at rath.org
+License: PSF
+Description: ==========================
+         The Python Dugong Module
+        ==========================
+        
+        .. default-role:: code
+        
+        .. start-intro
+        
+        The Python Dugong module provides an API for communicating with HTTP
+        1.1 servers. It is an alternative to the standard library's
+        `http.client` (formerly *httplib*) module. In contrast to
+        `http.client`, Dugong:
+        
+        - allows you to send multiple requests right after each other without
+          having to read the responses first.
+        
+        - supports waiting for 100-continue before sending the request body.
+        
+        - raises an exception instead of silently delivering partial data if the
+          connection is closed before all data has been received.
+        
+        - raises one specific exception (`ConnectionClosed`) if the connection
+          has been closed (while `http.client` connection may raise any of
+          `BrokenPipeError`, `~http.client.BadStatusLine`,
+          `ConnectionAbortedError`, `ConnectionResetError`,
+          `~http.client.IncompleteRead` or simply return ``''`` on read)
+        
+        - supports non-blocking, asynchronous operation and is compatible with
+          the asyncio_ module.
+        
+        - can in most cases distinguish between an unavailable DNS server and
+          an unresolvable hostname.
+        
+        - is not compatible with old HTTP 0.9 or 1.0 servers.
+        
+        All request and response headers are represented as `str`, but must be
+        encodable in latin1. Request and response body must be `bytes-like
+        objects`_ or binary streams.
+        
+        Dugong requires Python 3.3 or newer.
+        
+        .. _`bytes-like objects`: http://docs.python.org/3/glossary.html#term-bytes-like-object
+        .. _asyncio: http://docs.python.org/3.4/library/asyncio.html
+        
+        
+        Installation
+        ============
+        
+        As usual: download the tarball from PyPi_, extract it, and run ::
+        
+          # python3 setup.py install [--user]
+        
+        To run the self-tests, install `py.test`_ with the `pytest-catchlog`_
+        plugin and run ::
+        
+          # python3 -m pytest test/
+        
+        .. _PyPi: https://pypi.python.org/pypi/dugong/#downloads
+        .. _py.test: http://www.pytest.org/
+        .. _pytest-catchlog: https://github.com/eisensheng/pytest-catchlog
+        
+        
+        Getting Help
+        ============
+        
+        The documentation can be `read online`__ and is also included in the
+        *doc/html* directory of the dugong tarball.
+        
+        Please report any bugs on the `BitBucket issue tracker`_. For discussion and
+        questions, please subscribe to the `dugong mailing list`_.
+        
+        .. __: http://pythonhosted.org/dugong/
+        .. _dugong mailing list: https://groups.google.com/d/forum/python-dugong
+        .. _`BitBucket issue tracker`: https://bitbucket.org/nikratio/python-dugong/issues
+        
+        
+        Development Status
+        ==================
+        
+        The Dugong API is not yet stable and may change from one release to
+        the other. Starting with version 3.5, Dugong uses semantic
+        versioning. This means changes in the API will be reflected in an
+        increase of the major version number, i.e. the next
+        backwards-incompatible version will be 4.0. Projects designed for
+        e.g. version 3.5 of Dugong are thus recommended to declare a
+        dependency on ``dugong >= 3.5, < 4.0``.
+        
+        
+        Contributing
+        ============
+        
+        The LLFUSE source code is available both on GitHub_ and BitBucket_.
+        
+        .. _BitBucket: https://bitbucket.org/nikratio/python-dugong/
+        .. _GitHub: https://github.com/python-dugong/main
+        
+Keywords: http
+Platform: UNKNOWN
+Classifier: Programming Language :: Python :: 3
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Python Software Foundation License
+Classifier: Topic :: Internet :: WWW/HTTP
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides: dugong
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..8769189
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,95 @@
+==========================
+ The Python Dugong Module
+==========================
+
+.. default-role:: code
+
+.. start-intro
+
+The Python Dugong module provides an API for communicating with HTTP
+1.1 servers. It is an alternative to the standard library's
+`http.client` (formerly *httplib*) module. In contrast to
+`http.client`, Dugong:
+
+- allows you to send multiple requests right after each other without
+  having to read the responses first.
+
+- supports waiting for 100-continue before sending the request body.
+
+- raises an exception instead of silently delivering partial data if the
+  connection is closed before all data has been received.
+
+- raises one specific exception (`ConnectionClosed`) if the connection
+  has been closed (while `http.client` connection may raise any of
+  `BrokenPipeError`, `~http.client.BadStatusLine`,
+  `ConnectionAbortedError`, `ConnectionResetError`,
+  `~http.client.IncompleteRead` or simply return ``''`` on read)
+
+- supports non-blocking, asynchronous operation and is compatible with
+  the asyncio_ module.
+
+- can in most cases distinguish between an unavailable DNS server and
+  an unresolvable hostname.
+
+- is not compatible with old HTTP 0.9 or 1.0 servers.
+
+All request and response headers are represented as `str`, but must be
+encodable in latin1. Request and response body must be `bytes-like
+objects`_ or binary streams.
+
+Dugong requires Python 3.3 or newer.
+
+.. _`bytes-like objects`: http://docs.python.org/3/glossary.html#term-bytes-like-object
+.. _asyncio: http://docs.python.org/3.4/library/asyncio.html
+
+
+Installation
+============
+
+As usual: download the tarball from PyPi_, extract it, and run ::
+
+  # python3 setup.py install [--user]
+
+To run the self-tests, install `py.test`_ with the `pytest-catchlog`_
+plugin and run ::
+
+  # python3 -m pytest test/
+
+.. _PyPi: https://pypi.python.org/pypi/dugong/#downloads
+.. _py.test: http://www.pytest.org/
+.. _pytest-catchlog: https://github.com/eisensheng/pytest-catchlog
+
+
+Getting Help
+============
+
+The documentation can be `read online`__ and is also included in the
+*doc/html* directory of the dugong tarball.
+
+Please report any bugs on the `BitBucket issue tracker`_. For discussion and
+questions, please subscribe to the `dugong mailing list`_.
+
+.. __: http://pythonhosted.org/dugong/
+.. _dugong mailing list: https://groups.google.com/d/forum/python-dugong
+.. _`BitBucket issue tracker`: https://bitbucket.org/nikratio/python-dugong/issues
+
+
+Development Status
+==================
+
+The Dugong API is not yet stable and may change from one release to
+the other. Starting with version 3.5, Dugong uses semantic
+versioning. This means changes in the API will be reflected in an
+increase of the major version number, i.e. the next
+backwards-incompatible version will be 4.0. Projects designed for
+e.g. version 3.5 of Dugong are thus recommended to declare a
+dependency on ``dugong >= 3.5, < 4.0``.
+
+
+Contributing
+============
+
+The LLFUSE source code is available both on GitHub_ and BitBucket_.
+
+.. _BitBucket: https://bitbucket.org/nikratio/python-dugong/
+.. _GitHub: https://github.com/python-dugong/main
diff --git a/dugong.egg-info/PKG-INFO b/dugong.egg-info/PKG-INFO
new file mode 100644
index 0000000..dedc06a
--- /dev/null
+++ b/dugong.egg-info/PKG-INFO
@@ -0,0 +1,113 @@
+Metadata-Version: 1.1
+Name: dugong
+Version: 3.7
+Summary: A HTTP 1.1 client module supporting asynchronous IO, pipelining and `Expect: 100-continue`. Designed for RESTful protocols.
+Home-page: https://bitbucket.org/nikratio/python-dugong
+Author: Nikolaus Rath
+Author-email: Nikolaus at rath.org
+License: PSF
+Description: ==========================
+         The Python Dugong Module
+        ==========================
+        
+        .. default-role:: code
+        
+        .. start-intro
+        
+        The Python Dugong module provides an API for communicating with HTTP
+        1.1 servers. It is an alternative to the standard library's
+        `http.client` (formerly *httplib*) module. In contrast to
+        `http.client`, Dugong:
+        
+        - allows you to send multiple requests right after each other without
+          having to read the responses first.
+        
+        - supports waiting for 100-continue before sending the request body.
+        
+        - raises an exception instead of silently delivering partial data if the
+          connection is closed before all data has been received.
+        
+        - raises one specific exception (`ConnectionClosed`) if the connection
+          has been closed (while `http.client` connection may raise any of
+          `BrokenPipeError`, `~http.client.BadStatusLine`,
+          `ConnectionAbortedError`, `ConnectionResetError`,
+          `~http.client.IncompleteRead` or simply return ``''`` on read)
+        
+        - supports non-blocking, asynchronous operation and is compatible with
+          the asyncio_ module.
+        
+        - can in most cases distinguish between an unavailable DNS server and
+          an unresolvable hostname.
+        
+        - is not compatible with old HTTP 0.9 or 1.0 servers.
+        
+        All request and response headers are represented as `str`, but must be
+        encodable in latin1. Request and response body must be `bytes-like
+        objects`_ or binary streams.
+        
+        Dugong requires Python 3.3 or newer.
+        
+        .. _`bytes-like objects`: http://docs.python.org/3/glossary.html#term-bytes-like-object
+        .. _asyncio: http://docs.python.org/3.4/library/asyncio.html
+        
+        
+        Installation
+        ============
+        
+        As usual: download the tarball from PyPi_, extract it, and run ::
+        
+          # python3 setup.py install [--user]
+        
+        To run the self-tests, install `py.test`_ with the `pytest-catchlog`_
+        plugin and run ::
+        
+          # python3 -m pytest test/
+        
+        .. _PyPi: https://pypi.python.org/pypi/dugong/#downloads
+        .. _py.test: http://www.pytest.org/
+        .. _pytest-catchlog: https://github.com/eisensheng/pytest-catchlog
+        
+        
+        Getting Help
+        ============
+        
+        The documentation can be `read online`__ and is also included in the
+        *doc/html* directory of the dugong tarball.
+        
+        Please report any bugs on the `BitBucket issue tracker`_. For discussion and
+        questions, please subscribe to the `dugong mailing list`_.
+        
+        .. __: http://pythonhosted.org/dugong/
+        .. _dugong mailing list: https://groups.google.com/d/forum/python-dugong
+        .. _`BitBucket issue tracker`: https://bitbucket.org/nikratio/python-dugong/issues
+        
+        
+        Development Status
+        ==================
+        
+        The Dugong API is not yet stable and may change from one release to
+        the other. Starting with version 3.5, Dugong uses semantic
+        versioning. This means changes in the API will be reflected in an
+        increase of the major version number, i.e. the next
+        backwards-incompatible version will be 4.0. Projects designed for
+        e.g. version 3.5 of Dugong are thus recommended to declare a
+        dependency on ``dugong >= 3.5, < 4.0``.
+        
+        
+        Contributing
+        ============
+        
+        The LLFUSE source code is available both on GitHub_ and BitBucket_.
+        
+        .. _BitBucket: https://bitbucket.org/nikratio/python-dugong/
+        .. _GitHub: https://github.com/python-dugong/main
+        
+Keywords: http
+Platform: UNKNOWN
+Classifier: Programming Language :: Python :: 3
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Python Software Foundation License
+Classifier: Topic :: Internet :: WWW/HTTP
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides: dugong
diff --git a/dugong.egg-info/SOURCES.txt b/dugong.egg-info/SOURCES.txt
new file mode 100644
index 0000000..b85a6a4
--- /dev/null
+++ b/dugong.egg-info/SOURCES.txt
@@ -0,0 +1,78 @@
+Changes.rst
+LICENSE
+README.rst
+setup.cfg
+setup.py
+./dugong/__init__.py
+doc/html/.buildinfo
+doc/html/api.html
+doc/html/coroutine.html
+doc/html/coroutines.html
+doc/html/expect100.html
+doc/html/genindex.html
+doc/html/index.html
+doc/html/intro.html
+doc/html/issues.html
+doc/html/objects.inv
+doc/html/search.html
+doc/html/searchindex.js
+doc/html/tutorial.html
+doc/html/whatsnew.html
+doc/html/_modules/dugong.html
+doc/html/_modules/index.html
+doc/html/_sources/api.txt
+doc/html/_sources/coroutine.txt
+doc/html/_sources/coroutines.txt
+doc/html/_sources/expect100.txt
+doc/html/_sources/index.txt
+doc/html/_sources/intro.txt
+doc/html/_sources/issues.txt
+doc/html/_sources/tutorial.txt
+doc/html/_sources/whatsnew.txt
+doc/html/_static/ajax-loader.gif
+doc/html/_static/basic.css
+doc/html/_static/comment-bright.png
+doc/html/_static/comment-close.png
+doc/html/_static/comment.png
+doc/html/_static/default.css
+doc/html/_static/doctools.js
+doc/html/_static/down-pressed.png
+doc/html/_static/down.png
+doc/html/_static/file.png
+doc/html/_static/jquery.js
+doc/html/_static/minus.png
+doc/html/_static/plus.png
+doc/html/_static/pygments.css
+doc/html/_static/searchtools.js
+doc/html/_static/sidebar.js
+doc/html/_static/underscore.js
+doc/html/_static/up-pressed.png
+doc/html/_static/up.png
+doc/html/_static/websupport.js
+dugong.egg-info/PKG-INFO
+dugong.egg-info/SOURCES.txt
+dugong.egg-info/dependency_links.txt
+dugong.egg-info/top_level.txt
+dugong.egg-info/zip-safe
+examples/extract_links.py
+examples/httpcat.py
+examples/pipeline1.py
+rst/api.rst
+rst/conf.py
+rst/coroutines.rst
+rst/index.rst
+rst/intro.rst
+rst/issues.rst
+rst/tutorial.rst
+rst/whatsnew.rst
+rst/_templates/localtoc.html
+test/ca.crt
+test/ca.key
+test/conftest.py
+test/pytest.ini
+test/pytest_checklogs.py
+test/server.crt
+test/server.key
+test/test_aio.py
+test/test_dugong.py
+test/test_examples.py
\ No newline at end of file
diff --git a/dugong.egg-info/dependency_links.txt b/dugong.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/dugong.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/dugong.egg-info/top_level.txt b/dugong.egg-info/top_level.txt
new file mode 100644
index 0000000..21bc003
--- /dev/null
+++ b/dugong.egg-info/top_level.txt
@@ -0,0 +1 @@
+dugong
diff --git a/dugong.egg-info/zip-safe b/dugong.egg-info/zip-safe
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/dugong.egg-info/zip-safe
@@ -0,0 +1 @@
+
diff --git a/dugong/__init__.py b/dugong/__init__.py
new file mode 100644
index 0000000..92e0a52
--- /dev/null
+++ b/dugong/__init__.py
@@ -0,0 +1,1749 @@
+'''
+dugong.py - Python HTTP Client Module
+
+Copyright © 2014 Nikolaus Rath <Nikolaus.org>
+
+This module may be distributed under the terms of the Python Software Foundation
+License Version 2.
+
+The CaseInsensitiveDict implementation is copyright 2013 Kenneth Reitz and
+licensed under the Apache License, Version 2.0
+(http://www.apache.org/licenses/LICENSE-2.0)
+'''
+
+import socket
+import logging
+import errno
+import ssl
+import hashlib
+from inspect import getdoc
+import textwrap
+from base64 import b64encode
+from collections import deque
+from collections.abc import MutableMapping, Mapping
+import email
+import email.policy
+from http.client import (HTTPS_PORT, HTTP_PORT, NO_CONTENT, NOT_MODIFIED)
+from select import POLLIN, POLLOUT
+import select
+import sys
+
+try:
+    import asyncio
+except ImportError:
+    asyncio = None
+
+# Enums are only available in 3.4 and newer
+try:
+    from enum import Enum
+except ImportError:
+    Enum = object
+
+__version__ = '3.7'
+
+log = logging.getLogger(__name__)
+
+#: Internal buffer size
+BUFFER_SIZE = 64*1024
+
+#: Maximal length of HTTP status line. If the server sends a line longer than
+#: this value, `InvalidResponse` will be raised.
+MAX_LINE_SIZE = BUFFER_SIZE-1
+
+#: Maximal length of a response header (i.e., for all header
+#: lines together). If the server sends a header segment longer than
+#: this value, `InvalidResponse` will be raised.
+MAX_HEADER_SIZE = BUFFER_SIZE-1
+
+class Symbol:
+    '''
+    A symbol instance represents a specific state. Its value is
+    not relevant, as it should only ever be assigned to or compared
+    with other variables.
+    '''
+    __slots__ = [ 'name' ]
+
+    def __init__(self, name):
+        self.name = name
+
+    def __str__(self):
... 4821 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-dugong.git



More information about the Python-modules-commits mailing list