Skip to content

Make urllib3 optional.聽#965

Closed
Closed

Description

@lovelydinosaur

Follow up to #963.

Let's ensure that the urllib3 dependency is optional.

  • Make sure we don't have it anymore in setup.py.
  • Make sure it's listed as optional in the REAEDME/homepage.
  • Make sure that the urllib3.py module passes gracefully on ImportError, and checks the package exists in URLLib3Transport.__init__().

Activity

  1. added this to the v0.13 milestone on May 21, 2020
  2. yeraydiazdiaz commented on May 21, 2020

    @yeraydiazdiaz
    Contributor

    The last point is already covered, unless you have a different implementation in mind?

  3. lovelydinosaur commented on May 21, 2020

    @lovelydinosaur
    MemberAuthor

    Ah fantastic!

  4. lovelydinosaur commented on May 21, 2020

    @lovelydinosaur
    MemberAuthor

    Have also confirmed that it's not in setup.py, so all we have is...

    • Docs tweak in the advanced section, noting to make sure urllib3 is installed.
    • In README.md and doc/index.md update the dependencies listing. (I guess move urllib3 to just above brotlipy as the other optional, and have httpcore with h11, h2 hanging off as subdependancies, like so...

    • httpcore - The default transport implementation for httpx.
      • h11 - HTTP/1.1 support.
      • h2 - HTTP/2 support.
    • certifi - SSL certificates.
    • chardet - Fallback auto-detection for response encoding.
    • hstspreload - determines whether IDNA-encoded host should be only accessed via HTTPS.
    • idna - Internationalized domain name support.
    • rfc3986 - URL parsing & normalization.
    • urllib3 - Support for httpx.URLLib3Transport(). (Optional)
    • brotlipy - Decoding for "brotli" compressed responses. (Optional)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions