List of things that I currently think are required for a 1.0 release.
We should try to keep this scope as narrow as possible. Anything related to the external API is fair game, plus any critical level implementation issues.
Anything else that doesn't meet those criteria should be regarded as not strictly required for 1.0.
URL support str comparison. (See #113) Easy contributor issueURL interface, focusing on str vs bytes and escaped vs non-escaped. (eg. nail down questions like - does authority return a string that's idna-escaped or not?)response.raw and response.stream are currently a bytes async iterator. I think we probably want it to be a stream interface. Related to #123, #24)asgiref gets it right - need to take the same kind of approach.Am I missing anything else that strictly needs to get onto this list?
Do we want to make proxy support a part of 1.0?
I think we could probably either take it or leave it.
Also I know you've already got mkdocs setup, but what are your thoughts on switching to Sphinx to get code referencing to work? For example currently you can't click on httpx.Client and go to where it's documented.
We can pull all the styling from the current docs into a template so the look and feel will be the same.
Personally, I'd prefer not too. Or at least not unless we're streamlining a whole bunch of related projects under python-http. As long as it's something under encode I'd like to see it in-line with how other projects in this org are being managed - that keeps things simple from my POV.
Instead I'd rather get around to adding better interlinking and API docs generation to mkdocs.
May well be that my gauge on that evolves as things go, but that'd be where I'm at right now.
Re: mkdocs, pydoc-markdown handles the auto-generation of mkdocs pages from docstrings. It's not quite as smart as Sphinx in that it doesn't do cross-references well yet, though that's apparently planned for 3.x. I'd love to see it or mkdocs gain support for that.
Hey, should we make use of milestones to track work left to do for 1.0? And perhaps pin this issue so we can easily find it back/keep focus? :)
Also I think we can tick “Review Auth/retry interface” thanks to middleware?
Hey, should we make use of milestones to track work left to do for 1.0?
Probably, yes. There's certainly at the very least a clear distinction between "stuff required for 1.0" and "stuff not stictly required for 1.0", and it'd be good for us to start to narrow in on the target at this point.
I went ahead and pinned this issue, as well as marked a bunch of issues (some of them already closed so we don't feel like everything remains to be done 😄) as part of v1.0: https://github.com/encode/httpx/milestone/1. I also edited the issue description with more related issues so we can better see whether we addressed the various points in the near future.
Closing this off as gone-stale.
Most helpful comment
I went ahead and pinned this issue, as well as marked a bunch of issues (some of them already closed so we don't feel like everything remains to be done 😄) as part of v1.0: https://github.com/encode/httpx/milestone/1. I also edited the issue description with more related issues so we can better see whether we addressed the various points in the near future.