httpcore icon indicating copy to clipboard operation
httpcore copied to clipboard

Consider dropping upper pin on h11

Open zanieb opened this issue 3 years ago • 8 comments

Hi! By pinning the upper version of h11 in setup.py each time they make a release projects that depend on httpcore can fail with version requirement issues.

For example:

ERROR: httpcore 0.14.7 has requirement h11<0.13,>=0.11, but you'll have h11 0.13.0 which is incompatible.
...
pkg_resources.ContextualVersionConflict: (h11 0.13.0 (/.../python3.8/lib/python3.8/site-packages), Requirement.parse('h11<0.13,>=0.11'), {'httpcore'})

Could you remove the upper pin and allow consumers of this important library to use compatible versions on release or restrict the version themselves if necessary?

Of course, part of this is pip's fault as it should be resolving these constraints, but it does not appear to do so consistently.

A discussion of upper bounds: https://iscinumpy.dev/post/bound-version-constraints/

Related to: https://github.com/encode/httpcore/pull/503

This could be extended to all of the versioning in the setup.py which mostly pin to major versions.

zanieb avatar Feb 18 '22 18:02 zanieb

I think that'd probably be okay.

As you can see from #503 we've a couple of changes we'd need to make to ensure our tests still pass. (Not because the behaviour is wrong, just because it's structured in a way that it fails type checking against the newly added annotations.)

The block to this is probably having someone work on resolving that.

tomchristie avatar Feb 21 '22 13:02 tomchristie

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Mar 25 '22 07:03 stale[bot]

Hi bot, this issue is still relevant. The upper pin remains and furthermore httpcore is not compatible with h11 0.13+.

zanieb avatar Mar 25 '22 15:03 zanieb

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Apr 25 '22 00:04 stale[bot]

A decision is still needed on https://github.com/encode/httpcore/pull/526 to support h11 0.13.

zanieb avatar Apr 25 '22 04:04 zanieb

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar May 31 '22 03:05 stale[bot]

Boop. https://github.com/encode/httpcore/pull/549

tomchristie avatar May 31 '22 14:05 tomchristie

A decision is still needed on #526 to support h11 0.13.

The decision is about PAUSED handling? If so that's resolved

graingert avatar Jun 19 '22 18:06 graingert

Right, let's consider https://github.com/encode/httpcore/pull/579 as resolving this. We'll keep the pinning (because, we're careful like that) but we've bumped up the version to the latest.

tomchristie avatar Sep 29 '22 10:09 tomchristie