python / typeshed

Collection of library stubs for Python, with static types
Other
4.37k stars 1.75k forks source link

requests.session().headers #9390

Closed evilensky closed 1 year ago

evilensky commented 1 year ago

According to this comment in the requests project:

We deliberately allow any mapping type to allow for a variety of use-cases. A change here won't be accepted

I think this means that the strict typing shown here is not correct:

https://github.com/python/typeshed/blob/main/stubs/requests/requests/sessions.pyi#L116

And instead something that satisfies a mutableMapping would be more correct?

The X to my Y problem is that I am very much used to working with .headers set to a built-in dict. And if it works and is supported by requests , could I submit a patch to the type stubs? Satisfying this typing constraint as it is right now feels incorrect given the long history of the dict() being sufficient.

srittau commented 1 year ago

For reference, this was changed in #3043, where the problems was that session.headers.copy() didn't work. But according to @sigmavirus24's comment, this is not guaranteed to work, so changing it back like you suggested sounds like a good idea to me.

evilensky commented 1 year ago

I gave it my best shot in the referenced pull request. thank you so much!